{
  "type": "Program",
  "start": 0,
  "end": 15664,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 399,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 26,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 7,
          "end": 12,
          "loc": {
            "start": {
              "line": 1,
              "column": 7
            },
            "end": {
              "line": 1,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 7,
            "end": 12,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 18,
        "end": 25,
        "loc": {
          "start": {
            "line": 1,
            "column": 18
          },
          "end": {
            "line": 1,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 27,
      "end": 66,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 39
        }
      },
      "specifiers": [
        {
          "type": "ImportNamespaceSpecifier",
          "start": 34,
          "end": 44,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 17
            }
          },
          "local": {
            "type": "Identifier",
            "start": 39,
            "end": 44,
            "loc": {
              "start": {
                "line": 2,
                "column": 12
              },
              "end": {
                "line": 2,
                "column": 17
              }
            },
            "name": "Error"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 50,
        "end": 65,
        "loc": {
          "start": {
            "line": 2,
            "column": 23
          },
          "end": {
            "line": 2,
            "column": 38
          }
        },
        "value": "../core/error",
        "rawValue": "../core/error",
        "raw": "'../core/error'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 67,
      "end": 134,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 67
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 76,
          "end": 80,
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 13
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 76,
            "end": 80,
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "name": "guid"
          },
          "local": {
            "type": "Identifier",
            "start": 76,
            "end": 80,
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "name": "guid"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 82,
          "end": 90,
          "loc": {
            "start": {
              "line": 3,
              "column": 15
            },
            "end": {
              "line": 3,
              "column": 23
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 82,
            "end": 90,
            "loc": {
              "start": {
                "line": 3,
                "column": 15
              },
              "end": {
                "line": 3,
                "column": 23
              }
            },
            "name": "queryDom"
          },
          "local": {
            "type": "Identifier",
            "start": 82,
            "end": 90,
            "loc": {
              "start": {
                "line": 3,
                "column": 15
              },
              "end": {
                "line": 3,
                "column": 23
              }
            },
            "name": "queryDom"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 92,
          "end": 108,
          "loc": {
            "start": {
              "line": 3,
              "column": 25
            },
            "end": {
              "line": 3,
              "column": 41
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 92,
            "end": 108,
            "loc": {
              "start": {
                "line": 3,
                "column": 25
              },
              "end": {
                "line": 3,
                "column": 41
              }
            },
            "name": "setPrefixedValue"
          },
          "local": {
            "type": "Identifier",
            "start": 92,
            "end": 108,
            "loc": {
              "start": {
                "line": 3,
                "column": 25
              },
              "end": {
                "line": 3,
                "column": 41
              }
            },
            "name": "setPrefixedValue"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 116,
        "end": 133,
        "loc": {
          "start": {
            "line": 3,
            "column": 49
          },
          "end": {
            "line": 3,
            "column": 66
          }
        },
        "value": "../core/helpers",
        "rawValue": "../core/helpers",
        "raw": "'../core/helpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 135,
      "end": 180,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 45
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 144,
          "end": 155,
          "loc": {
            "start": {
              "line": 4,
              "column": 9
            },
            "end": {
              "line": 4,
              "column": 20
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 144,
            "end": 155,
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 20
              }
            },
            "name": "lastCreated"
          },
          "local": {
            "type": "Identifier",
            "start": 144,
            "end": 155,
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 20
              }
            },
            "name": "lastCreated"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 163,
        "end": 179,
        "loc": {
          "start": {
            "line": 4,
            "column": 28
          },
          "end": {
            "line": 4,
            "column": 44
          }
        },
        "value": "../core/canvas",
        "rawValue": "../core/canvas",
        "raw": "'../core/canvas'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 181,
      "end": 217,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 36
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 188,
          "end": 197,
          "loc": {
            "start": {
              "line": 5,
              "column": 7
            },
            "end": {
              "line": 5,
              "column": 16
            }
          },
          "local": {
            "type": "Identifier",
            "start": 188,
            "end": 197,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 16
              }
            },
            "name": "DomEvents"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 203,
        "end": 216,
        "loc": {
          "start": {
            "line": 5,
            "column": 22
          },
          "end": {
            "line": 5,
            "column": 35
          }
        },
        "value": "../core/dom",
        "rawValue": "../core/dom",
        "raw": "'../core/dom'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 218,
      "end": 264,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 46
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 225,
          "end": 236,
          "loc": {
            "start": {
              "line": 6,
              "column": 7
            },
            "end": {
              "line": 6,
              "column": 18
            }
          },
          "local": {
            "type": "Identifier",
            "start": 225,
            "end": 236,
            "loc": {
              "start": {
                "line": 6,
                "column": 7
              },
              "end": {
                "line": 6,
                "column": 18
              }
            },
            "name": "Interaction"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 242,
        "end": 263,
        "loc": {
          "start": {
            "line": 6,
            "column": 24
          },
          "end": {
            "line": 6,
            "column": 45
          }
        },
        "value": "../core/interaction",
        "rawValue": "../core/interaction",
        "raw": "'../core/interaction'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 265,
      "end": 299,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 34
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 272,
          "end": 277,
          "loc": {
            "start": {
              "line": 7,
              "column": 7
            },
            "end": {
              "line": 7,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 272,
            "end": 277,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 12
              }
            },
            "name": "Stats"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 283,
        "end": 298,
        "loc": {
          "start": {
            "line": 7,
            "column": 18
          },
          "end": {
            "line": 7,
            "column": 33
          }
        },
        "value": "../misc/stats",
        "rawValue": "../misc/stats",
        "raw": "'../misc/stats'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 300,
      "end": 338,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 38
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 307,
          "end": 312,
          "loc": {
            "start": {
              "line": 8,
              "column": 7
            },
            "end": {
              "line": 8,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 307,
            "end": 312,
            "loc": {
              "start": {
                "line": 8,
                "column": 7
              },
              "end": {
                "line": 8,
                "column": 12
              }
            },
            "name": "Orbit"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 318,
        "end": 337,
        "loc": {
          "start": {
            "line": 8,
            "column": 18
          },
          "end": {
            "line": 8,
            "column": 37
          }
        },
        "value": "../controls/orbit",
        "rawValue": "../controls/orbit",
        "raw": "'../controls/orbit'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 339,
      "end": 386,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 47
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 346,
          "end": 357,
          "loc": {
            "start": {
              "line": 9,
              "column": 7
            },
            "end": {
              "line": 9,
              "column": 18
            }
          },
          "local": {
            "type": "Identifier",
            "start": 346,
            "end": 357,
            "loc": {
              "start": {
                "line": 9,
                "column": 7
              },
              "end": {
                "line": 9,
                "column": 18
              }
            },
            "name": "Perspective"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 363,
        "end": 385,
        "loc": {
          "start": {
            "line": 9,
            "column": 24
          },
          "end": {
            "line": 9,
            "column": 46
          }
        },
        "value": "../three/perspective",
        "rawValue": "../three/perspective",
        "raw": "'../three/perspective'"
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "* A view represents a portion of canvas on which webGL can draw.\n    The view is defined and tracked by a dom node on which the drawing take place. ",
          "start": 388,
          "end": 540,
          "loc": {
            "start": {
              "line": 11,
              "column": 0
            },
            "end": {
              "line": 12,
              "column": 85
            }
          },
          "range": [
            388,
            540
          ]
        }
      ]
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 541,
      "end": 15663,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 398,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 556,
        "end": 15663,
        "loc": {
          "start": {
            "line": 13,
            "column": 15
          },
          "end": {
            "line": 398,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 562,
          "end": 566,
          "loc": {
            "start": {
              "line": 13,
              "column": 21
            },
            "end": {
              "line": 13,
              "column": 25
            }
          },
          "name": "View",
          "leadingComments": null
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 567,
          "end": 15663,
          "loc": {
            "start": {
              "line": 13,
              "column": 26
            },
            "end": {
              "line": 398,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 2046,
              "end": 6971,
              "loc": {
                "start": {
                  "line": 36,
                  "column": 4
                },
                "end": {
                  "line": 153,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2046,
                "end": 2057,
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 4
                  },
                  "end": {
                    "line": 36,
                    "column": 15
                  }
                },
                "name": "constructor",
                "leadingComments": null
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 2057,
                "end": 6971,
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 15
                  },
                  "end": {
                    "line": 153,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 2058,
                    "end": 2078,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 16
                      },
                      "end": {
                        "line": 36,
                        "column": 36
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 2058,
                      "end": 2064,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 16
                        },
                        "end": {
                          "line": 36,
                          "column": 22
                        }
                      },
                      "name": "canvas"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 2067,
                      "end": 2078,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 25
                        },
                        "end": {
                          "line": 36,
                          "column": 36
                        }
                      },
                      "name": "lastCreated"
                    }
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 2080,
                    "end": 2092,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 38
                      },
                      "end": {
                        "line": 36,
                        "column": 50
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 2080,
                      "end": 2087,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 38
                        },
                        "end": {
                          "line": 36,
                          "column": 45
                        }
                      },
                      "name": "options"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 2090,
                      "end": 2092,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 48
                        },
                        "end": {
                          "line": 36,
                          "column": 50
                        }
                      },
                      "properties": []
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2094,
                  "end": 6971,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 52
                    },
                    "end": {
                      "line": 153,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2105,
                      "end": 2122,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 8
                        },
                        "end": {
                          "line": 38,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2105,
                        "end": 2121,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 8
                          },
                          "end": {
                            "line": 38,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2105,
                          "end": 2112,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 8
                            },
                            "end": {
                              "line": 38,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2105,
                            "end": 2109,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 8
                              },
                              "end": {
                                "line": 38,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2110,
                            "end": 2112,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 13
                              },
                              "end": {
                                "line": 38,
                                "column": 15
                              }
                            },
                            "name": "id"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2115,
                          "end": 2121,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 18
                            },
                            "end": {
                              "line": 38,
                              "column": 24
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2115,
                            "end": 2119,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 18
                              },
                              "end": {
                                "line": 38,
                                "column": 22
                              }
                            },
                            "name": "guid"
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2131,
                      "end": 2152,
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 8
                        },
                        "end": {
                          "line": 39,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2131,
                        "end": 2151,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 8
                          },
                          "end": {
                            "line": 39,
                            "column": 28
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2131,
                          "end": 2142,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 39,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2131,
                            "end": 2135,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 8
                              },
                              "end": {
                                "line": 39,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2136,
                            "end": 2142,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 13
                              },
                              "end": {
                                "line": 39,
                                "column": 19
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 2145,
                          "end": 2151,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 22
                            },
                            "end": {
                              "line": 39,
                              "column": 28
                            }
                          },
                          "name": "canvas"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2161,
                      "end": 2193,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 8
                        },
                        "end": {
                          "line": 40,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2161,
                        "end": 2192,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 8
                          },
                          "end": {
                            "line": 40,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2161,
                          "end": 2174,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 8
                            },
                            "end": {
                              "line": 40,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2161,
                            "end": 2165,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 8
                              },
                              "end": {
                                "line": 40,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2166,
                            "end": 2174,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 13
                              },
                              "end": {
                                "line": 40,
                                "column": 21
                              }
                            },
                            "name": "renderer"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2177,
                          "end": 2192,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 24
                            },
                            "end": {
                              "line": 40,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2177,
                            "end": 2183,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 24
                              },
                              "end": {
                                "line": 40,
                                "column": 30
                              }
                            },
                            "name": "canvas"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2184,
                            "end": 2192,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 31
                              },
                              "end": {
                                "line": 40,
                                "column": 39
                              }
                            },
                            "name": "renderer"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2202,
                      "end": 2228,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 8
                        },
                        "end": {
                          "line": 41,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2202,
                        "end": 2227,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 8
                          },
                          "end": {
                            "line": 41,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2202,
                          "end": 2223,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2202,
                            "end": 2206,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2207,
                            "end": 2223,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 13
                              },
                              "end": {
                                "line": 41,
                                "column": 29
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2226,
                          "end": 2227,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 32
                            },
                            "end": {
                              "line": 41,
                              "column": 33
                            }
                          },
                          "value": 2,
                          "rawValue": 2,
                          "raw": "2"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2237,
                      "end": 2252,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 8
                        },
                        "end": {
                          "line": 42,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2237,
                        "end": 2251,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 22
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2237,
                          "end": 2247,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2237,
                            "end": 2241,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 8
                              },
                              "end": {
                                "line": 42,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2242,
                            "end": 2247,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 13
                              },
                              "end": {
                                "line": 42,
                                "column": 18
                              }
                            },
                            "name": "force"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2250,
                          "end": 2251,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 21
                            },
                            "end": {
                              "line": 42,
                              "column": 22
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2261,
                      "end": 2279,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 8
                        },
                        "end": {
                          "line": 43,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2261,
                        "end": 2278,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 25
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2261,
                          "end": 2271,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2261,
                            "end": 2265,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 8
                              },
                              "end": {
                                "line": 43,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2266,
                            "end": 2271,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 13
                              },
                              "end": {
                                "line": 43,
                                "column": 18
                              }
                            },
                            "name": "dirty"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2274,
                          "end": 2278,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 21
                            },
                            "end": {
                              "line": 43,
                              "column": 25
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2288,
                      "end": 2388,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 8
                        },
                        "end": {
                          "line": 47,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2288,
                        "end": 2387,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 8
                          },
                          "end": {
                            "line": 47,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2288,
                          "end": 2299,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 8
                            },
                            "end": {
                              "line": 44,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2288,
                            "end": 2292,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 8
                              },
                              "end": {
                                "line": 44,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2293,
                            "end": 2299,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 13
                              },
                              "end": {
                                "line": 44,
                                "column": 19
                              }
                            },
                            "name": "bounds"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 2302,
                          "end": 2387,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 22
                            },
                            "end": {
                              "line": 47,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 2316,
                              "end": 2337,
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 12
                                },
                                "end": {
                                  "line": 45,
                                  "column": 33
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2316,
                                "end": 2319,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 15
                                  }
                                },
                                "name": "box"
                              },
                              "value": {
                                "type": "NewExpression",
                                "start": 2321,
                                "end": 2337,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 33
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2325,
                                  "end": 2335,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2325,
                                    "end": 2330,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 26
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2331,
                                    "end": 2335,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 31
                                      }
                                    },
                                    "name": "Box3"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2351,
                              "end": 2377,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 12
                                },
                                "end": {
                                  "line": 46,
                                  "column": 38
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2351,
                                "end": 2357,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 18
                                  }
                                },
                                "name": "sphere"
                              },
                              "value": {
                                "type": "NewExpression",
                                "start": 2359,
                                "end": 2377,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2363,
                                  "end": 2375,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2363,
                                    "end": 2368,
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 29
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2369,
                                    "end": 2375,
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 36
                                      }
                                    },
                                    "name": "Sphere"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "kind": "init"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2398,
                      "end": 2751,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2398,
                        "end": 2750,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 8
                          },
                          "end": {
                            "line": 60,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 2398,
                          "end": 2405,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 15
                            }
                          },
                          "name": "options"
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 2408,
                          "end": 2750,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 18
                            },
                            "end": {
                              "line": 60,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 2422,
                              "end": 2437,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 12
                                },
                                "end": {
                                  "line": 50,
                                  "column": 27
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2422,
                                "end": 2425,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 15
                                  }
                                },
                                "name": "dom"
                              },
                              "value": {
                                "type": "MemberExpression",
                                "start": 2427,
                                "end": 2437,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2427,
                                  "end": 2433,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 23
                                    }
                                  },
                                  "name": "canvas"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2434,
                                  "end": 2437,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 27
                                    }
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2451,
                              "end": 2470,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 12
                                },
                                "end": {
                                  "line": 51,
                                  "column": 31
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2451,
                                "end": 2463,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 24
                                  }
                                },
                                "name": "renderAlways"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2465,
                                "end": 2470,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 31
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2484,
                              "end": 2497,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 12
                                },
                                "end": {
                                  "line": 52,
                                  "column": 25
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2484,
                                "end": 2491,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 19
                                  }
                                },
                                "name": "visible"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2493,
                                "end": 2497,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 25
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2511,
                              "end": 2530,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 12
                                },
                                "end": {
                                  "line": 53,
                                  "column": 31
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2511,
                                "end": 2519,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 20
                                  }
                                },
                                "name": "callback"
                              },
                              "value": {
                                "type": "Identifier",
                                "start": 2521,
                                "end": 2530,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 31
                                  }
                                },
                                "name": "undefined"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2544,
                              "end": 2569,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 12
                                },
                                "end": {
                                  "line": 54,
                                  "column": 37
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2544,
                                "end": 2558,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 26
                                  }
                                },
                                "name": "callbackRender"
                              },
                              "value": {
                                "type": "Identifier",
                                "start": 2560,
                                "end": 2569,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 37
                                  }
                                },
                                "name": "undefined"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2583,
                              "end": 2607,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 12
                                },
                                "end": {
                                  "line": 55,
                                  "column": 36
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2583,
                                "end": 2596,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 25
                                  }
                                },
                                "name": "callbackAfter"
                              },
                              "value": {
                                "type": "Identifier",
                                "start": 2598,
                                "end": 2607,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 36
                                  }
                                },
                                "name": "undefined"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2621,
                              "end": 2657,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 12
                                },
                                "end": {
                                  "line": 56,
                                  "column": 48
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2621,
                                "end": 2631,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 22
                                  }
                                },
                                "name": "background"
                              },
                              "value": {
                                "type": "MemberExpression",
                                "start": 2633,
                                "end": 2657,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2633,
                                  "end": 2646,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 2633,
                                    "end": 2637,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2638,
                                    "end": 2646,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 37
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2647,
                                  "end": 2657,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 48
                                    }
                                  },
                                  "name": "clearColor"
                                },
                                "computed": false
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2671,
                              "end": 2681,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 12
                                },
                                "end": {
                                  "line": 57,
                                  "column": 22
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2671,
                                "end": 2678,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 19
                                  }
                                },
                                "name": "opacity"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2680,
                                "end": 2681,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 22
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2695,
                              "end": 2716,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 12
                                },
                                "end": {
                                  "line": 58,
                                  "column": 33
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2695,
                                "end": 2708,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 25
                                  }
                                },
                                "name": "defaultCursor"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2710,
                                "end": 2716,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 33
                                  }
                                },
                                "value": "auto",
                                "rawValue": "auto",
                                "raw": "'auto'"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "SpreadProperty",
                              "start": 2730,
                              "end": 2740,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 12
                                },
                                "end": {
                                  "line": 59,
                                  "column": 22
                                }
                              },
                              "argument": {
                                "type": "Identifier",
                                "start": 2733,
                                "end": 2740,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 22
                                  }
                                },
                                "name": "options"
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2761,
                      "end": 2794,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2761,
                        "end": 2793,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 8
                          },
                          "end": {
                            "line": 62,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2761,
                          "end": 2769,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 8
                            },
                            "end": {
                              "line": 62,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2761,
                            "end": 2765,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 8
                              },
                              "end": {
                                "line": 62,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2766,
                            "end": 2769,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 13
                              },
                              "end": {
                                "line": 62,
                                "column": 16
                              }
                            },
                            "name": "dom"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2772,
                          "end": 2793,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 19
                            },
                            "end": {
                              "line": 62,
                              "column": 40
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2772,
                            "end": 2780,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 19
                              },
                              "end": {
                                "line": 62,
                                "column": 27
                              }
                            },
                            "name": "queryDom"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2781,
                              "end": 2792,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 28
                                },
                                "end": {
                                  "line": 62,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2781,
                                "end": 2788,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 35
                                  }
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2789,
                                "end": 2792,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 39
                                  }
                                },
                                "name": "dom"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2803,
                      "end": 2844,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 8
                        },
                        "end": {
                          "line": 63,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2803,
                        "end": 2843,
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 8
                          },
                          "end": {
                            "line": 63,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2803,
                          "end": 2820,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 8
                            },
                            "end": {
                              "line": 63,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2803,
                            "end": 2807,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 8
                              },
                              "end": {
                                "line": 63,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2808,
                            "end": 2820,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 13
                              },
                              "end": {
                                "line": 63,
                                "column": 25
                              }
                            },
                            "name": "renderAlways"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2823,
                          "end": 2843,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 28
                            },
                            "end": {
                              "line": 63,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2823,
                            "end": 2830,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 28
                              },
                              "end": {
                                "line": 63,
                                "column": 35
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2831,
                            "end": 2843,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 36
                              },
                              "end": {
                                "line": 63,
                                "column": 48
                              }
                            },
                            "name": "renderAlways"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2853,
                      "end": 2884,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2853,
                        "end": 2883,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 8
                          },
                          "end": {
                            "line": 64,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2853,
                          "end": 2865,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2853,
                            "end": 2857,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 8
                              },
                              "end": {
                                "line": 64,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2858,
                            "end": 2865,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 13
                              },
                              "end": {
                                "line": 64,
                                "column": 20
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2868,
                          "end": 2883,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 23
                            },
                            "end": {
                              "line": 64,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2868,
                            "end": 2875,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 23
                              },
                              "end": {
                                "line": 64,
                                "column": 30
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2876,
                            "end": 2883,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 31
                              },
                              "end": {
                                "line": 64,
                                "column": 38
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2893,
                      "end": 2932,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 65,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2893,
                        "end": 2931,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 8
                          },
                          "end": {
                            "line": 65,
                            "column": 46
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2893,
                          "end": 2912,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 8
                            },
                            "end": {
                              "line": 65,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2893,
                            "end": 2897,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 8
                              },
                              "end": {
                                "line": 65,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2898,
                            "end": 2912,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 13
                              },
                              "end": {
                                "line": 65,
                                "column": 27
                              }
                            },
                            "name": "callbackBefore"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2915,
                          "end": 2931,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 30
                            },
                            "end": {
                              "line": 65,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2915,
                            "end": 2922,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 30
                              },
                              "end": {
                                "line": 65,
                                "column": 37
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2923,
                            "end": 2931,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 38
                              },
                              "end": {
                                "line": 65,
                                "column": 46
                              }
                            },
                            "name": "callback"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2941,
                      "end": 2986,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 8
                        },
                        "end": {
                          "line": 66,
                          "column": 53
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2941,
                        "end": 2985,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 8
                          },
                          "end": {
                            "line": 66,
                            "column": 52
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2941,
                          "end": 2960,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 8
                            },
                            "end": {
                              "line": 66,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2941,
                            "end": 2945,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 8
                              },
                              "end": {
                                "line": 66,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2946,
                            "end": 2960,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 13
                              },
                              "end": {
                                "line": 66,
                                "column": 27
                              }
                            },
                            "name": "callbackRender"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2963,
                          "end": 2985,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 30
                            },
                            "end": {
                              "line": 66,
                              "column": 52
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2963,
                            "end": 2970,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 30
                              },
                              "end": {
                                "line": 66,
                                "column": 37
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2971,
                            "end": 2985,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 38
                              },
                              "end": {
                                "line": 66,
                                "column": 52
                              }
                            },
                            "name": "callbackRender"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2995,
                      "end": 3038,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 8
                        },
                        "end": {
                          "line": 67,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2995,
                        "end": 3037,
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 8
                          },
                          "end": {
                            "line": 67,
                            "column": 50
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2995,
                          "end": 3013,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 8
                            },
                            "end": {
                              "line": 67,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2995,
                            "end": 2999,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 8
                              },
                              "end": {
                                "line": 67,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3000,
                            "end": 3013,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 13
                              },
                              "end": {
                                "line": 67,
                                "column": 26
                              }
                            },
                            "name": "callbackAfter"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 3016,
                          "end": 3037,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 29
                            },
                            "end": {
                              "line": 67,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3016,
                            "end": 3023,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 29
                              },
                              "end": {
                                "line": 67,
                                "column": 36
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3024,
                            "end": 3037,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 37
                              },
                              "end": {
                                "line": 67,
                                "column": 50
                              }
                            },
                            "name": "callbackAfter"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3047,
                      "end": 3084,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 8
                        },
                        "end": {
                          "line": 68,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3047,
                        "end": 3083,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 8
                          },
                          "end": {
                            "line": 68,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3047,
                          "end": 3062,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 8
                            },
                            "end": {
                              "line": 68,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3047,
                            "end": 3051,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 8
                              },
                              "end": {
                                "line": 68,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3052,
                            "end": 3062,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 13
                              },
                              "end": {
                                "line": 68,
                                "column": 23
                              }
                            },
                            "name": "background"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 3065,
                          "end": 3083,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 26
                            },
                            "end": {
                              "line": 68,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3065,
                            "end": 3072,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 26
                              },
                              "end": {
                                "line": 68,
                                "column": 33
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3073,
                            "end": 3083,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 34
                              },
                              "end": {
                                "line": 68,
                                "column": 44
                              }
                            },
                            "name": "background"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3093,
                      "end": 3124,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 8
                        },
                        "end": {
                          "line": 69,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3093,
                        "end": 3123,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 8
                          },
                          "end": {
                            "line": 69,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3093,
                          "end": 3105,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3093,
                            "end": 3097,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 8
                              },
                              "end": {
                                "line": 69,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3098,
                            "end": 3105,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 13
                              },
                              "end": {
                                "line": 69,
                                "column": 20
                              }
                            },
                            "name": "opacity"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 3108,
                          "end": 3123,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 23
                            },
                            "end": {
                              "line": 69,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3108,
                            "end": 3115,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 23
                              },
                              "end": {
                                "line": 69,
                                "column": 30
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3116,
                            "end": 3123,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 31
                              },
                              "end": {
                                "line": 69,
                                "column": 38
                              }
                            },
                            "name": "opacity"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3133,
                      "end": 3176,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 8
                        },
                        "end": {
                          "line": 70,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3133,
                        "end": 3175,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 8
                          },
                          "end": {
                            "line": 70,
                            "column": 50
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3133,
                          "end": 3151,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3133,
                            "end": 3137,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 8
                              },
                              "end": {
                                "line": 70,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3138,
                            "end": 3151,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 13
                              },
                              "end": {
                                "line": 70,
                                "column": 26
                              }
                            },
                            "name": "defaultCursor"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 3154,
                          "end": 3175,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 29
                            },
                            "end": {
                              "line": 70,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3154,
                            "end": 3161,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 29
                              },
                              "end": {
                                "line": 70,
                                "column": 36
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3162,
                            "end": 3175,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 37
                              },
                              "end": {
                                "line": 70,
                                "column": 50
                              }
                            },
                            "name": "defaultCursor"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " The tracked dom node should hide overflows",
                          "start": 3186,
                          "end": 3231,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 53
                            }
                          },
                          "range": [
                            3186,
                            3231
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3240,
                      "end": 3274,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 8
                        },
                        "end": {
                          "line": 73,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3240,
                        "end": 3273,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 8
                          },
                          "end": {
                            "line": 73,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3240,
                          "end": 3262,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 8
                            },
                            "end": {
                              "line": 73,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3240,
                            "end": 3254,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 8
                              },
                              "end": {
                                "line": 73,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3240,
                              "end": 3248,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 8
                                },
                                "end": {
                                  "line": 73,
                                  "column": 16
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 3240,
                                "end": 3244,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 12
                                  }
                                },
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3245,
                                "end": 3248,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 16
                                  }
                                },
                                "name": "dom"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3249,
                              "end": 3254,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 17
                                },
                                "end": {
                                  "line": 73,
                                  "column": 22
                                }
                              },
                              "name": "style"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3255,
                            "end": 3262,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 23
                              },
                              "end": {
                                "line": 73,
                                "column": 30
                              }
                            },
                            "name": "overlay"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3265,
                          "end": 3273,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 33
                            },
                            "end": {
                              "line": 73,
                              "column": 41
                            }
                          },
                          "value": "hidden",
                          "rawValue": "hidden",
                          "raw": "'hidden'"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " The tracked dom node should hide overflows",
                          "start": 3186,
                          "end": 3231,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 53
                            }
                          },
                          "range": [
                            3186,
                            3231
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " A border will hide gaps caused by imprecise layout returns",
                          "start": 3283,
                          "end": 3344,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 69
                            }
                          },
                          "range": [
                            3283,
                            3344
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 3353,
                      "end": 3489,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 83
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3357,
                        "end": 3404,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 12
                          },
                          "end": {
                            "line": 75,
                            "column": 59
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3357,
                          "end": 3375,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 12
                            },
                            "end": {
                              "line": 75,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3357,
                            "end": 3364,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 12
                              },
                              "end": {
                                "line": 75,
                                "column": 19
                              }
                            },
                            "name": "options",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3365,
                            "end": 3375,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 20
                              },
                              "end": {
                                "line": 75,
                                "column": 30
                              }
                            },
                            "name": "background"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": "!==",
                        "right": {
                          "type": "MemberExpression",
                          "start": 3380,
                          "end": 3404,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 35
                            },
                            "end": {
                              "line": 75,
                              "column": 59
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3380,
                            "end": 3393,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 35
                              },
                              "end": {
                                "line": 75,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3380,
                              "end": 3384,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 35
                                },
                                "end": {
                                  "line": 75,
                                  "column": 39
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3385,
                              "end": 3393,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 40
                                },
                                "end": {
                                  "line": 75,
                                  "column": 48
                                }
                              },
                              "name": "renderer"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3394,
                            "end": 3404,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 49
                              },
                              "end": {
                                "line": 75,
                                "column": 59
                              }
                            },
                            "name": "clearColor"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 3418,
                        "end": 3489,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 12
                          },
                          "end": {
                            "line": 76,
                            "column": 83
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 3418,
                          "end": 3488,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 12
                            },
                            "end": {
                              "line": 76,
                              "column": 82
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 3418,
                            "end": 3439,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 12
                              },
                              "end": {
                                "line": 76,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3418,
                              "end": 3432,
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 12
                                },
                                "end": {
                                  "line": 76,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 3418,
                                "end": 3426,
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 20
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 3418,
                                  "end": 3422,
                                  "loc": {
                                    "start": {
                                      "line": 76,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 76,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3423,
                                  "end": 3426,
                                  "loc": {
                                    "start": {
                                      "line": 76,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 76,
                                      "column": 20
                                    }
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3427,
                                "end": 3432,
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 26
                                  }
                                },
                                "name": "style"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3433,
                              "end": 3439,
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 27
                                },
                                "end": {
                                  "line": 76,
                                  "column": 33
                                }
                              },
                              "name": "border"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "TemplateLiteral",
                            "start": 3442,
                            "end": 3488,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 36
                              },
                              "end": {
                                "line": 76,
                                "column": 82
                              }
                            },
                            "expressions": [
                              {
                                "type": "CallExpression",
                                "start": 3456,
                                "end": 3486,
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 80
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3456,
                                  "end": 3484,
                                  "loc": {
                                    "start": {
                                      "line": 76,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 76,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 3456,
                                    "end": 3471,
                                    "loc": {
                                      "start": {
                                        "line": 76,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 76,
                                        "column": 65
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3456,
                                      "end": 3460,
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 54
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3461,
                                      "end": 3471,
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 65
                                        }
                                      },
                                      "name": "background"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3472,
                                    "end": 3484,
                                    "loc": {
                                      "start": {
                                        "line": 76,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 76,
                                        "column": 78
                                      }
                                    },
                                    "name": "getHexString"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            ],
                            "quasis": [
                              {
                                "type": "TemplateElement",
                                "start": 3443,
                                "end": 3454,
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 48
                                  }
                                },
                                "value": {
                                  "raw": "2px solid #",
                                  "cooked": "2px solid #"
                                },
                                "tail": false
                              },
                              {
                                "type": "TemplateElement",
                                "start": 3487,
                                "end": 3487,
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 81
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 81
                                  }
                                },
                                "value": {
                                  "raw": "",
                                  "cooked": ""
                                },
                                "tail": true
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " A border will hide gaps caused by imprecise layout returns",
                          "start": 3283,
                          "end": 3344,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 69
                            }
                          },
                          "range": [
                            3283,
                            3344
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3499,
                      "end": 5622,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 8
                        },
                        "end": {
                          "line": 116,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3499,
                        "end": 5621,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 8
                          },
                          "end": {
                            "line": 116,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3499,
                          "end": 3509,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 8
                            },
                            "end": {
                              "line": 78,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3499,
                            "end": 3503,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 8
                              },
                              "end": {
                                "line": 78,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3504,
                            "end": 3509,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 13
                              },
                              "end": {
                                "line": 78,
                                "column": 18
                              }
                            },
                            "name": "input"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 3512,
                          "end": 5621,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 21
                            },
                            "end": {
                              "line": 116,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3516,
                            "end": 3525,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 25
                              },
                              "end": {
                                "line": 78,
                                "column": 34
                              }
                            },
                            "name": "DomEvents"
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 3526,
                              "end": 3530,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 35
                                },
                                "end": {
                                  "line": 78,
                                  "column": 39
                                }
                              }
                            },
                            {
                              "type": "ObjectExpression",
                              "start": 3532,
                              "end": 5620,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 41
                                },
                                "end": {
                                  "line": 116,
                                  "column": 9
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 3546,
                                  "end": 3752,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 3546,
                                    "end": 3551,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 17
                                      }
                                    },
                                    "name": "wheel"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 3553,
                                    "end": 3752,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 3553,
                                        "end": 3558,
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 24
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 3562,
                                      "end": 3752,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3580,
                                          "end": 3614,
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 50
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 3580,
                                            "end": 3613,
                                            "loc": {
                                              "start": {
                                                "line": 80,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 80,
                                                "column": 49
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3580,
                                              "end": 3606,
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3580,
                                                "end": 3593,
                                                "loc": {
                                                  "start": {
                                                    "line": 80,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 80,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3580,
                                                  "end": 3584,
                                                  "loc": {
                                                    "start": {
                                                      "line": 80,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 80,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3585,
                                                  "end": 3593,
                                                  "loc": {
                                                    "start": {
                                                      "line": 80,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 80,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3594,
                                                "end": 3606,
                                                "loc": {
                                                  "start": {
                                                    "line": 80,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 80,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "onMouseWheel"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 3607,
                                                "end": 3612,
                                                "loc": {
                                                  "start": {
                                                    "line": 80,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 80,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3631,
                                          "end": 3738,
                                          "loc": {
                                            "start": {
                                              "line": 81,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 81,
                                              "column": 123
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 3631,
                                            "end": 3737,
                                            "loc": {
                                              "start": {
                                                "line": 81,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 81,
                                                "column": 122
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 3631,
                                              "end": 3697,
                                              "loc": {
                                                "start": {
                                                  "line": 81,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 81,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 3631,
                                                "end": 3659,
                                                "loc": {
                                                  "start": {
                                                    "line": 81,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 81,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 3631,
                                                  "end": 3639,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3631,
                                                    "end": 3635,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3636,
                                                    "end": 3639,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3643,
                                                  "end": 3659,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3643,
                                                    "end": 3647,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3648,
                                                    "end": 3659,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 3663,
                                                "end": 3697,
                                                "loc": {
                                                  "start": {
                                                    "line": 81,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 81,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 3663,
                                                  "end": 3679,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3663,
                                                    "end": 3667,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3668,
                                                    "end": 3679,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3684,
                                                  "end": 3697,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3684,
                                                    "end": 3688,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3689,
                                                    "end": 3697,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 3701,
                                              "end": 3737,
                                              "loc": {
                                                "start": {
                                                  "line": 81,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 81,
                                                  "column": 122
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 3701,
                                                "end": 3730,
                                                "loc": {
                                                  "start": {
                                                    "line": 81,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 81,
                                                    "column": 115
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3701,
                                                  "end": 3717,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3701,
                                                    "end": 3705,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3706,
                                                    "end": 3717,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3718,
                                                  "end": 3730,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 115
                                                    }
                                                  },
                                                  "name": "onMouseWheel"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 3731,
                                                  "end": 3736,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 116
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 121
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 3766,
                                  "end": 3852,
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 3766,
                                    "end": 3774,
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 20
                                      }
                                    },
                                    "name": "mouseout"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 3776,
                                    "end": 3852,
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 3776,
                                        "end": 3781,
                                        "loc": {
                                          "start": {
                                            "line": 83,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 83,
                                            "column": 27
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 3785,
                                      "end": 3852,
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 85,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3803,
                                          "end": 3838,
                                          "loc": {
                                            "start": {
                                              "line": 84,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 84,
                                              "column": 51
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 3803,
                                            "end": 3837,
                                            "loc": {
                                              "start": {
                                                "line": 84,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 84,
                                                "column": 50
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3803,
                                              "end": 3830,
                                              "loc": {
                                                "start": {
                                                  "line": 84,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 84,
                                                  "column": 43
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3803,
                                                "end": 3819,
                                                "loc": {
                                                  "start": {
                                                    "line": 84,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 84,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3803,
                                                  "end": 3807,
                                                  "loc": {
                                                    "start": {
                                                      "line": 84,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 84,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3808,
                                                  "end": 3819,
                                                  "loc": {
                                                    "start": {
                                                      "line": 84,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 84,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3820,
                                                "end": 3830,
                                                "loc": {
                                                  "start": {
                                                    "line": 84,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 84,
                                                    "column": 43
                                                  }
                                                },
                                                "name": "onMouseOut"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 3831,
                                                "end": 3836,
                                                "loc": {
                                                  "start": {
                                                    "line": 84,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 84,
                                                    "column": 49
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 3866,
                                  "end": 4177,
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 3866,
                                    "end": 3875,
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 21
                                      }
                                    },
                                    "name": "mousemove"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 3877,
                                    "end": 4177,
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 3877,
                                        "end": 3882,
                                        "loc": {
                                          "start": {
                                            "line": 86,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 86,
                                            "column": 28
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 3886,
                                      "end": 4177,
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3904,
                                          "end": 3940,
                                          "loc": {
                                            "start": {
                                              "line": 87,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 87,
                                              "column": 52
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 3904,
                                            "end": 3939,
                                            "loc": {
                                              "start": {
                                                "line": 87,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 87,
                                                "column": 51
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3904,
                                              "end": 3932,
                                              "loc": {
                                                "start": {
                                                  "line": 87,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 87,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3904,
                                                "end": 3920,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3904,
                                                  "end": 3908,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3909,
                                                  "end": 3920,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3921,
                                                "end": 3932,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "onMouseMove"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 3933,
                                                "end": 3938,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 50
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3957,
                                          "end": 4015,
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 74
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 3957,
                                            "end": 4014,
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 73
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 3957,
                                              "end": 3978,
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 37
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3957,
                                                "end": 3973,
                                                "loc": {
                                                  "start": {
                                                    "line": 88,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 88,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3957,
                                                  "end": 3967,
                                                  "loc": {
                                                    "start": {
                                                      "line": 88,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 88,
                                                      "column": 26
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3957,
                                                    "end": 3961,
                                                    "loc": {
                                                      "start": {
                                                        "line": 88,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 88,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3962,
                                                    "end": 3967,
                                                    "loc": {
                                                      "start": {
                                                        "line": 88,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 88,
                                                        "column": 26
                                                      }
                                                    },
                                                    "name": "input"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3968,
                                                  "end": 3973,
                                                  "loc": {
                                                    "start": {
                                                      "line": 88,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 88,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "mouse"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3974,
                                                "end": 3978,
                                                "loc": {
                                                  "start": {
                                                    "line": 88,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 88,
                                                    "column": 37
                                                  }
                                                },
                                                "name": "down"
                                              },
                                              "computed": false
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 3982,
                                              "end": 4014,
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 73
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 3982,
                                                "end": 4007,
                                                "loc": {
                                                  "start": {
                                                    "line": 88,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 88,
                                                    "column": 66
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3982,
                                                  "end": 3995,
                                                  "loc": {
                                                    "start": {
                                                      "line": 88,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 88,
                                                      "column": 54
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3982,
                                                    "end": 3986,
                                                    "loc": {
                                                      "start": {
                                                        "line": 88,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 88,
                                                        "column": 45
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3987,
                                                    "end": 3995,
                                                    "loc": {
                                                      "start": {
                                                        "line": 88,
                                                        "column": 46
                                                      },
                                                      "end": {
                                                        "line": 88,
                                                        "column": 54
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3996,
                                                  "end": 4007,
                                                  "loc": {
                                                    "start": {
                                                      "line": 88,
                                                      "column": 55
                                                    },
                                                    "end": {
                                                      "line": 88,
                                                      "column": 66
                                                    }
                                                  },
                                                  "name": "onMouseMove"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4008,
                                                  "end": 4013,
                                                  "loc": {
                                                    "start": {
                                                      "line": 88,
                                                      "column": 67
                                                    },
                                                    "end": {
                                                      "line": 88,
                                                      "column": 72
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4032,
                                          "end": 4163,
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 147
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 4032,
                                            "end": 4162,
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 146
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 4032,
                                              "end": 4123,
                                              "loc": {
                                                "start": {
                                                  "line": 89,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 89,
                                                  "column": 107
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 4032,
                                                "end": 4085,
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 69
                                                  }
                                                },
                                                "left": {
                                                  "type": "LogicalExpression",
                                                  "start": 4032,
                                                  "end": 4065,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 49
                                                    }
                                                  },
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "start": 4032,
                                                    "end": 4053,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 37
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 4032,
                                                      "end": 4048,
                                                      "loc": {
                                                        "start": {
                                                          "line": 89,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 89,
                                                          "column": 32
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "start": 4032,
                                                        "end": 4042,
                                                        "loc": {
                                                          "start": {
                                                            "line": 89,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 89,
                                                            "column": 26
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "ThisExpression",
                                                          "start": 4032,
                                                          "end": 4036,
                                                          "loc": {
                                                            "start": {
                                                              "line": 89,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 89,
                                                              "column": 20
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 4037,
                                                          "end": 4042,
                                                          "loc": {
                                                            "start": {
                                                              "line": 89,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 89,
                                                              "column": 26
                                                            }
                                                          },
                                                          "name": "input"
                                                        },
                                                        "computed": false
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4043,
                                                        "end": 4048,
                                                        "loc": {
                                                          "start": {
                                                            "line": 89,
                                                            "column": 27
                                                          },
                                                          "end": {
                                                            "line": 89,
                                                            "column": 32
                                                          }
                                                        },
                                                        "name": "mouse"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4049,
                                                      "end": 4053,
                                                      "loc": {
                                                        "start": {
                                                          "line": 89,
                                                          "column": 33
                                                        },
                                                        "end": {
                                                          "line": 89,
                                                          "column": 37
                                                        }
                                                      },
                                                      "name": "down"
                                                    },
                                                    "computed": false
                                                  },
                                                  "operator": "&&",
                                                  "right": {
                                                    "type": "MemberExpression",
                                                    "start": 4057,
                                                    "end": 4065,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 49
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 4057,
                                                      "end": 4061,
                                                      "loc": {
                                                        "start": {
                                                          "line": 89,
                                                          "column": 41
                                                        },
                                                        "end": {
                                                          "line": 89,
                                                          "column": 45
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4062,
                                                      "end": 4065,
                                                      "loc": {
                                                        "start": {
                                                          "line": 89,
                                                          "column": 46
                                                        },
                                                        "end": {
                                                          "line": 89,
                                                          "column": 49
                                                        }
                                                      },
                                                      "name": "hud"
                                                    },
                                                    "computed": false
                                                  }
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4069,
                                                  "end": 4085,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 69
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4069,
                                                    "end": 4073,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 57
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4074,
                                                    "end": 4085,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 58
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 69
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 4089,
                                                "end": 4123,
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 73
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 107
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4089,
                                                  "end": 4105,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 73
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 89
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4089,
                                                    "end": 4093,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 73
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 77
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4094,
                                                    "end": 4105,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 78
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 89
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4110,
                                                  "end": 4123,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 94
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 107
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4110,
                                                    "end": 4114,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 94
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 98
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4115,
                                                    "end": 4123,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 99
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 107
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 4127,
                                              "end": 4162,
                                              "loc": {
                                                "start": {
                                                  "line": 89,
                                                  "column": 111
                                                },
                                                "end": {
                                                  "line": 89,
                                                  "column": 146
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4127,
                                                "end": 4155,
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 111
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 139
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4127,
                                                  "end": 4143,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 111
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 127
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4127,
                                                    "end": 4131,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 111
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 115
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4132,
                                                    "end": 4143,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 116
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 127
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4144,
                                                  "end": 4155,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 128
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 139
                                                    }
                                                  },
                                                  "name": "onMouseMove"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4156,
                                                  "end": 4161,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 140
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 145
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 4191,
                                  "end": 4452,
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 95,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 4191,
                                    "end": 4200,
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 21
                                      }
                                    },
                                    "name": "mousedown"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 4202,
                                    "end": 4452,
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 95,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 4202,
                                        "end": 4207,
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 28
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4211,
                                      "end": 4452,
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4229,
                                          "end": 4265,
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 52
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4229,
                                            "end": 4264,
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 92,
                                                "column": 51
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4229,
                                              "end": 4257,
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4229,
                                                "end": 4245,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4229,
                                                  "end": 4233,
                                                  "loc": {
                                                    "start": {
                                                      "line": 92,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 92,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4234,
                                                  "end": 4245,
                                                  "loc": {
                                                    "start": {
                                                      "line": 92,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 92,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4246,
                                                "end": 4257,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "onMouseDown"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4258,
                                                "end": 4263,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 50
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4282,
                                          "end": 4315,
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 93,
                                              "column": 49
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4282,
                                            "end": 4314,
                                            "loc": {
                                              "start": {
                                                "line": 93,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 93,
                                                "column": 48
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4282,
                                              "end": 4307,
                                              "loc": {
                                                "start": {
                                                  "line": 93,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 93,
                                                  "column": 41
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4282,
                                                "end": 4295,
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4282,
                                                  "end": 4286,
                                                  "loc": {
                                                    "start": {
                                                      "line": 93,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 93,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4287,
                                                  "end": 4295,
                                                  "loc": {
                                                    "start": {
                                                      "line": 93,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 93,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4296,
                                                "end": 4307,
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "onMouseDown"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4308,
                                                "end": 4313,
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 47
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4332,
                                          "end": 4438,
                                          "loc": {
                                            "start": {
                                              "line": 94,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 94,
                                              "column": 122
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 4332,
                                            "end": 4437,
                                            "loc": {
                                              "start": {
                                                "line": 94,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 94,
                                                "column": 121
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 4332,
                                              "end": 4398,
                                              "loc": {
                                                "start": {
                                                  "line": 94,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 94,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 4332,
                                                "end": 4360,
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4332,
                                                  "end": 4340,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4332,
                                                    "end": 4336,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4337,
                                                    "end": 4340,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4344,
                                                  "end": 4360,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4344,
                                                    "end": 4348,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4349,
                                                    "end": 4360,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 4364,
                                                "end": 4398,
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4364,
                                                  "end": 4380,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4364,
                                                    "end": 4368,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4369,
                                                    "end": 4380,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4385,
                                                  "end": 4398,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4385,
                                                    "end": 4389,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4390,
                                                    "end": 4398,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 4402,
                                              "end": 4437,
                                              "loc": {
                                                "start": {
                                                  "line": 94,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 94,
                                                  "column": 121
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4402,
                                                "end": 4430,
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 114
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4402,
                                                  "end": 4418,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4402,
                                                    "end": 4406,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4407,
                                                    "end": 4418,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4419,
                                                  "end": 4430,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 114
                                                    }
                                                  },
                                                  "name": "onMouseDown"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4431,
                                                  "end": 4436,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 115
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 120
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 4466,
                                  "end": 4719,
                                  "loc": {
                                    "start": {
                                      "line": 96,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 100,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 4466,
                                    "end": 4473,
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 19
                                      }
                                    },
                                    "name": "mouseup"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 4475,
                                    "end": 4719,
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 4475,
                                        "end": 4480,
                                        "loc": {
                                          "start": {
                                            "line": 96,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 96,
                                            "column": 26
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4484,
                                      "end": 4719,
                                      "loc": {
                                        "start": {
                                          "line": 96,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4502,
                                          "end": 4536,
                                          "loc": {
                                            "start": {
                                              "line": 97,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 97,
                                              "column": 50
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4502,
                                            "end": 4535,
                                            "loc": {
                                              "start": {
                                                "line": 97,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 97,
                                                "column": 49
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4502,
                                              "end": 4528,
                                              "loc": {
                                                "start": {
                                                  "line": 97,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 97,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4502,
                                                "end": 4518,
                                                "loc": {
                                                  "start": {
                                                    "line": 97,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 97,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4502,
                                                  "end": 4506,
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4507,
                                                  "end": 4518,
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4519,
                                                "end": 4528,
                                                "loc": {
                                                  "start": {
                                                    "line": 97,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 97,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "onMouseUp"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4529,
                                                "end": 4534,
                                                "loc": {
                                                  "start": {
                                                    "line": 97,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 97,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4553,
                                          "end": 4584,
                                          "loc": {
                                            "start": {
                                              "line": 98,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 98,
                                              "column": 47
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4553,
                                            "end": 4583,
                                            "loc": {
                                              "start": {
                                                "line": 98,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 98,
                                                "column": 46
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4553,
                                              "end": 4576,
                                              "loc": {
                                                "start": {
                                                  "line": 98,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 98,
                                                  "column": 39
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4553,
                                                "end": 4566,
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4553,
                                                  "end": 4557,
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4558,
                                                  "end": 4566,
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4567,
                                                "end": 4576,
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 39
                                                  }
                                                },
                                                "name": "onMouseUp"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4577,
                                                "end": 4582,
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 45
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4601,
                                          "end": 4705,
                                          "loc": {
                                            "start": {
                                              "line": 99,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 99,
                                              "column": 120
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 4601,
                                            "end": 4704,
                                            "loc": {
                                              "start": {
                                                "line": 99,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 99,
                                                "column": 119
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 4601,
                                              "end": 4667,
                                              "loc": {
                                                "start": {
                                                  "line": 99,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 99,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 4601,
                                                "end": 4629,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4601,
                                                  "end": 4609,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4601,
                                                    "end": 4605,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4606,
                                                    "end": 4609,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4613,
                                                  "end": 4629,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4613,
                                                    "end": 4617,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4618,
                                                    "end": 4629,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 4633,
                                                "end": 4667,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4633,
                                                  "end": 4649,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4633,
                                                    "end": 4637,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4638,
                                                    "end": 4649,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4654,
                                                  "end": 4667,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4654,
                                                    "end": 4658,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4659,
                                                    "end": 4667,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 4671,
                                              "end": 4704,
                                              "loc": {
                                                "start": {
                                                  "line": 99,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 99,
                                                  "column": 119
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4671,
                                                "end": 4697,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 112
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4671,
                                                  "end": 4687,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4671,
                                                    "end": 4675,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4676,
                                                    "end": 4687,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4688,
                                                  "end": 4697,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 112
                                                    }
                                                  },
                                                  "name": "onMouseUp"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4698,
                                                  "end": 4703,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 113
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 118
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 4733,
                                  "end": 5020,
                                  "loc": {
                                    "start": {
                                      "line": 101,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 4733,
                                    "end": 4743,
                                    "loc": {
                                      "start": {
                                        "line": 101,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 101,
                                        "column": 22
                                      }
                                    },
                                    "name": "touchstart"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 4745,
                                    "end": 5020,
                                    "loc": {
                                      "start": {
                                        "line": 101,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 4745,
                                        "end": 4750,
                                        "loc": {
                                          "start": {
                                            "line": 101,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 101,
                                            "column": 29
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4754,
                                      "end": 5020,
                                      "loc": {
                                        "start": {
                                          "line": 101,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4848,
                                          "end": 4882,
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 50
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4848,
                                            "end": 4881,
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 49
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4848,
                                              "end": 4874,
                                              "loc": {
                                                "start": {
                                                  "line": 103,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 103,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4848,
                                                "end": 4861,
                                                "loc": {
                                                  "start": {
                                                    "line": 103,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 103,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4848,
                                                  "end": 4852,
                                                  "loc": {
                                                    "start": {
                                                      "line": 103,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 103,
                                                      "column": 20
                                                    }
                                                  },
                                                  "leadingComments": null
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4853,
                                                  "end": 4861,
                                                  "loc": {
                                                    "start": {
                                                      "line": 103,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 103,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false,
                                                "leadingComments": null
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4862,
                                                "end": 4874,
                                                "loc": {
                                                  "start": {
                                                    "line": 103,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 103,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "onTouchStart"
                                              },
                                              "computed": false,
                                              "leadingComments": null
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4875,
                                                "end": 4880,
                                                "loc": {
                                                  "start": {
                                                    "line": 103,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 103,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ],
                                            "leadingComments": null
                                          },
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": "this.interactive && this.interaction.onTouchStart(state);",
                                              "start": 4772,
                                              "end": 4831,
                                              "loc": {
                                                "start": {
                                                  "line": 102,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 102,
                                                  "column": 75
                                                }
                                              },
                                              "range": [
                                                4772,
                                                4831
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4899,
                                          "end": 5006,
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 123
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 4899,
                                            "end": 5005,
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 122
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 4899,
                                              "end": 4965,
                                              "loc": {
                                                "start": {
                                                  "line": 104,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 104,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 4899,
                                                "end": 4927,
                                                "loc": {
                                                  "start": {
                                                    "line": 104,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 104,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4899,
                                                  "end": 4907,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4899,
                                                    "end": 4903,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4904,
                                                    "end": 4907,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4911,
                                                  "end": 4927,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4911,
                                                    "end": 4915,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4916,
                                                    "end": 4927,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 4931,
                                                "end": 4965,
                                                "loc": {
                                                  "start": {
                                                    "line": 104,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 104,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4931,
                                                  "end": 4947,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4931,
                                                    "end": 4935,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4936,
                                                    "end": 4947,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4952,
                                                  "end": 4965,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4952,
                                                    "end": 4956,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4957,
                                                    "end": 4965,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 4969,
                                              "end": 5005,
                                              "loc": {
                                                "start": {
                                                  "line": 104,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 104,
                                                  "column": 122
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4969,
                                                "end": 4998,
                                                "loc": {
                                                  "start": {
                                                    "line": 104,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 104,
                                                    "column": 115
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4969,
                                                  "end": 4985,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4969,
                                                    "end": 4973,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4974,
                                                    "end": 4985,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4986,
                                                  "end": 4998,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 115
                                                    }
                                                  },
                                                  "name": "onTouchStart"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4999,
                                                  "end": 5004,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 116
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 121
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 5034,
                                  "end": 5317,
                                  "loc": {
                                    "start": {
                                      "line": 106,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 110,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 5034,
                                    "end": 5043,
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 21
                                      }
                                    },
                                    "name": "touchmove"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 5045,
                                    "end": 5317,
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 5045,
                                        "end": 5050,
                                        "loc": {
                                          "start": {
                                            "line": 106,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 106,
                                            "column": 28
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 5054,
                                      "end": 5317,
                                      "loc": {
                                        "start": {
                                          "line": 106,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5147,
                                          "end": 5180,
                                          "loc": {
                                            "start": {
                                              "line": 108,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 108,
                                              "column": 49
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 5147,
                                            "end": 5179,
                                            "loc": {
                                              "start": {
                                                "line": 108,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 108,
                                                "column": 48
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5147,
                                              "end": 5172,
                                              "loc": {
                                                "start": {
                                                  "line": 108,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 108,
                                                  "column": 41
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 5147,
                                                "end": 5160,
                                                "loc": {
                                                  "start": {
                                                    "line": 108,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 108,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5147,
                                                  "end": 5151,
                                                  "loc": {
                                                    "start": {
                                                      "line": 108,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 108,
                                                      "column": 20
                                                    }
                                                  },
                                                  "leadingComments": null
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5152,
                                                  "end": 5160,
                                                  "loc": {
                                                    "start": {
                                                      "line": 108,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 108,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false,
                                                "leadingComments": null
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5161,
                                                "end": 5172,
                                                "loc": {
                                                  "start": {
                                                    "line": 108,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 108,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "onTouchMove"
                                              },
                                              "computed": false,
                                              "leadingComments": null
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5173,
                                                "end": 5178,
                                                "loc": {
                                                  "start": {
                                                    "line": 108,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 108,
                                                    "column": 47
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ],
                                            "leadingComments": null
                                          },
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": "this.interactive && this.interaction.onTouchMove(state);",
                                              "start": 5072,
                                              "end": 5130,
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 74
                                                }
                                              },
                                              "range": [
                                                5072,
                                                5130
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5197,
                                          "end": 5303,
                                          "loc": {
                                            "start": {
                                              "line": 109,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 109,
                                              "column": 122
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 5197,
                                            "end": 5302,
                                            "loc": {
                                              "start": {
                                                "line": 109,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 109,
                                                "column": 121
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 5197,
                                              "end": 5263,
                                              "loc": {
                                                "start": {
                                                  "line": 109,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 109,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 5197,
                                                "end": 5225,
                                                "loc": {
                                                  "start": {
                                                    "line": 109,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 109,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5197,
                                                  "end": 5205,
                                                  "loc": {
                                                    "start": {
                                                      "line": 109,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 109,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5197,
                                                    "end": 5201,
                                                    "loc": {
                                                      "start": {
                                                        "line": 109,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 109,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5202,
                                                    "end": 5205,
                                                    "loc": {
                                                      "start": {
                                                        "line": 109,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 109,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5209,
                                                  "end": 5225,
                                                  "loc": {
                                                    "start": {
                                                      "line": 109,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 109,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5209,
                                                    "end": 5213,
                                                    "loc": {
                                                      "start": {
                                                        "line": 109,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 109,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5214,
                                                    "end": 5225,
                                                    "loc": {
                                                      "start": {
                                                        "line": 109,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 109,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 5229,
                                                "end": 5263,
                                                "loc": {
                                                  "start": {
                                                    "line": 109,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 109,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5229,
                                                  "end": 5245,
                                                  "loc": {
                                                    "start": {
                                                      "line": 109,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 109,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5229,
                                                    "end": 5233,
                                                    "loc": {
                                                      "start": {
                                                        "line": 109,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 109,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5234,
                                                    "end": 5245,
                                                    "loc": {
                                                      "start": {
                                                        "line": 109,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 109,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5250,
                                                  "end": 5263,
                                                  "loc": {
                                                    "start": {
                                                      "line": 109,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 109,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5250,
                                                    "end": 5254,
                                                    "loc": {
                                                      "start": {
                                                        "line": 109,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 109,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5255,
                                                    "end": 5263,
                                                    "loc": {
                                                      "start": {
                                                        "line": 109,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 109,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 5267,
                                              "end": 5302,
                                              "loc": {
                                                "start": {
                                                  "line": 109,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 109,
                                                  "column": 121
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5267,
                                                "end": 5295,
                                                "loc": {
                                                  "start": {
                                                    "line": 109,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 109,
                                                    "column": 114
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 5267,
                                                  "end": 5283,
                                                  "loc": {
                                                    "start": {
                                                      "line": 109,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 109,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5267,
                                                    "end": 5271,
                                                    "loc": {
                                                      "start": {
                                                        "line": 109,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 109,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5272,
                                                    "end": 5283,
                                                    "loc": {
                                                      "start": {
                                                        "line": 109,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 109,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5284,
                                                  "end": 5295,
                                                  "loc": {
                                                    "start": {
                                                      "line": 109,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 109,
                                                      "column": 114
                                                    }
                                                  },
                                                  "name": "onTouchMove"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5296,
                                                  "end": 5301,
                                                  "loc": {
                                                    "start": {
                                                      "line": 109,
                                                      "column": 115
                                                    },
                                                    "end": {
                                                      "line": 109,
                                                      "column": 120
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 5331,
                                  "end": 5610,
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 115,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 5331,
                                    "end": 5339,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 20
                                      }
                                    },
                                    "name": "touchend"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 5341,
                                    "end": 5610,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 115,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 5341,
                                        "end": 5346,
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 27
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 5350,
                                      "end": 5610,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5442,
                                          "end": 5474,
                                          "loc": {
                                            "start": {
                                              "line": 113,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 113,
                                              "column": 48
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 5442,
                                            "end": 5473,
                                            "loc": {
                                              "start": {
                                                "line": 113,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 113,
                                                "column": 47
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5442,
                                              "end": 5466,
                                              "loc": {
                                                "start": {
                                                  "line": 113,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 113,
                                                  "column": 40
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 5442,
                                                "end": 5455,
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 113,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5442,
                                                  "end": 5446,
                                                  "loc": {
                                                    "start": {
                                                      "line": 113,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 113,
                                                      "column": 20
                                                    }
                                                  },
                                                  "leadingComments": null
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5447,
                                                  "end": 5455,
                                                  "loc": {
                                                    "start": {
                                                      "line": 113,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 113,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false,
                                                "leadingComments": null
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5456,
                                                "end": 5466,
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 113,
                                                    "column": 40
                                                  }
                                                },
                                                "name": "onTouchEnd"
                                              },
                                              "computed": false,
                                              "leadingComments": null
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5467,
                                                "end": 5472,
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 113,
                                                    "column": 46
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ],
                                            "leadingComments": null
                                          },
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": "this.interactive && this.interaction.onTouchEnd(state);",
                                              "start": 5368,
                                              "end": 5425,
                                              "loc": {
                                                "start": {
                                                  "line": 112,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 112,
                                                  "column": 73
                                                }
                                              },
                                              "range": [
                                                5368,
                                                5425
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5491,
                                          "end": 5596,
                                          "loc": {
                                            "start": {
                                              "line": 114,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 114,
                                              "column": 121
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 5491,
                                            "end": 5595,
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 114,
                                                "column": 120
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 5491,
                                              "end": 5557,
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 5491,
                                                "end": 5519,
                                                "loc": {
                                                  "start": {
                                                    "line": 114,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 114,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5491,
                                                  "end": 5499,
                                                  "loc": {
                                                    "start": {
                                                      "line": 114,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 114,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5491,
                                                    "end": 5495,
                                                    "loc": {
                                                      "start": {
                                                        "line": 114,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 114,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5496,
                                                    "end": 5499,
                                                    "loc": {
                                                      "start": {
                                                        "line": 114,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 114,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5503,
                                                  "end": 5519,
                                                  "loc": {
                                                    "start": {
                                                      "line": 114,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 114,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5503,
                                                    "end": 5507,
                                                    "loc": {
                                                      "start": {
                                                        "line": 114,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 114,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5508,
                                                    "end": 5519,
                                                    "loc": {
                                                      "start": {
                                                        "line": 114,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 114,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 5523,
                                                "end": 5557,
                                                "loc": {
                                                  "start": {
                                                    "line": 114,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 114,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5523,
                                                  "end": 5539,
                                                  "loc": {
                                                    "start": {
                                                      "line": 114,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 114,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5523,
                                                    "end": 5527,
                                                    "loc": {
                                                      "start": {
                                                        "line": 114,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 114,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5528,
                                                    "end": 5539,
                                                    "loc": {
                                                      "start": {
                                                        "line": 114,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 114,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5544,
                                                  "end": 5557,
                                                  "loc": {
                                                    "start": {
                                                      "line": 114,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 114,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5544,
                                                    "end": 5548,
                                                    "loc": {
                                                      "start": {
                                                        "line": 114,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 114,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5549,
                                                    "end": 5557,
                                                    "loc": {
                                                      "start": {
                                                        "line": 114,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 114,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 5561,
                                              "end": 5595,
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 120
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5561,
                                                "end": 5588,
                                                "loc": {
                                                  "start": {
                                                    "line": 114,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 114,
                                                    "column": 113
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 5561,
                                                  "end": 5577,
                                                  "loc": {
                                                    "start": {
                                                      "line": 114,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 114,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5561,
                                                    "end": 5565,
                                                    "loc": {
                                                      "start": {
                                                        "line": 114,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 114,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5566,
                                                    "end": 5577,
                                                    "loc": {
                                                      "start": {
                                                        "line": 114,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 114,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5578,
                                                  "end": 5588,
                                                  "loc": {
                                                    "start": {
                                                      "line": 114,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 114,
                                                      "column": 113
                                                    }
                                                  },
                                                  "name": "onTouchEnd"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5589,
                                                  "end": 5594,
                                                  "loc": {
                                                    "start": {
                                                      "line": 114,
                                                      "column": 114
                                                    },
                                                    "end": {
                                                      "line": 114,
                                                      "column": 119
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5632,
                      "end": 5663,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 8
                        },
                        "end": {
                          "line": 118,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5632,
                        "end": 5662,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 8
                          },
                          "end": {
                            "line": 118,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5632,
                          "end": 5642,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 8
                            },
                            "end": {
                              "line": 118,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5632,
                            "end": 5636,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 8
                              },
                              "end": {
                                "line": 118,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5637,
                            "end": 5642,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 13
                              },
                              "end": {
                                "line": 118,
                                "column": 18
                              }
                            },
                            "name": "scene"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 5645,
                          "end": 5662,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 21
                            },
                            "end": {
                              "line": 118,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5649,
                            "end": 5660,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 25
                              },
                              "end": {
                                "line": 118,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5649,
                              "end": 5654,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 25
                                },
                                "end": {
                                  "line": 118,
                                  "column": 30
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5655,
                              "end": 5660,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 31
                                },
                                "end": {
                                  "line": 118,
                                  "column": 36
                                }
                              },
                              "name": "Scene"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5672,
                      "end": 5699,
                      "loc": {
                        "start": {
                          "line": 119,
                          "column": 8
                        },
                        "end": {
                          "line": 119,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5672,
                        "end": 5698,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 8
                          },
                          "end": {
                            "line": 119,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5672,
                          "end": 5689,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 8
                            },
                            "end": {
                              "line": 119,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5672,
                            "end": 5682,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 8
                              },
                              "end": {
                                "line": 119,
                                "column": 18
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5672,
                              "end": 5676,
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 8
                                },
                                "end": {
                                  "line": 119,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5677,
                              "end": 5682,
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 13
                                },
                                "end": {
                                  "line": 119,
                                  "column": 18
                                }
                              },
                              "name": "scene"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5683,
                            "end": 5689,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 19
                              },
                              "end": {
                                "line": 119,
                                "column": 25
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5692,
                          "end": 5698,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 28
                            },
                            "end": {
                              "line": 119,
                              "column": 34
                            }
                          },
                          "name": "canvas"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5708,
                      "end": 5731,
                      "loc": {
                        "start": {
                          "line": 120,
                          "column": 8
                        },
                        "end": {
                          "line": 120,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5708,
                        "end": 5730,
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 8
                          },
                          "end": {
                            "line": 120,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5708,
                          "end": 5723,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 8
                            },
                            "end": {
                              "line": 120,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5708,
                            "end": 5718,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 8
                              },
                              "end": {
                                "line": 120,
                                "column": 18
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5708,
                              "end": 5712,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 8
                                },
                                "end": {
                                  "line": 120,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5713,
                              "end": 5718,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 13
                                },
                                "end": {
                                  "line": 120,
                                  "column": 18
                                }
                              },
                              "name": "scene"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5719,
                            "end": 5723,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 19
                              },
                              "end": {
                                "line": 120,
                                "column": 23
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 5726,
                          "end": 5730,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 26
                            },
                            "end": {
                              "line": 120,
                              "column": 30
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5741,
                      "end": 5835,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 8
                        },
                        "end": {
                          "line": 122,
                          "column": 102
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5741,
                        "end": 5834,
                        "loc": {
                          "start": {
                            "line": 122,
                            "column": 8
                          },
                          "end": {
                            "line": 122,
                            "column": 101
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5741,
                          "end": 5753,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 8
                            },
                            "end": {
                              "line": 122,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5741,
                            "end": 5745,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 8
                              },
                              "end": {
                                "line": 122,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5746,
                            "end": 5753,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 13
                              },
                              "end": {
                                "line": 122,
                                "column": 20
                              }
                            },
                            "name": "ambient"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 5756,
                          "end": 5834,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 23
                            },
                            "end": {
                              "line": 122,
                              "column": 101
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5760,
                            "end": 5778,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 27
                              },
                              "end": {
                                "line": 122,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5760,
                              "end": 5765,
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 27
                                },
                                "end": {
                                  "line": 122,
                                  "column": 32
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5766,
                              "end": 5778,
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 33
                                },
                                "end": {
                                  "line": 122,
                                  "column": 45
                                }
                              },
                              "name": "AmbientLight"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ConditionalExpression",
                              "start": 5779,
                              "end": 5833,
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 46
                                },
                                "end": {
                                  "line": 122,
                                  "column": 100
                                }
                              },
                              "test": {
                                "type": "MemberExpression",
                                "start": 5779,
                                "end": 5799,
                                "loc": {
                                  "start": {
                                    "line": 122,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 122,
                                    "column": 66
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5779,
                                  "end": 5786,
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 53
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5787,
                                  "end": 5799,
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 66
                                    }
                                  },
                                  "name": "ambientColor"
                                },
                                "computed": false
                              },
                              "consequent": {
                                "type": "MemberExpression",
                                "start": 5802,
                                "end": 5822,
                                "loc": {
                                  "start": {
                                    "line": 122,
                                    "column": 69
                                  },
                                  "end": {
                                    "line": 122,
                                    "column": 89
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5802,
                                  "end": 5809,
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 76
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5810,
                                  "end": 5822,
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 77
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 89
                                    }
                                  },
                                  "name": "ambientColor"
                                },
                                "computed": false
                              },
                              "alternate": {
                                "type": "Literal",
                                "start": 5825,
                                "end": 5833,
                                "loc": {
                                  "start": {
                                    "line": 122,
                                    "column": 92
                                  },
                                  "end": {
                                    "line": 122,
                                    "column": 100
                                  }
                                },
                                "value": 16777215,
                                "rawValue": 16777215,
                                "raw": "0xffffff"
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5844,
                      "end": 5950,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 8
                        },
                        "end": {
                          "line": 123,
                          "column": 114
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5844,
                        "end": 5949,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 8
                          },
                          "end": {
                            "line": 123,
                            "column": 113
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5844,
                          "end": 5866,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 8
                            },
                            "end": {
                              "line": 123,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5844,
                            "end": 5856,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 8
                              },
                              "end": {
                                "line": 123,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5844,
                              "end": 5848,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 8
                                },
                                "end": {
                                  "line": 123,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5849,
                              "end": 5856,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 13
                                },
                                "end": {
                                  "line": 123,
                                  "column": 20
                                }
                              },
                              "name": "ambient"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5857,
                            "end": 5866,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 21
                              },
                              "end": {
                                "line": 123,
                                "column": 30
                              }
                            },
                            "name": "intensity"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 5869,
                          "end": 5949,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 33
                            },
                            "end": {
                              "line": 123,
                              "column": 113
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 5869,
                            "end": 5916,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 33
                              },
                              "end": {
                                "line": 123,
                                "column": 80
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 5869,
                              "end": 5900,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 33
                                },
                                "end": {
                                  "line": 123,
                                  "column": 64
                                }
                              },
                              "operator": "typeof",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 5876,
                                "end": 5900,
                                "loc": {
                                  "start": {
                                    "line": 123,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 123,
                                    "column": 64
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5876,
                                  "end": 5883,
                                  "loc": {
                                    "start": {
                                      "line": 123,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 123,
                                      "column": 47
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5884,
                                  "end": 5900,
                                  "loc": {
                                    "start": {
                                      "line": 123,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 123,
                                      "column": 64
                                    }
                                  },
                                  "name": "ambientIntensity"
                                },
                                "computed": false
                              }
                            },
                            "operator": "!==",
                            "right": {
                              "type": "Literal",
                              "start": 5905,
                              "end": 5916,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 69
                                },
                                "end": {
                                  "line": 123,
                                  "column": 80
                                }
                              },
                              "value": "undefined",
                              "rawValue": "undefined",
                              "raw": "'undefined'"
                            }
                          },
                          "consequent": {
                            "type": "MemberExpression",
                            "start": 5919,
                            "end": 5943,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 83
                              },
                              "end": {
                                "line": 123,
                                "column": 107
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5919,
                              "end": 5926,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 83
                                },
                                "end": {
                                  "line": 123,
                                  "column": 90
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5927,
                              "end": 5943,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 91
                                },
                                "end": {
                                  "line": 123,
                                  "column": 107
                                }
                              },
                              "name": "ambientIntensity"
                            },
                            "computed": false
                          },
                          "alternate": {
                            "type": "Literal",
                            "start": 5946,
                            "end": 5949,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 110
                              },
                              "end": {
                                "line": 123,
                                "column": 113
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1.0"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5959,
                      "end": 5984,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 8
                        },
                        "end": {
                          "line": 124,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5959,
                        "end": 5983,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 8
                          },
                          "end": {
                            "line": 124,
                            "column": 32
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5959,
                          "end": 5976,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 8
                            },
                            "end": {
                              "line": 124,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5959,
                            "end": 5971,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 8
                              },
                              "end": {
                                "line": 124,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5959,
                              "end": 5963,
                              "loc": {
                                "start": {
                                  "line": 124,
                                  "column": 8
                                },
                                "end": {
                                  "line": 124,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5964,
                              "end": 5971,
                              "loc": {
                                "start": {
                                  "line": 124,
                                  "column": 13
                                },
                                "end": {
                                  "line": 124,
                                  "column": 20
                                }
                              },
                              "name": "ambient"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5972,
                            "end": 5976,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 21
                              },
                              "end": {
                                "line": 124,
                                "column": 25
                              }
                            },
                            "name": "keep"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 5979,
                          "end": 5983,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 28
                            },
                            "end": {
                              "line": 124,
                              "column": 32
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5993,
                      "end": 6018,
                      "loc": {
                        "start": {
                          "line": 125,
                          "column": 8
                        },
                        "end": {
                          "line": 125,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5993,
                        "end": 6017,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 8
                          },
                          "end": {
                            "line": 125,
                            "column": 32
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5993,
                          "end": 6010,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 8
                            },
                            "end": {
                              "line": 125,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5993,
                            "end": 6005,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 8
                              },
                              "end": {
                                "line": 125,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5993,
                              "end": 5997,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 8
                                },
                                "end": {
                                  "line": 125,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5998,
                              "end": 6005,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 13
                                },
                                "end": {
                                  "line": 125,
                                  "column": 20
                                }
                              },
                              "name": "ambient"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6006,
                            "end": 6010,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 21
                              },
                              "end": {
                                "line": 125,
                                "column": 25
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 6013,
                          "end": 6017,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 28
                            },
                            "end": {
                              "line": 125,
                              "column": 32
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6027,
                      "end": 6056,
                      "loc": {
                        "start": {
                          "line": 126,
                          "column": 8
                        },
                        "end": {
                          "line": 126,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6027,
                        "end": 6055,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 8
                          },
                          "end": {
                            "line": 126,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6027,
                          "end": 6041,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 8
                            },
                            "end": {
                              "line": 126,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6027,
                            "end": 6037,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 8
                              },
                              "end": {
                                "line": 126,
                                "column": 18
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6027,
                              "end": 6031,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 8
                                },
                                "end": {
                                  "line": 126,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6032,
                              "end": 6037,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 13
                                },
                                "end": {
                                  "line": 126,
                                  "column": 18
                                }
                              },
                              "name": "scene"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6038,
                            "end": 6041,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 19
                              },
                              "end": {
                                "line": 126,
                                "column": 22
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 6042,
                            "end": 6054,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 23
                              },
                              "end": {
                                "line": 126,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6042,
                              "end": 6046,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 23
                                },
                                "end": {
                                  "line": 126,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6047,
                              "end": 6054,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 28
                                },
                                "end": {
                                  "line": 126,
                                  "column": 35
                                }
                              },
                              "name": "ambient"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6066,
                      "end": 6098,
                      "loc": {
                        "start": {
                          "line": 128,
                          "column": 8
                        },
                        "end": {
                          "line": 128,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6066,
                        "end": 6097,
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 8
                          },
                          "end": {
                            "line": 128,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6066,
                          "end": 6077,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 8
                            },
                            "end": {
                              "line": 128,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6066,
                            "end": 6070,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 8
                              },
                              "end": {
                                "line": 128,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6071,
                            "end": 6077,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 13
                              },
                              "end": {
                                "line": 128,
                                "column": 19
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6080,
                          "end": 6097,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 22
                            },
                            "end": {
                              "line": 128,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 6084,
                            "end": 6095,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 26
                              },
                              "end": {
                                "line": 128,
                                "column": 37
                              }
                            },
                            "name": "Perspective"
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6107,
                      "end": 6247,
                      "loc": {
                        "start": {
                          "line": 129,
                          "column": 8
                        },
                        "end": {
                          "line": 133,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6107,
                        "end": 6246,
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 8
                          },
                          "end": {
                            "line": 133,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6107,
                          "end": 6120,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 8
                            },
                            "end": {
                              "line": 129,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6107,
                            "end": 6111,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 8
                              },
                              "end": {
                                "line": 129,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6112,
                            "end": 6120,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 13
                              },
                              "end": {
                                "line": 129,
                                "column": 21
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6123,
                          "end": 6246,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 24
                            },
                            "end": {
                              "line": 133,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 6127,
                            "end": 6132,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 28
                              },
                              "end": {
                                "line": 129,
                                "column": 33
                              }
                            },
                            "name": "Orbit"
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 6133,
                              "end": 6137,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 34
                                },
                                "end": {
                                  "line": 129,
                                  "column": 38
                                }
                              }
                            },
                            {
                              "type": "ObjectExpression",
                              "start": 6139,
                              "end": 6245,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 40
                                },
                                "end": {
                                  "line": 133,
                                  "column": 9
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 6153,
                                  "end": 6175,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 34
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 6153,
                                    "end": 6166,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 25
                                      }
                                    },
                                    "name": "maxPolarAngle"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 6168,
                                    "end": 6175,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 6168,
                                      "end": 6172,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 31
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 6173,
                                      "end": 6175,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 34
                                        }
                                      },
                                      "name": "PI"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 6189,
                                  "end": 6203,
                                  "loc": {
                                    "start": {
                                      "line": 131,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 26
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 6189,
                                    "end": 6200,
                                    "loc": {
                                      "start": {
                                        "line": 131,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 131,
                                        "column": 23
                                      }
                                    },
                                    "name": "minDistance"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 6202,
                                    "end": 6203,
                                    "loc": {
                                      "start": {
                                        "line": 131,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 131,
                                        "column": 26
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 6217,
                                  "end": 6235,
                                  "loc": {
                                    "start": {
                                      "line": 132,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 132,
                                      "column": 30
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 6217,
                                    "end": 6228,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 23
                                      }
                                    },
                                    "name": "maxDistance"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 6230,
                                    "end": 6235,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 30
                                      }
                                    },
                                    "value": 20000,
                                    "rawValue": 20000,
                                    "raw": "20000"
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6257,
                      "end": 6274,
                      "loc": {
                        "start": {
                          "line": 135,
                          "column": 8
                        },
                        "end": {
                          "line": 135,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6257,
                        "end": 6273,
                        "loc": {
                          "start": {
                            "line": 135,
                            "column": 8
                          },
                          "end": {
                            "line": 135,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6257,
                          "end": 6265,
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 8
                            },
                            "end": {
                              "line": 135,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6257,
                            "end": 6261,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 8
                              },
                              "end": {
                                "line": 135,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6262,
                            "end": 6265,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 13
                              },
                              "end": {
                                "line": 135,
                                "column": 16
                              }
                            },
                            "name": "hud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 6268,
                          "end": 6273,
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 19
                            },
                            "end": {
                              "line": 135,
                              "column": 24
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6283,
                      "end": 6317,
                      "loc": {
                        "start": {
                          "line": 136,
                          "column": 8
                        },
                        "end": {
                          "line": 136,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6283,
                        "end": 6316,
                        "loc": {
                          "start": {
                            "line": 136,
                            "column": 8
                          },
                          "end": {
                            "line": 136,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6283,
                          "end": 6296,
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 8
                            },
                            "end": {
                              "line": 136,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6283,
                            "end": 6287,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 8
                              },
                              "end": {
                                "line": 136,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6288,
                            "end": 6296,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 13
                              },
                              "end": {
                                "line": 136,
                                "column": 21
                              }
                            },
                            "name": "sceneHud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6299,
                          "end": 6316,
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 24
                            },
                            "end": {
                              "line": 136,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6303,
                            "end": 6314,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 28
                              },
                              "end": {
                                "line": 136,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6303,
                              "end": 6308,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 28
                                },
                                "end": {
                                  "line": 136,
                                  "column": 33
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6309,
                              "end": 6314,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 34
                                },
                                "end": {
                                  "line": 136,
                                  "column": 39
                                }
                              },
                              "name": "Scene"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6326,
                      "end": 6356,
                      "loc": {
                        "start": {
                          "line": 137,
                          "column": 8
                        },
                        "end": {
                          "line": 137,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6326,
                        "end": 6355,
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 8
                          },
                          "end": {
                            "line": 137,
                            "column": 37
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6326,
                          "end": 6346,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 8
                            },
                            "end": {
                              "line": 137,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6326,
                            "end": 6339,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 8
                              },
                              "end": {
                                "line": 137,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6326,
                              "end": 6330,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 8
                                },
                                "end": {
                                  "line": 137,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6331,
                              "end": 6339,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 13
                                },
                                "end": {
                                  "line": 137,
                                  "column": 21
                                }
                              },
                              "name": "sceneHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6340,
                            "end": 6346,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 22
                              },
                              "end": {
                                "line": 137,
                                "column": 28
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 6349,
                          "end": 6355,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 31
                            },
                            "end": {
                              "line": 137,
                              "column": 37
                            }
                          },
                          "name": "canvas"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6365,
                      "end": 6391,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 8
                        },
                        "end": {
                          "line": 138,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6365,
                        "end": 6390,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 8
                          },
                          "end": {
                            "line": 138,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6365,
                          "end": 6383,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 8
                            },
                            "end": {
                              "line": 138,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6365,
                            "end": 6378,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 8
                              },
                              "end": {
                                "line": 138,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6365,
                              "end": 6369,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 8
                                },
                                "end": {
                                  "line": 138,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6370,
                              "end": 6378,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 13
                                },
                                "end": {
                                  "line": 138,
                                  "column": 21
                                }
                              },
                              "name": "sceneHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6379,
                            "end": 6383,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 22
                              },
                              "end": {
                                "line": 138,
                                "column": 26
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 6386,
                          "end": 6390,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 29
                            },
                            "end": {
                              "line": 138,
                              "column": 33
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6400,
                      "end": 6429,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 8
                        },
                        "end": {
                          "line": 139,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6400,
                        "end": 6428,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 8
                          },
                          "end": {
                            "line": 139,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6400,
                          "end": 6414,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 8
                            },
                            "end": {
                              "line": 139,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6400,
                            "end": 6404,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 8
                              },
                              "end": {
                                "line": 139,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6405,
                            "end": 6414,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 13
                              },
                              "end": {
                                "line": 139,
                                "column": 22
                              }
                            },
                            "name": "cameraHud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 6417,
                          "end": 6428,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 25
                            },
                            "end": {
                              "line": 139,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6417,
                            "end": 6421,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 25
                              },
                              "end": {
                                "line": 139,
                                "column": 29
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6422,
                            "end": 6428,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 30
                              },
                              "end": {
                                "line": 139,
                                "column": 36
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6438,
                      "end": 6471,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 8
                        },
                        "end": {
                          "line": 140,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6438,
                        "end": 6470,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 8
                          },
                          "end": {
                            "line": 140,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6438,
                          "end": 6454,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 8
                            },
                            "end": {
                              "line": 140,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6438,
                            "end": 6442,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 8
                              },
                              "end": {
                                "line": 140,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6443,
                            "end": 6454,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 13
                              },
                              "end": {
                                "line": 140,
                                "column": 24
                              }
                            },
                            "name": "controlsHud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 6457,
                          "end": 6470,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 27
                            },
                            "end": {
                              "line": 140,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6457,
                            "end": 6461,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 27
                              },
                              "end": {
                                "line": 140,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6462,
                            "end": 6470,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 32
                              },
                              "end": {
                                "line": 140,
                                "column": 40
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6481,
                      "end": 6578,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 8
                        },
                        "end": {
                          "line": 142,
                          "column": 105
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6481,
                        "end": 6577,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 8
                          },
                          "end": {
                            "line": 142,
                            "column": 104
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6481,
                          "end": 6496,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 8
                            },
                            "end": {
                              "line": 142,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6481,
                            "end": 6485,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 8
                              },
                              "end": {
                                "line": 142,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6486,
                            "end": 6496,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 13
                              },
                              "end": {
                                "line": 142,
                                "column": 23
                              }
                            },
                            "name": "ambientHud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6499,
                          "end": 6577,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 26
                            },
                            "end": {
                              "line": 142,
                              "column": 104
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6503,
                            "end": 6521,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 30
                              },
                              "end": {
                                "line": 142,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6503,
                              "end": 6508,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 30
                                },
                                "end": {
                                  "line": 142,
                                  "column": 35
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6509,
                              "end": 6521,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 36
                                },
                                "end": {
                                  "line": 142,
                                  "column": 48
                                }
                              },
                              "name": "AmbientLight"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ConditionalExpression",
                              "start": 6522,
                              "end": 6576,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 49
                                },
                                "end": {
                                  "line": 142,
                                  "column": 103
                                }
                              },
                              "test": {
                                "type": "MemberExpression",
                                "start": 6522,
                                "end": 6542,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 142,
                                    "column": 69
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6522,
                                  "end": 6529,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 56
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6530,
                                  "end": 6542,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 69
                                    }
                                  },
                                  "name": "ambientColor"
                                },
                                "computed": false
                              },
                              "consequent": {
                                "type": "MemberExpression",
                                "start": 6545,
                                "end": 6565,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 142,
                                    "column": 92
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6545,
                                  "end": 6552,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 72
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 79
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6553,
                                  "end": 6565,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 80
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 92
                                    }
                                  },
                                  "name": "ambientColor"
                                },
                                "computed": false
                              },
                              "alternate": {
                                "type": "Literal",
                                "start": 6568,
                                "end": 6576,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 95
                                  },
                                  "end": {
                                    "line": 142,
                                    "column": 103
                                  }
                                },
                                "value": 16777215,
                                "rawValue": 16777215,
                                "raw": "0xffffff"
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6587,
                      "end": 6696,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 8
                        },
                        "end": {
                          "line": 143,
                          "column": 117
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6587,
                        "end": 6695,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 8
                          },
                          "end": {
                            "line": 143,
                            "column": 116
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6587,
                          "end": 6612,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 8
                            },
                            "end": {
                              "line": 143,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6587,
                            "end": 6602,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 8
                              },
                              "end": {
                                "line": 143,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6587,
                              "end": 6591,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 8
                                },
                                "end": {
                                  "line": 143,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6592,
                              "end": 6602,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 13
                                },
                                "end": {
                                  "line": 143,
                                  "column": 23
                                }
                              },
                              "name": "ambientHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6603,
                            "end": 6612,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 24
                              },
                              "end": {
                                "line": 143,
                                "column": 33
                              }
                            },
                            "name": "intensity"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 6615,
                          "end": 6695,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 36
                            },
                            "end": {
                              "line": 143,
                              "column": 116
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 6615,
                            "end": 6662,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 36
                              },
                              "end": {
                                "line": 143,
                                "column": 83
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 6615,
                              "end": 6646,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 36
                                },
                                "end": {
                                  "line": 143,
                                  "column": 67
                                }
                              },
                              "operator": "typeof",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 6622,
                                "end": 6646,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 67
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6622,
                                  "end": 6629,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 50
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6630,
                                  "end": 6646,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 67
                                    }
                                  },
                                  "name": "ambientIntensity"
                                },
                                "computed": false
                              }
                            },
                            "operator": "!==",
                            "right": {
                              "type": "Literal",
                              "start": 6651,
                              "end": 6662,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 72
                                },
                                "end": {
                                  "line": 143,
                                  "column": 83
                                }
                              },
                              "value": "undefined",
                              "rawValue": "undefined",
                              "raw": "'undefined'"
                            }
                          },
                          "consequent": {
                            "type": "MemberExpression",
                            "start": 6665,
                            "end": 6689,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 86
                              },
                              "end": {
                                "line": 143,
                                "column": 110
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6665,
                              "end": 6672,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 86
                                },
                                "end": {
                                  "line": 143,
                                  "column": 93
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6673,
                              "end": 6689,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 94
                                },
                                "end": {
                                  "line": 143,
                                  "column": 110
                                }
                              },
                              "name": "ambientIntensity"
                            },
                            "computed": false
                          },
                          "alternate": {
                            "type": "Literal",
                            "start": 6692,
                            "end": 6695,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 113
                              },
                              "end": {
                                "line": 143,
                                "column": 116
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1.0"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6705,
                      "end": 6733,
                      "loc": {
                        "start": {
                          "line": 144,
                          "column": 8
                        },
                        "end": {
                          "line": 144,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6705,
                        "end": 6732,
                        "loc": {
                          "start": {
                            "line": 144,
                            "column": 8
                          },
                          "end": {
                            "line": 144,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6705,
                          "end": 6725,
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 8
                            },
                            "end": {
                              "line": 144,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6705,
                            "end": 6720,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 8
                              },
                              "end": {
                                "line": 144,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6705,
                              "end": 6709,
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 8
                                },
                                "end": {
                                  "line": 144,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6710,
                              "end": 6720,
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 13
                                },
                                "end": {
                                  "line": 144,
                                  "column": 23
                                }
                              },
                              "name": "ambientHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6721,
                            "end": 6725,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 24
                              },
                              "end": {
                                "line": 144,
                                "column": 28
                              }
                            },
                            "name": "keep"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 6728,
                          "end": 6732,
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 31
                            },
                            "end": {
                              "line": 144,
                              "column": 35
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6742,
                      "end": 6770,
                      "loc": {
                        "start": {
                          "line": 145,
                          "column": 8
                        },
                        "end": {
                          "line": 145,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6742,
                        "end": 6769,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 8
                          },
                          "end": {
                            "line": 145,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6742,
                          "end": 6762,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 8
                            },
                            "end": {
                              "line": 145,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6742,
                            "end": 6757,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 8
                              },
                              "end": {
                                "line": 145,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6742,
                              "end": 6746,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 8
                                },
                                "end": {
                                  "line": 145,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6747,
                              "end": 6757,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 13
                                },
                                "end": {
                                  "line": 145,
                                  "column": 23
                                }
                              },
                              "name": "ambientHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6758,
                            "end": 6762,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 24
                              },
                              "end": {
                                "line": 145,
                                "column": 28
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 6765,
                          "end": 6769,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 31
                            },
                            "end": {
                              "line": 145,
                              "column": 35
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6779,
                      "end": 6814,
                      "loc": {
                        "start": {
                          "line": 146,
                          "column": 8
                        },
                        "end": {
                          "line": 146,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6779,
                        "end": 6813,
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 8
                          },
                          "end": {
                            "line": 146,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6779,
                          "end": 6796,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 8
                            },
                            "end": {
                              "line": 146,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6779,
                            "end": 6792,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 8
                              },
                              "end": {
                                "line": 146,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6779,
                              "end": 6783,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 8
                                },
                                "end": {
                                  "line": 146,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6784,
                              "end": 6792,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 13
                                },
                                "end": {
                                  "line": 146,
                                  "column": 21
                                }
                              },
                              "name": "sceneHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6793,
                            "end": 6796,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 22
                              },
                              "end": {
                                "line": 146,
                                "column": 25
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 6797,
                            "end": 6812,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 26
                              },
                              "end": {
                                "line": 146,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6797,
                              "end": 6801,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 26
                                },
                                "end": {
                                  "line": 146,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6802,
                              "end": 6812,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 31
                                },
                                "end": {
                                  "line": 146,
                                  "column": 41
                                }
                              },
                              "name": "ambientHud"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6824,
                      "end": 6865,
                      "loc": {
                        "start": {
                          "line": 148,
                          "column": 8
                        },
                        "end": {
                          "line": 148,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6824,
                        "end": 6864,
                        "loc": {
                          "start": {
                            "line": 148,
                            "column": 8
                          },
                          "end": {
                            "line": 148,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6824,
                          "end": 6840,
                          "loc": {
                            "start": {
                              "line": 148,
                              "column": 8
                            },
                            "end": {
                              "line": 148,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6824,
                            "end": 6828,
                            "loc": {
                              "start": {
                                "line": 148,
                                "column": 8
                              },
                              "end": {
                                "line": 148,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6829,
                            "end": 6840,
                            "loc": {
                              "start": {
                                "line": 148,
                                "column": 13
                              },
                              "end": {
                                "line": 148,
                                "column": 24
                              }
                            },
                            "name": "interaction"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6843,
                          "end": 6864,
                          "loc": {
                            "start": {
                              "line": 148,
                              "column": 27
                            },
                            "end": {
                              "line": 148,
                              "column": 48
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 6847,
                            "end": 6858,
                            "loc": {
                              "start": {
                                "line": 148,
                                "column": 31
                              },
                              "end": {
                                "line": 148,
                                "column": 42
                              }
                            },
                            "name": "Interaction"
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 6859,
                              "end": 6863,
                              "loc": {
                                "start": {
                                  "line": 148,
                                  "column": 43
                                },
                                "end": {
                                  "line": 148,
                                  "column": 47
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6875,
                      "end": 6895,
                      "loc": {
                        "start": {
                          "line": 150,
                          "column": 8
                        },
                        "end": {
                          "line": 150,
                          "column": 28
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6875,
                        "end": 6894,
                        "loc": {
                          "start": {
                            "line": 150,
                            "column": 8
                          },
                          "end": {
                            "line": 150,
                            "column": 27
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6875,
                          "end": 6892,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 8
                            },
                            "end": {
                              "line": 150,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6875,
                            "end": 6879,
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 8
                              },
                              "end": {
                                "line": 150,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6880,
                            "end": 6892,
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 13
                              },
                              "end": {
                                "line": 150,
                                "column": 25
                              }
                            },
                            "name": "updateScopes"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6904,
                      "end": 6933,
                      "loc": {
                        "start": {
                          "line": 151,
                          "column": 8
                        },
                        "end": {
                          "line": 151,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6904,
                        "end": 6932,
                        "loc": {
                          "start": {
                            "line": 151,
                            "column": 8
                          },
                          "end": {
                            "line": 151,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6904,
                          "end": 6926,
                          "loc": {
                            "start": {
                              "line": 151,
                              "column": 8
                            },
                            "end": {
                              "line": 151,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6904,
                            "end": 6921,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 8
                              },
                              "end": {
                                "line": 151,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6904,
                              "end": 6915,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 8
                                },
                                "end": {
                                  "line": 151,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 6904,
                                "end": 6908,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6909,
                                "end": 6915,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 19
                                  }
                                },
                                "name": "canvas"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6916,
                              "end": 6921,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 20
                                },
                                "end": {
                                  "line": 151,
                                  "column": 25
                                }
                              },
                              "name": "views"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6922,
                            "end": 6926,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 26
                              },
                              "end": {
                                "line": 151,
                                "column": 30
                              }
                            },
                            "name": "push"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 6927,
                            "end": 6931,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 31
                              },
                              "end": {
                                "line": 151,
                                "column": 35
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6942,
                      "end": 6965,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 8
                        },
                        "end": {
                          "line": 152,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6942,
                        "end": 6964,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 8
                          },
                          "end": {
                            "line": 152,
                            "column": 30
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6942,
                          "end": 6962,
                          "loc": {
                            "start": {
                              "line": 152,
                              "column": 8
                            },
                            "end": {
                              "line": 152,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6942,
                            "end": 6955,
                            "loc": {
                              "start": {
                                "line": 152,
                                "column": 8
                              },
                              "end": {
                                "line": 152,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6942,
                              "end": 6946,
                              "loc": {
                                "start": {
                                  "line": 152,
                                  "column": 8
                                },
                                "end": {
                                  "line": 152,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6947,
                              "end": 6955,
                              "loc": {
                                "start": {
                                  "line": 152,
                                  "column": 13
                                },
                                "end": {
                                  "line": 152,
                                  "column": 21
                                }
                              },
                              "name": "renderer"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6956,
                            "end": 6962,
                            "loc": {
                              "start": {
                                "line": 152,
                                "column": 22
                              },
                              "end": {
                                "line": 152,
                                "column": 28
                              }
                            },
                            "name": "resize"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "* Construct a new View\n        @param {Object} [canvas=lastCreated] - The parent canvas, if none defined the lastCreated will be used\n        @param {Object} [options={}] - Options to initialize the View with\n        @param {HTMLElement} [options.dom=canvas.dom] - The HTML element on which the view will draw\n        @param {Boolean} [options.renderAlways=false] - Set to true the view will render 60fps,\n        set to false it will render on changes (default, recommended)\n        @param {Boolean} [options.visible=true] - Set to true the view will render\n        @param {Function} [options.callbackBefore=undefined] - Callback before the render pass\n        @param {Function} [options.callbackRender=undefined] - Callback to custom-render the scene\n        @param {Function} [options.callbackAfter=undefined] - Callback after the render pass\n        @param {Number} [options.background=canvas.renderer.clearColor] - Background color\n        @param {Number} [options.opacity=0.0] - Background opacity\n        @param {Number} [options.ambientColor=0xffffff] - Ambient color\n        @param {Number} [options.ambientIntensity=1.0] - Ambient intensity\n        @example\n        import View from 'view';\n        // Create a view, defaults into the same dom as the canvas\n        const view = new View(canvas, { dom: '#view', ambient: 0x909090 });\n        // Add model to the view's scene\n        view.scene.add(model);\n        @returns {Object} The constructed View ",
                  "start": 574,
                  "end": 2041,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 4
                    },
                    "end": {
                      "line": 35,
                      "column": 49
                    }
                  },
                  "range": [
                    574,
                    2041
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 6977,
              "end": 7233,
              "loc": {
                "start": {
                  "line": 155,
                  "column": 4
                },
                "end": {
                  "line": 166,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6981,
                "end": 6990,
                "loc": {
                  "start": {
                    "line": 155,
                    "column": 8
                  },
                  "end": {
                    "line": 155,
                    "column": 17
                  }
                },
                "name": "showStats"
              },
              "static": false,
              "kind": "set",
              "value": {
                "type": "FunctionExpression",
                "start": 6990,
                "end": 7233,
                "loc": {
                  "start": {
                    "line": 155,
                    "column": 17
                  },
                  "end": {
                    "line": 166,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6991,
                    "end": 6996,
                    "loc": {
                      "start": {
                        "line": 155,
                        "column": 18
                      },
                      "end": {
                        "line": 155,
                        "column": 23
                      }
                    },
                    "name": "value"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6998,
                  "end": 7233,
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 25
                    },
                    "end": {
                      "line": 166,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 7009,
                      "end": 7105,
                      "loc": {
                        "start": {
                          "line": 157,
                          "column": 8
                        },
                        "end": {
                          "line": 160,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 7013,
                        "end": 7023,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 12
                          },
                          "end": {
                            "line": 157,
                            "column": 22
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 7013,
                          "end": 7017,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 12
                            },
                            "end": {
                              "line": 157,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7018,
                          "end": 7023,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 17
                            },
                            "end": {
                              "line": 157,
                              "column": 22
                            }
                          },
                          "name": "stats"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7025,
                        "end": 7105,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 24
                          },
                          "end": {
                            "line": 160,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7039,
                            "end": 7059,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 12
                              },
                              "end": {
                                "line": 158,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 7039,
                              "end": 7058,
                              "loc": {
                                "start": {
                                  "line": 158,
                                  "column": 12
                                },
                                "end": {
                                  "line": 158,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7039,
                                "end": 7056,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7039,
                                  "end": 7049,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 22
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7039,
                                    "end": 7043,
                                    "loc": {
                                      "start": {
                                        "line": 158,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 158,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7044,
                                    "end": 7049,
                                    "loc": {
                                      "start": {
                                        "line": 158,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 158,
                                        "column": 22
                                      }
                                    },
                                    "name": "stats"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7050,
                                  "end": 7056,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 29
                                    }
                                  },
                                  "name": "remove"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 7072,
                            "end": 7095,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 12
                              },
                              "end": {
                                "line": 159,
                                "column": 35
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7072,
                              "end": 7094,
                              "loc": {
                                "start": {
                                  "line": 159,
                                  "column": 12
                                },
                                "end": {
                                  "line": 159,
                                  "column": 34
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 7072,
                                "end": 7082,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 7072,
                                  "end": 7076,
                                  "loc": {
                                    "start": {
                                      "line": 159,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 159,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7077,
                                  "end": 7082,
                                  "loc": {
                                    "start": {
                                      "line": 159,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 159,
                                      "column": 22
                                    }
                                  },
                                  "name": "stats"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 7085,
                                "end": 7094,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 34
                                  }
                                },
                                "name": "undefined"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 7115,
                      "end": 7227,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 165,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 7119,
                        "end": 7124,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 12
                          },
                          "end": {
                            "line": 162,
                            "column": 17
                          }
                        },
                        "name": "value"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7126,
                        "end": 7227,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 19
                          },
                          "end": {
                            "line": 165,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7140,
                            "end": 7165,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 12
                              },
                              "end": {
                                "line": 163,
                                "column": 37
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7140,
                              "end": 7164,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 12
                                },
                                "end": {
                                  "line": 163,
                                  "column": 36
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 7140,
                                "end": 7150,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 7140,
                                  "end": 7144,
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7145,
                                  "end": 7150,
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 22
                                    }
                                  },
                                  "name": "stats"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "NewExpression",
                                "start": 7153,
                                "end": 7164,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 7157,
                                  "end": 7162,
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 34
                                    }
                                  },
                                  "name": "Stats"
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 7178,
                            "end": 7217,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 12
                              },
                              "end": {
                                "line": 164,
                                "column": 51
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 7178,
                              "end": 7216,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 12
                                },
                                "end": {
                                  "line": 164,
                                  "column": 50
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7178,
                                "end": 7198,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7178,
                                  "end": 7186,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 20
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7178,
                                    "end": 7182,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7183,
                                    "end": 7186,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 20
                                      }
                                    },
                                    "name": "dom"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7187,
                                  "end": 7198,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 32
                                    }
                                  },
                                  "name": "appendChild"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 7200,
                                  "end": 7214,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 7200,
                                    "end": 7210,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 44
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 7200,
                                      "end": 7204,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7205,
                                      "end": 7210,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 44
                                        }
                                      },
                                      "name": "stats"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7211,
                                    "end": 7214,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 48
                                      }
                                    },
                                    "name": "dom"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "* Sets the cursor style. Applies when the mouse is inside the view's rect.\n        @param {String} style='auto' - CSS cursor style\n        @param {String} [fallback] - Fallback style, should the target style not be available\n        @example\n        // 'grab' is available in WebKit and Blink only\n        view.setCursor('grab', 'move'); ",
                  "start": 7239,
                  "end": 7581,
                  "loc": {
                    "start": {
                      "line": 168,
                      "column": 4
                    },
                    "end": {
                      "line": 173,
                      "column": 42
                    }
                  },
                  "range": [
                    7239,
                    7581
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 7586,
              "end": 7806,
              "loc": {
                "start": {
                  "line": 174,
                  "column": 4
                },
                "end": {
                  "line": 180,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7586,
                "end": 7595,
                "loc": {
                  "start": {
                    "line": 174,
                    "column": 4
                  },
                  "end": {
                    "line": 174,
                    "column": 13
                  }
                },
                "name": "setCursor",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7595,
                "end": 7806,
                "loc": {
                  "start": {
                    "line": 174,
                    "column": 13
                  },
                  "end": {
                    "line": 180,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 7596,
                    "end": 7620,
                    "loc": {
                      "start": {
                        "line": 174,
                        "column": 14
                      },
                      "end": {
                        "line": 174,
                        "column": 38
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 7596,
                      "end": 7601,
                      "loc": {
                        "start": {
                          "line": 174,
                          "column": 14
                        },
                        "end": {
                          "line": 174,
                          "column": 19
                        }
                      },
                      "name": "style"
                    },
                    "right": {
                      "type": "MemberExpression",
                      "start": 7602,
                      "end": 7620,
                      "loc": {
                        "start": {
                          "line": 174,
                          "column": 20
                        },
                        "end": {
                          "line": 174,
                          "column": 38
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 7602,
                        "end": 7606,
                        "loc": {
                          "start": {
                            "line": 174,
                            "column": 20
                          },
                          "end": {
                            "line": 174,
                            "column": 24
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7607,
                        "end": 7620,
                        "loc": {
                          "start": {
                            "line": 174,
                            "column": 25
                          },
                          "end": {
                            "line": 174,
                            "column": 38
                          }
                        },
                        "name": "defaultCursor"
                      },
                      "computed": false
                    }
                  },
                  {
                    "type": "Identifier",
                    "start": 7622,
                    "end": 7630,
                    "loc": {
                      "start": {
                        "line": 174,
                        "column": 40
                      },
                      "end": {
                        "line": 174,
                        "column": 48
                      }
                    },
                    "name": "fallback"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7632,
                  "end": 7806,
                  "loc": {
                    "start": {
                      "line": 174,
                      "column": 50
                    },
                    "end": {
                      "line": 180,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 7642,
                      "end": 7779,
                      "loc": {
                        "start": {
                          "line": 175,
                          "column": 8
                        },
                        "end": {
                          "line": 178,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 7646,
                        "end": 7666,
                        "loc": {
                          "start": {
                            "line": 175,
                            "column": 12
                          },
                          "end": {
                            "line": 175,
                            "column": 32
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 7646,
                          "end": 7651,
                          "loc": {
                            "start": {
                              "line": 175,
                              "column": 12
                            },
                            "end": {
                              "line": 175,
                              "column": 17
                            }
                          },
                          "name": "style"
                        },
                        "operator": "!=",
                        "right": {
                          "type": "MemberExpression",
                          "start": 7655,
                          "end": 7666,
                          "loc": {
                            "start": {
                              "line": 175,
                              "column": 21
                            },
                            "end": {
                              "line": 175,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7655,
                            "end": 7659,
                            "loc": {
                              "start": {
                                "line": 175,
                                "column": 21
                              },
                              "end": {
                                "line": 175,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7660,
                            "end": 7666,
                            "loc": {
                              "start": {
                                "line": 175,
                                "column": 26
                              },
                              "end": {
                                "line": 175,
                                "column": 32
                              }
                            },
                            "name": "cursor"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7668,
                        "end": 7779,
                        "loc": {
                          "start": {
                            "line": 175,
                            "column": 34
                          },
                          "end": {
                            "line": 178,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7682,
                            "end": 7736,
                            "loc": {
                              "start": {
                                "line": 176,
                                "column": 12
                              },
                              "end": {
                                "line": 176,
                                "column": 66
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 7682,
                              "end": 7735,
                              "loc": {
                                "start": {
                                  "line": 176,
                                  "column": 12
                                },
                                "end": {
                                  "line": 176,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 7682,
                                "end": 7698,
                                "loc": {
                                  "start": {
                                    "line": 176,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 176,
                                    "column": 28
                                  }
                                },
                                "name": "setPrefixedValue"
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 7699,
                                  "end": 7707,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7699,
                                    "end": 7703,
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7704,
                                    "end": 7707,
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 37
                                      }
                                    },
                                    "name": "dom"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "Literal",
                                  "start": 7709,
                                  "end": 7717,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 47
                                    }
                                  },
                                  "value": "cursor",
                                  "rawValue": "cursor",
                                  "raw": "\"cursor\""
                                },
                                {
                                  "type": "Identifier",
                                  "start": 7719,
                                  "end": 7724,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 54
                                    }
                                  },
                                  "name": "style"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 7726,
                                  "end": 7734,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 64
                                    }
                                  },
                                  "name": "fallback"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 7749,
                            "end": 7769,
                            "loc": {
                              "start": {
                                "line": 177,
                                "column": 12
                              },
                              "end": {
                                "line": 177,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7749,
                              "end": 7768,
                              "loc": {
                                "start": {
                                  "line": 177,
                                  "column": 12
                                },
                                "end": {
                                  "line": 177,
                                  "column": 31
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 7749,
                                "end": 7760,
                                "loc": {
                                  "start": {
                                    "line": 177,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 177,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 7749,
                                  "end": 7753,
                                  "loc": {
                                    "start": {
                                      "line": 177,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 177,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7754,
                                  "end": 7760,
                                  "loc": {
                                    "start": {
                                      "line": 177,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 177,
                                      "column": 23
                                    }
                                  },
                                  "name": "cursor"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 7763,
                                "end": 7768,
                                "loc": {
                                  "start": {
                                    "line": 177,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 177,
                                    "column": 31
                                  }
                                },
                                "name": "style"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 7788,
                      "end": 7800,
                      "loc": {
                        "start": {
                          "line": 179,
                          "column": 8
                        },
                        "end": {
                          "line": 179,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "ThisExpression",
                        "start": 7795,
                        "end": 7799,
                        "loc": {
                          "start": {
                            "line": 179,
                            "column": 15
                          },
                          "end": {
                            "line": 179,
                            "column": 19
                          }
                        }
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "* Sets the cursor style. Applies when the mouse is inside the view's rect.\n        @param {String} style='auto' - CSS cursor style\n        @param {String} [fallback] - Fallback style, should the target style not be available\n        @example\n        // 'grab' is available in WebKit and Blink only\n        view.setCursor('grab', 'move'); ",
                  "start": 7239,
                  "end": 7581,
                  "loc": {
                    "start": {
                      "line": 168,
                      "column": 4
                    },
                    "end": {
                      "line": 173,
                      "column": 42
                    }
                  },
                  "range": [
                    7239,
                    7581
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "* Projects 2-dimensional coordinate from a 3-dimensional point within the view's scene.\n        @param {THREE.Vector3} point3 - Input point\n        @example\n        // Grab x and y off THREE's projected Vector2\n        let {x, y} = view.getPoint2D(new THREE.Vector3(10, 20, 100));\n        @returns {THREE.Vector2} The projected point ",
                  "start": 7812,
                  "end": 8150,
                  "loc": {
                    "start": {
                      "line": 182,
                      "column": 4
                    },
                    "end": {
                      "line": 187,
                      "column": 55
                    }
                  },
                  "range": [
                    7812,
                    8150
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 8155,
              "end": 8436,
              "loc": {
                "start": {
                  "line": 188,
                  "column": 4
                },
                "end": {
                  "line": 194,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8155,
                "end": 8164,
                "loc": {
                  "start": {
                    "line": 188,
                    "column": 4
                  },
                  "end": {
                    "line": 188,
                    "column": 13
                  }
                },
                "name": "getPoint2",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8164,
                "end": 8436,
                "loc": {
                  "start": {
                    "line": 188,
                    "column": 13
                  },
                  "end": {
                    "line": 194,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8165,
                    "end": 8171,
                    "loc": {
                      "start": {
                        "line": 188,
                        "column": 14
                      },
                      "end": {
                        "line": 188,
                        "column": 20
                      }
                    },
                    "name": "point3"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8173,
                  "end": 8436,
                  "loc": {
                    "start": {
                      "line": 188,
                      "column": 22
                    },
                    "end": {
                      "line": 194,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 8183,
                      "end": 8244,
                      "loc": {
                        "start": {
                          "line": 189,
                          "column": 8
                        },
                        "end": {
                          "line": 189,
                          "column": 69
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8187,
                          "end": 8213,
                          "loc": {
                            "start": {
                              "line": 189,
                              "column": 12
                            },
                            "end": {
                              "line": 189,
                              "column": 38
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8187,
                            "end": 8196,
                            "loc": {
                              "start": {
                                "line": 189,
                                "column": 12
                              },
                              "end": {
                                "line": 189,
                                "column": 21
                              }
                            },
                            "name": "widthHalf"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 8199,
                            "end": 8213,
                            "loc": {
                              "start": {
                                "line": 189,
                                "column": 24
                              },
                              "end": {
                                "line": 189,
                                "column": 38
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 8199,
                              "end": 8209,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 24
                                },
                                "end": {
                                  "line": 189,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8199,
                                "end": 8203,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 189,
                                    "column": 28
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8204,
                                "end": 8209,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 189,
                                    "column": 34
                                  }
                                },
                                "name": "width"
                              },
                              "computed": false
                            },
                            "operator": "/",
                            "right": {
                              "type": "Literal",
                              "start": 8212,
                              "end": 8213,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 37
                                },
                                "end": {
                                  "line": 189,
                                  "column": 38
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            }
                          }
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 8215,
                          "end": 8243,
                          "loc": {
                            "start": {
                              "line": 189,
                              "column": 40
                            },
                            "end": {
                              "line": 189,
                              "column": 68
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8215,
                            "end": 8225,
                            "loc": {
                              "start": {
                                "line": 189,
                                "column": 40
                              },
                              "end": {
                                "line": 189,
                                "column": 50
                              }
                            },
                            "name": "heightHalf"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 8228,
                            "end": 8243,
                            "loc": {
                              "start": {
                                "line": 189,
                                "column": 53
                              },
                              "end": {
                                "line": 189,
                                "column": 68
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 8228,
                              "end": 8239,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 53
                                },
                                "end": {
                                  "line": 189,
                                  "column": 64
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8228,
                                "end": 8232,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 189,
                                    "column": 57
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8233,
                                "end": 8239,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 189,
                                    "column": 64
                                  }
                                },
                                "name": "height"
                              },
                              "computed": false
                            },
                            "operator": "/",
                            "right": {
                              "type": "Literal",
                              "start": 8242,
                              "end": 8243,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 67
                                },
                                "end": {
                                  "line": 189,
                                  "column": 68
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 8253,
                      "end": 8294,
                      "loc": {
                        "start": {
                          "line": 190,
                          "column": 8
                        },
                        "end": {
                          "line": 190,
                          "column": 49
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8257,
                          "end": 8293,
                          "loc": {
                            "start": {
                              "line": 190,
                              "column": 12
                            },
                            "end": {
                              "line": 190,
                              "column": 48
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8257,
                            "end": 8263,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 12
                              },
                              "end": {
                                "line": 190,
                                "column": 18
                              }
                            },
                            "name": "vector"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 8266,
                            "end": 8293,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 21
                              },
                              "end": {
                                "line": 190,
                                "column": 48
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8266,
                              "end": 8280,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 21
                                },
                                "end": {
                                  "line": 190,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8266,
                                "end": 8272,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 27
                                  }
                                },
                                "name": "point3"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8273,
                                "end": 8280,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 35
                                  }
                                },
                                "name": "project"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 8281,
                                "end": 8292,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 8281,
                                  "end": 8285,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 40
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8286,
                                  "end": 8292,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 47
                                    }
                                  },
                                  "name": "camera"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8303,
                      "end": 8349,
                      "loc": {
                        "start": {
                          "line": 191,
                          "column": 8
                        },
                        "end": {
                          "line": 191,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 8303,
                        "end": 8348,
                        "loc": {
                          "start": {
                            "line": 191,
                            "column": 8
                          },
                          "end": {
                            "line": 191,
                            "column": 53
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 8303,
                          "end": 8311,
                          "loc": {
                            "start": {
                              "line": 191,
                              "column": 8
                            },
                            "end": {
                              "line": 191,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8303,
                            "end": 8309,
                            "loc": {
                              "start": {
                                "line": 191,
                                "column": 8
                              },
                              "end": {
                                "line": 191,
                                "column": 14
                              }
                            },
                            "name": "vector"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8310,
                            "end": 8311,
                            "loc": {
                              "start": {
                                "line": 191,
                                "column": 15
                              },
                              "end": {
                                "line": 191,
                                "column": 16
                              }
                            },
                            "name": "x"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 8314,
                          "end": 8348,
                          "loc": {
                            "start": {
                              "line": 191,
                              "column": 19
                            },
                            "end": {
                              "line": 191,
                              "column": 53
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 8315,
                            "end": 8335,
                            "loc": {
                              "start": {
                                "line": 191,
                                "column": 20
                              },
                              "end": {
                                "line": 191,
                                "column": 40
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 8315,
                              "end": 8323,
                              "loc": {
                                "start": {
                                  "line": 191,
                                  "column": 20
                                },
                                "end": {
                                  "line": 191,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8315,
                                "end": 8321,
                                "loc": {
                                  "start": {
                                    "line": 191,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 191,
                                    "column": 26
                                  }
                                },
                                "name": "vector"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8322,
                                "end": 8323,
                                "loc": {
                                  "start": {
                                    "line": 191,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 191,
                                    "column": 28
                                  }
                                },
                                "name": "x"
                              },
                              "computed": false
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 8326,
                              "end": 8335,
                              "loc": {
                                "start": {
                                  "line": 191,
                                  "column": 31
                                },
                                "end": {
                                  "line": 191,
                                  "column": 40
                                }
                              },
                              "name": "widthHalf"
                            },
                            "parenthesizedExpression": true
                          },
                          "operator": "+",
                          "right": {
                            "type": "Identifier",
                            "start": 8339,
                            "end": 8348,
                            "loc": {
                              "start": {
                                "line": 191,
                                "column": 44
                              },
                              "end": {
                                "line": 191,
                                "column": 53
                              }
                            },
                            "name": "widthHalf"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8358,
                      "end": 8407,
                      "loc": {
                        "start": {
                          "line": 192,
                          "column": 8
                        },
                        "end": {
                          "line": 192,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 8358,
                        "end": 8406,
                        "loc": {
                          "start": {
                            "line": 192,
                            "column": 8
                          },
                          "end": {
                            "line": 192,
                            "column": 56
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 8358,
                          "end": 8366,
                          "loc": {
                            "start": {
                              "line": 192,
                              "column": 8
                            },
                            "end": {
                              "line": 192,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8358,
                            "end": 8364,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 8
                              },
                              "end": {
                                "line": 192,
                                "column": 14
                              }
                            },
                            "name": "vector"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8365,
                            "end": 8366,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 15
                              },
                              "end": {
                                "line": 192,
                                "column": 16
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 8369,
                          "end": 8406,
                          "loc": {
                            "start": {
                              "line": 192,
                              "column": 19
                            },
                            "end": {
                              "line": 192,
                              "column": 56
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 8369,
                            "end": 8393,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 19
                              },
                              "end": {
                                "line": 192,
                                "column": 43
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "BinaryExpression",
                              "start": 8371,
                              "end": 8392,
                              "loc": {
                                "start": {
                                  "line": 192,
                                  "column": 21
                                },
                                "end": {
                                  "line": 192,
                                  "column": 42
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 8371,
                                "end": 8379,
                                "loc": {
                                  "start": {
                                    "line": 192,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 192,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8371,
                                  "end": 8377,
                                  "loc": {
                                    "start": {
                                      "line": 192,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 192,
                                      "column": 27
                                    }
                                  },
                                  "name": "vector"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8378,
                                  "end": 8379,
                                  "loc": {
                                    "start": {
                                      "line": 192,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 192,
                                      "column": 29
                                    }
                                  },
                                  "name": "y"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "Identifier",
                                "start": 8382,
                                "end": 8392,
                                "loc": {
                                  "start": {
                                    "line": 192,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 192,
                                    "column": 42
                                  }
                                },
                                "name": "heightHalf"
                              },
                              "parenthesizedExpression": true
                            }
                          },
                          "operator": "+",
                          "right": {
                            "type": "Identifier",
                            "start": 8396,
                            "end": 8406,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 46
                              },
                              "end": {
                                "line": 192,
                                "column": 56
                              }
                            },
                            "name": "heightHalf"
                          }
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 8416,
                      "end": 8430,
                      "loc": {
                        "start": {
                          "line": 193,
                          "column": 8
                        },
                        "end": {
                          "line": 193,
                          "column": 22
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 8423,
                        "end": 8429,
                        "loc": {
                          "start": {
                            "line": 193,
                            "column": 15
                          },
                          "end": {
                            "line": 193,
                            "column": 21
                          }
                        },
                        "name": "vector"
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "* Projects 2-dimensional coordinate from a 3-dimensional point within the view's scene.\n        @param {THREE.Vector3} point3 - Input point\n        @example\n        // Grab x and y off THREE's projected Vector2\n        let {x, y} = view.getPoint2D(new THREE.Vector3(10, 20, 100));\n        @returns {THREE.Vector2} The projected point ",
                  "start": 7812,
                  "end": 8150,
                  "loc": {
                    "start": {
                      "line": 182,
                      "column": 4
                    },
                    "end": {
                      "line": 187,
                      "column": 55
                    }
                  },
                  "range": [
                    7812,
                    8150
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "/Note: maximal depth is used, so the point is on the \"far\" frustum (with huge coordinates)",
                  "start": 8442,
                  "end": 8534,
                  "loc": {
                    "start": {
                      "line": 196,
                      "column": 4
                    },
                    "end": {
                      "line": 196,
                      "column": 96
                    }
                  },
                  "range": [
                    8442,
                    8534
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 8539,
              "end": 8737,
              "loc": {
                "start": {
                  "line": 197,
                  "column": 4
                },
                "end": {
                  "line": 201,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8539,
                "end": 8548,
                "loc": {
                  "start": {
                    "line": 197,
                    "column": 4
                  },
                  "end": {
                    "line": 197,
                    "column": 13
                  }
                },
                "name": "getPoint3",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8548,
                "end": 8737,
                "loc": {
                  "start": {
                    "line": 197,
                    "column": 13
                  },
                  "end": {
                    "line": 201,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8549,
                    "end": 8555,
                    "loc": {
                      "start": {
                        "line": 197,
                        "column": 14
                      },
                      "end": {
                        "line": 197,
                        "column": 20
                      }
                    },
                    "name": "point2"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8557,
                  "end": 8737,
                  "loc": {
                    "start": {
                      "line": 197,
                      "column": 22
                    },
                    "end": {
                      "line": 201,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 8567,
                      "end": 8669,
                      "loc": {
                        "start": {
                          "line": 198,
                          "column": 8
                        },
                        "end": {
                          "line": 198,
                          "column": 110
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8571,
                          "end": 8668,
                          "loc": {
                            "start": {
                              "line": 198,
                              "column": 12
                            },
                            "end": {
                              "line": 198,
                              "column": 109
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8571,
                            "end": 8577,
                            "loc": {
                              "start": {
                                "line": 198,
                                "column": 12
                              },
                              "end": {
                                "line": 198,
                                "column": 18
                              }
                            },
                            "name": "vector"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 8580,
                            "end": 8668,
                            "loc": {
                              "start": {
                                "line": 198,
                                "column": 21
                              },
                              "end": {
                                "line": 198,
                                "column": 109
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8584,
                              "end": 8597,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 25
                                },
                                "end": {
                                  "line": 198,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8584,
                                "end": 8589,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 30
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8590,
                                "end": 8597,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 38
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 8598,
                                "end": 8629,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 70
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8598,
                                  "end": 8625,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 66
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 8599,
                                    "end": 8620,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 61
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 8599,
                                      "end": 8607,
                                      "loc": {
                                        "start": {
                                          "line": 198,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 198,
                                          "column": 48
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8599,
                                        "end": 8605,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 46
                                          }
                                        },
                                        "name": "point2"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8606,
                                        "end": 8607,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 48
                                          }
                                        },
                                        "name": "x"
                                      },
                                      "computed": false
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 8610,
                                      "end": 8620,
                                      "loc": {
                                        "start": {
                                          "line": 198,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 198,
                                          "column": 61
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8610,
                                        "end": 8614,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 55
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8615,
                                        "end": 8620,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 61
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 8624,
                                    "end": 8625,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 66
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "-",
                                "right": {
                                  "type": "Literal",
                                  "start": 8628,
                                  "end": 8629,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 70
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "BinaryExpression",
                                "start": 8631,
                                "end": 8664,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 105
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8631,
                                  "end": 8660,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 72
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 101
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 8631,
                                    "end": 8656,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 72
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 97
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "BinaryExpression",
                                      "start": 8633,
                                      "end": 8655,
                                      "loc": {
                                        "start": {
                                          "line": 198,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 198,
                                          "column": 96
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 8633,
                                        "end": 8641,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 74
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 82
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8633,
                                          "end": 8639,
                                          "loc": {
                                            "start": {
                                              "line": 198,
                                              "column": 74
                                            },
                                            "end": {
                                              "line": 198,
                                              "column": 80
                                            }
                                          },
                                          "name": "point2"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8640,
                                          "end": 8641,
                                          "loc": {
                                            "start": {
                                              "line": 198,
                                              "column": 81
                                            },
                                            "end": {
                                              "line": 198,
                                              "column": 82
                                            }
                                          },
                                          "name": "y"
                                        },
                                        "computed": false
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 8644,
                                        "end": 8655,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 85
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 96
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8644,
                                          "end": 8648,
                                          "loc": {
                                            "start": {
                                              "line": 198,
                                              "column": 85
                                            },
                                            "end": {
                                              "line": 198,
                                              "column": 89
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8649,
                                          "end": 8655,
                                          "loc": {
                                            "start": {
                                              "line": 198,
                                              "column": 90
                                            },
                                            "end": {
                                              "line": 198,
                                              "column": 96
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "computed": false
                                      },
                                      "parenthesizedExpression": true
                                    }
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 8659,
                                    "end": 8660,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 100
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 101
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Literal",
                                  "start": 8663,
                                  "end": 8664,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 104
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 105
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "Literal",
                                "start": 8666,
                                "end": 8667,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 107
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 108
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8678,
                      "end": 8708,
                      "loc": {
                        "start": {
                          "line": 199,
                          "column": 8
                        },
                        "end": {
                          "line": 199,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8678,
                        "end": 8707,
                        "loc": {
                          "start": {
                            "line": 199,
                            "column": 8
                          },
                          "end": {
                            "line": 199,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8678,
                          "end": 8694,
                          "loc": {
                            "start": {
                              "line": 199,
                              "column": 8
                            },
                            "end": {
                              "line": 199,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8678,
                            "end": 8684,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 8
                              },
                              "end": {
                                "line": 199,
                                "column": 14
                              }
                            },
                            "name": "vector"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8685,
                            "end": 8694,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 15
                              },
                              "end": {
                                "line": 199,
                                "column": 24
                              }
                            },
                            "name": "unproject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 8695,
                            "end": 8706,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 25
                              },
                              "end": {
                                "line": 199,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8695,
                              "end": 8699,
                              "loc": {
                                "start": {
                                  "line": 199,
                                  "column": 25
                                },
                                "end": {
                                  "line": 199,
                                  "column": 29
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8700,
                              "end": 8706,
                              "loc": {
                                "start": {
                                  "line": 199,
                                  "column": 30
                                },
                                "end": {
                                  "line": 199,
                                  "column": 36
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 8717,
                      "end": 8731,
                      "loc": {
                        "start": {
                          "line": 200,
                          "column": 8
                        },
                        "end": {
                          "line": 200,
                          "column": 22
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 8724,
                        "end": 8730,
                        "loc": {
                          "start": {
                            "line": 200,
                            "column": 15
                          },
                          "end": {
                            "line": 200,
                            "column": 21
                          }
                        },
                        "name": "vector"
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "/Note: maximal depth is used, so the point is on the \"far\" frustum (with huge coordinates)",
                  "start": 8442,
                  "end": 8534,
                  "loc": {
                    "start": {
                      "line": 196,
                      "column": 4
                    },
                    "end": {
                      "line": 196,
                      "column": 96
                    }
                  },
                  "range": [
                    8442,
                    8534
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "/returns a line of all the points corresponding to given 2D view coords",
                  "start": 8743,
                  "end": 8816,
                  "loc": {
                    "start": {
                      "line": 203,
                      "column": 4
                    },
                    "end": {
                      "line": 203,
                      "column": 77
                    }
                  },
                  "range": [
                    8743,
                    8816
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 8821,
              "end": 9183,
              "loc": {
                "start": {
                  "line": 204,
                  "column": 4
                },
                "end": {
                  "line": 210,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8821,
                "end": 8833,
                "loc": {
                  "start": {
                    "line": 204,
                    "column": 4
                  },
                  "end": {
                    "line": 204,
                    "column": 16
                  }
                },
                "name": "getViewLine3",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8833,
                "end": 9183,
                "loc": {
                  "start": {
                    "line": 204,
                    "column": 16
                  },
                  "end": {
                    "line": 210,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8834,
                    "end": 8840,
                    "loc": {
                      "start": {
                        "line": 204,
                        "column": 17
                      },
                      "end": {
                        "line": 204,
                        "column": 23
                      }
                    },
                    "name": "point2"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8842,
                  "end": 9183,
                  "loc": {
                    "start": {
                      "line": 204,
                      "column": 25
                    },
                    "end": {
                      "line": 210,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 8852,
                      "end": 8952,
                      "loc": {
                        "start": {
                          "line": 205,
                          "column": 8
                        },
                        "end": {
                          "line": 205,
                          "column": 108
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8856,
                          "end": 8951,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 12
                            },
                            "end": {
                              "line": 205,
                              "column": 107
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8856,
                            "end": 8860,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 12
                              },
                              "end": {
                                "line": 205,
                                "column": 16
                              }
                            },
                            "name": "near"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 8863,
                            "end": 8951,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 19
                              },
                              "end": {
                                "line": 205,
                                "column": 107
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8867,
                              "end": 8880,
                              "loc": {
                                "start": {
                                  "line": 205,
                                  "column": 23
                                },
                                "end": {
                                  "line": 205,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8867,
                                "end": 8872,
                                "loc": {
                                  "start": {
                                    "line": 205,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 205,
                                    "column": 28
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8873,
                                "end": 8880,
                                "loc": {
                                  "start": {
                                    "line": 205,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 205,
                                    "column": 36
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 8881,
                                "end": 8912,
                                "loc": {
                                  "start": {
                                    "line": 205,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 205,
                                    "column": 68
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8881,
                                  "end": 8908,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 64
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 8882,
                                    "end": 8903,
                                    "loc": {
                                      "start": {
                                        "line": 205,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 205,
                                        "column": 59
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 8882,
                                      "end": 8890,
                                      "loc": {
                                        "start": {
                                          "line": 205,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 205,
                                          "column": 46
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8882,
                                        "end": 8888,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 44
                                          }
                                        },
                                        "name": "point2"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8889,
                                        "end": 8890,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 46
                                          }
                                        },
                                        "name": "x"
                                      },
                                      "computed": false
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 8893,
                                      "end": 8903,
                                      "loc": {
                                        "start": {
                                          "line": 205,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 205,
                                          "column": 59
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8893,
                                        "end": 8897,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8898,
                                        "end": 8903,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 59
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 8907,
                                    "end": 8908,
                                    "loc": {
                                      "start": {
                                        "line": 205,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 205,
                                        "column": 64
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "-",
                                "right": {
                                  "type": "Literal",
                                  "start": 8911,
                                  "end": 8912,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 68
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "BinaryExpression",
                                "start": 8914,
                                "end": 8947,
                                "loc": {
                                  "start": {
                                    "line": 205,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 205,
                                    "column": 103
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8914,
                                  "end": 8943,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 99
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 8914,
                                    "end": 8939,
                                    "loc": {
                                      "start": {
                                        "line": 205,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 205,
                                        "column": 95
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "BinaryExpression",
                                      "start": 8916,
                                      "end": 8938,
                                      "loc": {
                                        "start": {
                                          "line": 205,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 205,
                                          "column": 94
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 8916,
                                        "end": 8924,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 80
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8916,
                                          "end": 8922,
                                          "loc": {
                                            "start": {
                                              "line": 205,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 205,
                                              "column": 78
                                            }
                                          },
                                          "name": "point2"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8923,
                                          "end": 8924,
                                          "loc": {
                                            "start": {
                                              "line": 205,
                                              "column": 79
                                            },
                                            "end": {
                                              "line": 205,
                                              "column": 80
                                            }
                                          },
                                          "name": "y"
                                        },
                                        "computed": false
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 8927,
                                        "end": 8938,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 94
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8927,
                                          "end": 8931,
                                          "loc": {
                                            "start": {
                                              "line": 205,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 205,
                                              "column": 87
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8932,
                                          "end": 8938,
                                          "loc": {
                                            "start": {
                                              "line": 205,
                                              "column": 88
                                            },
                                            "end": {
                                              "line": 205,
                                              "column": 94
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "computed": false
                                      },
                                      "parenthesizedExpression": true
                                    }
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 8942,
                                    "end": 8943,
                                    "loc": {
                                      "start": {
                                        "line": 205,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 205,
                                        "column": 99
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Literal",
                                  "start": 8946,
                                  "end": 8947,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 102
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 103
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "Literal",
                                "start": 8949,
                                "end": 8950,
                                "loc": {
                                  "start": {
                                    "line": 205,
                                    "column": 105
                                  },
                                  "end": {
                                    "line": 205,
                                    "column": 106
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 8961,
                      "end": 9061,
                      "loc": {
                        "start": {
                          "line": 206,
                          "column": 8
                        },
                        "end": {
                          "line": 206,
                          "column": 108
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8966,
                          "end": 9060,
                          "loc": {
                            "start": {
                              "line": 206,
                              "column": 13
                            },
                            "end": {
                              "line": 206,
                              "column": 107
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8966,
                            "end": 8969,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 13
                              },
                              "end": {
                                "line": 206,
                                "column": 16
                              }
                            },
                            "name": "far"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 8972,
                            "end": 9060,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 19
                              },
                              "end": {
                                "line": 206,
                                "column": 107
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8976,
                              "end": 8989,
                              "loc": {
                                "start": {
                                  "line": 206,
                                  "column": 23
                                },
                                "end": {
                                  "line": 206,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8976,
                                "end": 8981,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 28
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8982,
                                "end": 8989,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 36
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 8990,
                                "end": 9021,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 68
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8990,
                                  "end": 9017,
                                  "loc": {
                                    "start": {
                                      "line": 206,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 206,
                                      "column": 64
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 8991,
                                    "end": 9012,
                                    "loc": {
                                      "start": {
                                        "line": 206,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 206,
                                        "column": 59
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 8991,
                                      "end": 8999,
                                      "loc": {
                                        "start": {
                                          "line": 206,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 206,
                                          "column": 46
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8991,
                                        "end": 8997,
                                        "loc": {
                                          "start": {
                                            "line": 206,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 44
                                          }
                                        },
                                        "name": "point2"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8998,
                                        "end": 8999,
                                        "loc": {
                                          "start": {
                                            "line": 206,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 46
                                          }
                                        },
                                        "name": "x"
                                      },
                                      "computed": false
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 9002,
                                      "end": 9012,
                                      "loc": {
                                        "start": {
                                          "line": 206,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 206,
                                          "column": 59
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9002,
                                        "end": 9006,
                                        "loc": {
                                          "start": {
                                            "line": 206,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9007,
                                        "end": 9012,
                                        "loc": {
                                          "start": {
                                            "line": 206,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 59
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 9016,
                                    "end": 9017,
                                    "loc": {
                                      "start": {
                                        "line": 206,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 206,
                                        "column": 64
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "-",
                                "right": {
                                  "type": "Literal",
                                  "start": 9020,
                                  "end": 9021,
                                  "loc": {
                                    "start": {
                                      "line": 206,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 206,
                                      "column": 68
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "BinaryExpression",
                                "start": 9023,
                                "end": 9056,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 103
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 9023,
                                  "end": 9052,
                                  "loc": {
                                    "start": {
                                      "line": 206,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 206,
                                      "column": 99
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 9023,
                                    "end": 9048,
                                    "loc": {
                                      "start": {
                                        "line": 206,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 206,
                                        "column": 95
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "BinaryExpression",
                                      "start": 9025,
                                      "end": 9047,
                                      "loc": {
                                        "start": {
                                          "line": 206,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 206,
                                          "column": 94
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 9025,
                                        "end": 9033,
                                        "loc": {
                                          "start": {
                                            "line": 206,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 80
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 9025,
                                          "end": 9031,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 78
                                            }
                                          },
                                          "name": "point2"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9032,
                                          "end": 9033,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 79
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 80
                                            }
                                          },
                                          "name": "y"
                                        },
                                        "computed": false
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 9036,
                                        "end": 9047,
                                        "loc": {
                                          "start": {
                                            "line": 206,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 94
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9036,
                                          "end": 9040,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 87
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9041,
                                          "end": 9047,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 88
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 94
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "computed": false
                                      },
                                      "parenthesizedExpression": true
                                    }
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 9051,
                                    "end": 9052,
                                    "loc": {
                                      "start": {
                                        "line": 206,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 206,
                                        "column": 99
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Literal",
                                  "start": 9055,
                                  "end": 9056,
                                  "loc": {
                                    "start": {
                                      "line": 206,
                                      "column": 102
                                    },
                                    "end": {
                                      "line": 206,
                                      "column": 103
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "Literal",
                                "start": 9058,
                                "end": 9059,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 105
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 106
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9070,
                      "end": 9098,
                      "loc": {
                        "start": {
                          "line": 207,
                          "column": 8
                        },
                        "end": {
                          "line": 207,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9070,
                        "end": 9097,
                        "loc": {
                          "start": {
                            "line": 207,
                            "column": 8
                          },
                          "end": {
                            "line": 207,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9070,
                          "end": 9084,
                          "loc": {
                            "start": {
                              "line": 207,
                              "column": 8
                            },
                            "end": {
                              "line": 207,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9070,
                            "end": 9074,
                            "loc": {
                              "start": {
                                "line": 207,
                                "column": 8
                              },
                              "end": {
                                "line": 207,
                                "column": 12
                              }
                            },
                            "name": "near"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9075,
                            "end": 9084,
                            "loc": {
                              "start": {
                                "line": 207,
                                "column": 13
                              },
                              "end": {
                                "line": 207,
                                "column": 22
                              }
                            },
                            "name": "unproject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 9085,
                            "end": 9096,
                            "loc": {
                              "start": {
                                "line": 207,
                                "column": 23
                              },
                              "end": {
                                "line": 207,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9085,
                              "end": 9089,
                              "loc": {
                                "start": {
                                  "line": 207,
                                  "column": 23
                                },
                                "end": {
                                  "line": 207,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9090,
                              "end": 9096,
                              "loc": {
                                "start": {
                                  "line": 207,
                                  "column": 28
                                },
                                "end": {
                                  "line": 207,
                                  "column": 34
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9107,
                      "end": 9134,
                      "loc": {
                        "start": {
                          "line": 208,
                          "column": 8
                        },
                        "end": {
                          "line": 208,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9107,
                        "end": 9133,
                        "loc": {
                          "start": {
                            "line": 208,
                            "column": 8
                          },
                          "end": {
                            "line": 208,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9107,
                          "end": 9120,
                          "loc": {
                            "start": {
                              "line": 208,
                              "column": 8
                            },
                            "end": {
                              "line": 208,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9107,
                            "end": 9110,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 8
                              },
                              "end": {
                                "line": 208,
                                "column": 11
                              }
                            },
                            "name": "far"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9111,
                            "end": 9120,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 12
                              },
                              "end": {
                                "line": 208,
                                "column": 21
                              }
                            },
                            "name": "unproject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 9121,
                            "end": 9132,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 22
                              },
                              "end": {
                                "line": 208,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9121,
                              "end": 9125,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 22
                                },
                                "end": {
                                  "line": 208,
                                  "column": 26
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9126,
                              "end": 9132,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 27
                                },
                                "end": {
                                  "line": 208,
                                  "column": 33
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 9143,
                      "end": 9177,
                      "loc": {
                        "start": {
                          "line": 209,
                          "column": 8
                        },
                        "end": {
                          "line": 209,
                          "column": 42
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 9150,
                        "end": 9176,
                        "loc": {
                          "start": {
                            "line": 209,
                            "column": 15
                          },
                          "end": {
                            "line": 209,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9154,
                          "end": 9165,
                          "loc": {
                            "start": {
                              "line": 209,
                              "column": 19
                            },
                            "end": {
                              "line": 209,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9154,
                            "end": 9159,
                            "loc": {
                              "start": {
                                "line": 209,
                                "column": 19
                              },
                              "end": {
                                "line": 209,
                                "column": 24
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9160,
                            "end": 9165,
                            "loc": {
                              "start": {
                                "line": 209,
                                "column": 25
                              },
                              "end": {
                                "line": 209,
                                "column": 30
                              }
                            },
                            "name": "Line3"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 9166,
                            "end": 9170,
                            "loc": {
                              "start": {
                                "line": 209,
                                "column": 31
                              },
                              "end": {
                                "line": 209,
                                "column": 35
                              }
                            },
                            "name": "near"
                          },
                          {
                            "type": "Identifier",
                            "start": 9172,
                            "end": 9175,
                            "loc": {
                              "start": {
                                "line": 209,
                                "column": 37
                              },
                              "end": {
                                "line": 209,
                                "column": 40
                              }
                            },
                            "name": "far"
                          }
                        ]
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "/returns a line of all the points corresponding to given 2D view coords",
                  "start": 8743,
                  "end": 8816,
                  "loc": {
                    "start": {
                      "line": 203,
                      "column": 4
                    },
                    "end": {
                      "line": 203,
                      "column": 77
                    }
                  },
                  "range": [
                    8743,
                    8816
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 9189,
              "end": 9214,
              "loc": {
                "start": {
                  "line": 212,
                  "column": 4
                },
                "end": {
                  "line": 214,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9189,
                "end": 9203,
                "loc": {
                  "start": {
                    "line": 212,
                    "column": 4
                  },
                  "end": {
                    "line": 212,
                    "column": 18
                  }
                },
                "name": "updateOverlays"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9203,
                "end": 9214,
                "loc": {
                  "start": {
                    "line": 212,
                    "column": 18
                  },
                  "end": {
                    "line": 214,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9206,
                  "end": 9214,
                  "loc": {
                    "start": {
                      "line": 212,
                      "column": 21
                    },
                    "end": {
                      "line": 214,
                      "column": 5
                    }
                  },
                  "body": []
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9220,
              "end": 9565,
              "loc": {
                "start": {
                  "line": 216,
                  "column": 4
                },
                "end": {
                  "line": 226,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9220,
                "end": 9232,
                "loc": {
                  "start": {
                    "line": 216,
                    "column": 4
                  },
                  "end": {
                    "line": 216,
                    "column": 16
                  }
                },
                "name": "updateScopes"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9232,
                "end": 9565,
                "loc": {
                  "start": {
                    "line": 216,
                    "column": 16
                  },
                  "end": {
                    "line": 226,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9235,
                  "end": 9565,
                  "loc": {
                    "start": {
                      "line": 216,
                      "column": 19
                    },
                    "end": {
                      "line": 226,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 9245,
                      "end": 9267,
                      "loc": {
                        "start": {
                          "line": 217,
                          "column": 8
                        },
                        "end": {
                          "line": 217,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9249,
                          "end": 9266,
                          "loc": {
                            "start": {
                              "line": 217,
                              "column": 12
                            },
                            "end": {
                              "line": 217,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9249,
                            "end": 9255,
                            "loc": {
                              "start": {
                                "line": 217,
                                "column": 12
                              },
                              "end": {
                                "line": 217,
                                "column": 18
                              }
                            },
                            "name": "parent"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 9258,
                            "end": 9266,
                            "loc": {
                              "start": {
                                "line": 217,
                                "column": 21
                              },
                              "end": {
                                "line": 217,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9258,
                              "end": 9262,
                              "loc": {
                                "start": {
                                  "line": 217,
                                  "column": 21
                                },
                                "end": {
                                  "line": 217,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9263,
                              "end": 9266,
                              "loc": {
                                "start": {
                                  "line": 217,
                                  "column": 26
                                },
                                "end": {
                                  "line": 217,
                                  "column": 29
                                }
                              },
                              "name": "dom"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "WhileStatement",
                      "start": 9276,
                      "end": 9559,
                      "loc": {
                        "start": {
                          "line": 218,
                          "column": 8
                        },
                        "end": {
                          "line": 225,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 9283,
                        "end": 9320,
                        "loc": {
                          "start": {
                            "line": 218,
                            "column": 15
                          },
                          "end": {
                            "line": 218,
                            "column": 52
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 9283,
                          "end": 9291,
                          "loc": {
                            "start": {
                              "line": 218,
                              "column": 15
                            },
                            "end": {
                              "line": 218,
                              "column": 23
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "UnaryExpression",
                            "start": 9284,
                            "end": 9291,
                            "loc": {
                              "start": {
                                "line": 218,
                                "column": 16
                              },
                              "end": {
                                "line": 218,
                                "column": 23
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "Identifier",
                              "start": 9285,
                              "end": 9291,
                              "loc": {
                                "start": {
                                  "line": 218,
                                  "column": 17
                                },
                                "end": {
                                  "line": 218,
                                  "column": 23
                                }
                              },
                              "name": "parent"
                            }
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 9295,
                          "end": 9320,
                          "loc": {
                            "start": {
                              "line": 218,
                              "column": 27
                            },
                            "end": {
                              "line": 218,
                              "column": 52
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 9295,
                            "end": 9301,
                            "loc": {
                              "start": {
                                "line": 218,
                                "column": 27
                              },
                              "end": {
                                "line": 218,
                                "column": 33
                              }
                            },
                            "name": "parent"
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 9305,
                            "end": 9320,
                            "loc": {
                              "start": {
                                "line": 218,
                                "column": 37
                              },
                              "end": {
                                "line": 218,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 9305,
                              "end": 9316,
                              "loc": {
                                "start": {
                                  "line": 218,
                                  "column": 37
                                },
                                "end": {
                                  "line": 218,
                                  "column": 48
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9305,
                                "end": 9309,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 41
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9310,
                                "end": 9316,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 48
                                  }
                                },
                                "name": "canvas"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9317,
                              "end": 9320,
                              "loc": {
                                "start": {
                                  "line": 218,
                                  "column": 49
                                },
                                "end": {
                                  "line": 218,
                                  "column": 52
                                }
                              },
                              "name": "dom"
                            },
                            "computed": false
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 9322,
                        "end": 9559,
                        "loc": {
                          "start": {
                            "line": 218,
                            "column": 54
                          },
                          "end": {
                            "line": 225,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 9336,
                            "end": 9379,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 12
                              },
                              "end": {
                                "line": 219,
                                "column": 55
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 9340,
                                "end": 9378,
                                "loc": {
                                  "start": {
                                    "line": 219,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 219,
                                    "column": 54
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 9340,
                                  "end": 9345,
                                  "loc": {
                                    "start": {
                                      "line": 219,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 219,
                                      "column": 21
                                    }
                                  },
                                  "name": "scope"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 9348,
                                  "end": 9378,
                                  "loc": {
                                    "start": {
                                      "line": 219,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 219,
                                      "column": 54
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 9348,
                                    "end": 9370,
                                    "loc": {
                                      "start": {
                                        "line": 219,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 219,
                                        "column": 46
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 9348,
                                      "end": 9366,
                                      "loc": {
                                        "start": {
                                          "line": 219,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 219,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 9348,
                                        "end": 9359,
                                        "loc": {
                                          "start": {
                                            "line": 219,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 219,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9348,
                                          "end": 9352,
                                          "loc": {
                                            "start": {
                                              "line": 219,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 219,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9353,
                                          "end": 9359,
                                          "loc": {
                                            "start": {
                                              "line": 219,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 219,
                                              "column": 35
                                            }
                                          },
                                          "name": "canvas"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9360,
                                        "end": 9366,
                                        "loc": {
                                          "start": {
                                            "line": 219,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 219,
                                            "column": 42
                                          }
                                        },
                                        "name": "scopes"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9367,
                                      "end": 9370,
                                      "loc": {
                                        "start": {
                                          "line": 219,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 219,
                                          "column": 46
                                        }
                                      },
                                      "name": "get"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 9371,
                                      "end": 9377,
                                      "loc": {
                                        "start": {
                                          "line": 219,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 219,
                                          "column": 53
                                        }
                                      },
                                      "name": "parent"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "IfStatement",
                            "start": 9392,
                            "end": 9509,
                            "loc": {
                              "start": {
                                "line": 220,
                                "column": 12
                              },
                              "end": {
                                "line": 223,
                                "column": 55
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 9396,
                              "end": 9401,
                              "loc": {
                                "start": {
                                  "line": 220,
                                  "column": 16
                                },
                                "end": {
                                  "line": 220,
                                  "column": 21
                                }
                              },
                              "name": "scope"
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 9419,
                              "end": 9436,
                              "loc": {
                                "start": {
                                  "line": 221,
                                  "column": 16
                                },
                                "end": {
                                  "line": 221,
                                  "column": 33
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 9419,
                                "end": 9435,
                                "loc": {
                                  "start": {
                                    "line": 221,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 221,
                                    "column": 32
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9419,
                                  "end": 9429,
                                  "loc": {
                                    "start": {
                                      "line": 221,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 221,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9419,
                                    "end": 9424,
                                    "loc": {
                                      "start": {
                                        "line": 221,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 221,
                                        "column": 21
                                      }
                                    },
                                    "name": "scope"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9425,
                                    "end": 9429,
                                    "loc": {
                                      "start": {
                                        "line": 221,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 221,
                                        "column": 26
                                      }
                                    },
                                    "name": "push"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 9430,
                                    "end": 9434,
                                    "loc": {
                                      "start": {
                                        "line": 221,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 221,
                                        "column": 31
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "alternate": {
                              "type": "ExpressionStatement",
                              "start": 9470,
                              "end": 9509,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 16
                                },
                                "end": {
                                  "line": 223,
                                  "column": 55
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 9470,
                                "end": 9508,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9470,
                                  "end": 9492,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9470,
                                    "end": 9488,
                                    "loc": {
                                      "start": {
                                        "line": 223,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 223,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 9470,
                                      "end": 9481,
                                      "loc": {
                                        "start": {
                                          "line": 223,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 223,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9470,
                                        "end": 9474,
                                        "loc": {
                                          "start": {
                                            "line": 223,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 223,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9475,
                                        "end": 9481,
                                        "loc": {
                                          "start": {
                                            "line": 223,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 223,
                                            "column": 27
                                          }
                                        },
                                        "name": "canvas"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9482,
                                      "end": 9488,
                                      "loc": {
                                        "start": {
                                          "line": 223,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 223,
                                          "column": 34
                                        }
                                      },
                                      "name": "scopes"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9489,
                                    "end": 9492,
                                    "loc": {
                                      "start": {
                                        "line": 223,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 223,
                                        "column": 38
                                      }
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 9493,
                                    "end": 9499,
                                    "loc": {
                                      "start": {
                                        "line": 223,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 223,
                                        "column": 45
                                      }
                                    },
                                    "name": "parent"
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 9501,
                                    "end": 9507,
                                    "loc": {
                                      "start": {
                                        "line": 223,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 223,
                                        "column": 53
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "ThisExpression",
                                        "start": 9502,
                                        "end": 9506,
                                        "loc": {
                                          "start": {
                                            "line": 223,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 223,
                                            "column": 52
                                          }
                                        }
                                      }
                                    ]
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9522,
                            "end": 9549,
                            "loc": {
                              "start": {
                                "line": 224,
                                "column": 12
                              },
                              "end": {
                                "line": 224,
                                "column": 39
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 9522,
                              "end": 9548,
                              "loc": {
                                "start": {
                                  "line": 224,
                                  "column": 12
                                },
                                "end": {
                                  "line": 224,
                                  "column": 38
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 9522,
                                "end": 9528,
                                "loc": {
                                  "start": {
                                    "line": 224,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 224,
                                    "column": 18
                                  }
                                },
                                "name": "parent"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 9531,
                                "end": 9548,
                                "loc": {
                                  "start": {
                                    "line": 224,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 224,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9531,
                                  "end": 9537,
                                  "loc": {
                                    "start": {
                                      "line": 224,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 224,
                                      "column": 27
                                    }
                                  },
                                  "name": "parent"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9538,
                                  "end": 9548,
                                  "loc": {
                                    "start": {
                                      "line": 224,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 224,
                                      "column": 38
                                    }
                                  },
                                  "name": "parentNode"
                                },
                                "computed": false
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9571,
              "end": 10890,
              "loc": {
                "start": {
                  "line": 228,
                  "column": 4
                },
                "end": {
                  "line": 260,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9571,
                "end": 9576,
                "loc": {
                  "start": {
                    "line": 228,
                    "column": 4
                  },
                  "end": {
                    "line": 228,
                    "column": 9
                  }
                },
                "name": "clear"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9576,
                "end": 10890,
                "loc": {
                  "start": {
                    "line": 228,
                    "column": 9
                  },
                  "end": {
                    "line": 260,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9577,
                    "end": 9581,
                    "loc": {
                      "start": {
                        "line": 228,
                        "column": 10
                      },
                      "end": {
                        "line": 228,
                        "column": 14
                      }
                    },
                    "name": "time"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9583,
                  "end": 10890,
                  "loc": {
                    "start": {
                      "line": 228,
                      "column": 16
                    },
                    "end": {
                      "line": 260,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 9657,
                      "end": 9714,
                      "loc": {
                        "start": {
                          "line": 230,
                          "column": 8
                        },
                        "end": {
                          "line": 230,
                          "column": 65
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9657,
                        "end": 9713,
                        "loc": {
                          "start": {
                            "line": 230,
                            "column": 8
                          },
                          "end": {
                            "line": 230,
                            "column": 64
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 9657,
                          "end": 9667,
                          "loc": {
                            "start": {
                              "line": 230,
                              "column": 8
                            },
                            "end": {
                              "line": 230,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 9657,
                            "end": 9661,
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 8
                              },
                              "end": {
                                "line": 230,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9662,
                            "end": 9667,
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 13
                              },
                              "end": {
                                "line": 230,
                                "column": 18
                              }
                            },
                            "name": "dirty"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 9670,
                          "end": 9713,
                          "loc": {
                            "start": {
                              "line": 230,
                              "column": 21
                            },
                            "end": {
                              "line": 230,
                              "column": 64
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 9670,
                            "end": 9695,
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 21
                              },
                              "end": {
                                "line": 230,
                                "column": 46
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 9670,
                              "end": 9691,
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 21
                                },
                                "end": {
                                  "line": 230,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9670,
                                "end": 9674,
                                "loc": {
                                  "start": {
                                    "line": 230,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 230,
                                    "column": 25
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9675,
                                "end": 9691,
                                "loc": {
                                  "start": {
                                    "line": 230,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 230,
                                    "column": 42
                                  }
                                },
                                "name": "invalidateFrames"
                              },
                              "computed": false
                            },
                            "operator": ">",
                            "right": {
                              "type": "Literal",
                              "start": 9694,
                              "end": 9695,
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 45
                                },
                                "end": {
                                  "line": 230,
                                  "column": 46
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          },
                          "operator": "&&",
                          "right": {
                            "type": "CallExpression",
                            "start": 9699,
                            "end": 9713,
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 50
                              },
                              "end": {
                                "line": 230,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9699,
                              "end": 9711,
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 50
                                },
                                "end": {
                                  "line": 230,
                                  "column": 62
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9699,
                                "end": 9703,
                                "loc": {
                                  "start": {
                                    "line": 230,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 230,
                                    "column": 54
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9704,
                                "end": 9711,
                                "loc": {
                                  "start": {
                                    "line": 230,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 230,
                                    "column": 62
                                  }
                                },
                                "name": "measure"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Measure and check if dirty (size & position changed)",
                          "start": 9593,
                          "end": 9648,
                          "loc": {
                            "start": {
                              "line": 229,
                              "column": 8
                            },
                            "end": {
                              "line": 229,
                              "column": 63
                            }
                          },
                          "range": [
                            9593,
                            9648
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 9723,
                      "end": 10766,
                      "loc": {
                        "start": {
                          "line": 231,
                          "column": 8
                        },
                        "end": {
                          "line": 254,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 9727,
                        "end": 9739,
                        "loc": {
                          "start": {
                            "line": 231,
                            "column": 12
                          },
                          "end": {
                            "line": 231,
                            "column": 24
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 9727,
                          "end": 9731,
                          "loc": {
                            "start": {
                              "line": 231,
                              "column": 12
                            },
                            "end": {
                              "line": 231,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 9732,
                          "end": 9739,
                          "loc": {
                            "start": {
                              "line": 231,
                              "column": 17
                            },
                            "end": {
                              "line": 231,
                              "column": 24
                            }
                          },
                          "name": "visible"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 9741,
                        "end": 10766,
                        "loc": {
                          "start": {
                            "line": 231,
                            "column": 26
                          },
                          "end": {
                            "line": 254,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 9791,
                            "end": 9811,
                            "loc": {
                              "start": {
                                "line": 233,
                                "column": 12
                              },
                              "end": {
                                "line": 233,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 9791,
                              "end": 9810,
                              "loc": {
                                "start": {
                                  "line": 233,
                                  "column": 12
                                },
                                "end": {
                                  "line": 233,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 9791,
                                "end": 9808,
                                "loc": {
                                  "start": {
                                    "line": 233,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 233,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9791,
                                  "end": 9801,
                                  "loc": {
                                    "start": {
                                      "line": 233,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 233,
                                      "column": 22
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9791,
                                    "end": 9795,
                                    "loc": {
                                      "start": {
                                        "line": 233,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 233,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9796,
                                    "end": 9801,
                                    "loc": {
                                      "start": {
                                        "line": 233,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 233,
                                        "column": 22
                                      }
                                    },
                                    "name": "input"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9802,
                                  "end": 9808,
                                  "loc": {
                                    "start": {
                                      "line": 233,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 233,
                                      "column": 29
                                    }
                                  },
                                  "name": "update"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Call event scheduler",
                                "start": 9755,
                                "end": 9778,
                                "loc": {
                                  "start": {
                                    "line": 232,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 232,
                                    "column": 35
                                  }
                                },
                                "range": [
                                  9755,
                                  9778
                                ]
                              }
                            ],
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Update controls",
                                "start": 9824,
                                "end": 9842,
                                "loc": {
                                  "start": {
                                    "line": 234,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 234,
                                    "column": 30
                                  }
                                },
                                "range": [
                                  9824,
                                  9842
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9855,
                            "end": 9882,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 12
                              },
                              "end": {
                                "line": 235,
                                "column": 39
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 9855,
                              "end": 9881,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 12
                                },
                                "end": {
                                  "line": 235,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 9855,
                                "end": 9875,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9855,
                                  "end": 9868,
                                  "loc": {
                                    "start": {
                                      "line": 235,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 235,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9855,
                                    "end": 9859,
                                    "loc": {
                                      "start": {
                                        "line": 235,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 235,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9860,
                                    "end": 9868,
                                    "loc": {
                                      "start": {
                                        "line": 235,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 235,
                                        "column": 25
                                      }
                                    },
                                    "name": "controls"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9869,
                                  "end": 9875,
                                  "loc": {
                                    "start": {
                                      "line": 235,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 235,
                                      "column": 32
                                    }
                                  },
                                  "name": "update"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 9876,
                                  "end": 9880,
                                  "loc": {
                                    "start": {
                                      "line": 235,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 235,
                                      "column": 37
                                    }
                                  },
                                  "name": "time"
                                }
                              ],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Update controls",
                                "start": 9824,
                                "end": 9842,
                                "loc": {
                                  "start": {
                                    "line": 234,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 234,
                                    "column": 30
                                  }
                                },
                                "range": [
                                  9824,
                                  9842
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9895,
                            "end": 9994,
                            "loc": {
                              "start": {
                                "line": 236,
                                "column": 12
                              },
                              "end": {
                                "line": 236,
                                "column": 111
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 9895,
                              "end": 9993,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 12
                                },
                                "end": {
                                  "line": 236,
                                  "column": 110
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 9895,
                                "end": 9960,
                                "loc": {
                                  "start": {
                                    "line": 236,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 236,
                                    "column": 77
                                  }
                                },
                                "left": {
                                  "type": "LogicalExpression",
                                  "start": 9895,
                                  "end": 9923,
                                  "loc": {
                                    "start": {
                                      "line": 236,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 236,
                                      "column": 40
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9895,
                                    "end": 9903,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 20
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9895,
                                      "end": 9899,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9900,
                                      "end": 9903,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 20
                                        }
                                      },
                                      "name": "hud"
                                    },
                                    "computed": false
                                  },
                                  "operator": "&&",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 9907,
                                    "end": 9923,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 40
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9907,
                                      "end": 9911,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9912,
                                      "end": 9923,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 40
                                        }
                                      },
                                      "name": "controlsHud"
                                    },
                                    "computed": false
                                  }
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 9927,
                                  "end": 9960,
                                  "loc": {
                                    "start": {
                                      "line": 236,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 236,
                                      "column": 77
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9927,
                                    "end": 9943,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 60
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9927,
                                      "end": 9931,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 48
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9932,
                                      "end": 9943,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 60
                                        }
                                      },
                                      "name": "controlsHud"
                                    },
                                    "computed": false
                                  },
                                  "operator": "!=",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 9947,
                                    "end": 9960,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 77
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9947,
                                      "end": 9951,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 68
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9952,
                                      "end": 9960,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 77
                                        }
                                      },
                                      "name": "controls"
                                    },
                                    "computed": false
                                  }
                                }
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 9964,
                                "end": 9993,
                                "loc": {
                                  "start": {
                                    "line": 236,
                                    "column": 81
                                  },
                                  "end": {
                                    "line": 236,
                                    "column": 110
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9964,
                                  "end": 9987,
                                  "loc": {
                                    "start": {
                                      "line": 236,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 236,
                                      "column": 104
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9964,
                                    "end": 9980,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 97
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9964,
                                      "end": 9968,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 85
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9969,
                                      "end": 9980,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 86
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 97
                                        }
                                      },
                                      "name": "controlsHud"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9981,
                                    "end": 9987,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 104
                                      }
                                    },
                                    "name": "update"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 9988,
                                    "end": 9992,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 105
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 109
                                      }
                                    },
                                    "name": "time"
                                  }
                                ]
                              }
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Update interaction",
                                "start": 10007,
                                "end": 10028,
                                "loc": {
                                  "start": {
                                    "line": 237,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 237,
                                    "column": 33
                                  }
                                },
                                "range": [
                                  10007,
                                  10028
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 10041,
                            "end": 10067,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 12
                              },
                              "end": {
                                "line": 238,
                                "column": 38
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 10041,
                              "end": 10066,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 12
                                },
                                "end": {
                                  "line": 238,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 10041,
                                "end": 10064,
                                "loc": {
                                  "start": {
                                    "line": 238,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 238,
                                    "column": 35
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10041,
                                  "end": 10057,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10041,
                                    "end": 10045,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10046,
                                    "end": 10057,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 28
                                      }
                                    },
                                    "name": "interaction"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10058,
                                  "end": 10064,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 35
                                    }
                                  },
                                  "name": "update"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Update interaction",
                                "start": 10007,
                                "end": 10028,
                                "loc": {
                                  "start": {
                                    "line": 237,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 237,
                                    "column": 33
                                  }
                                },
                                "range": [
                                  10007,
                                  10028
                                ]
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 10081,
                            "end": 10756,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 12
                              },
                              "end": {
                                "line": 253,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 10085,
                              "end": 10219,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 16
                                },
                                "end": {
                                  "line": 243,
                                  "column": 41
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 10085,
                                "end": 10174,
                                "loc": {
                                  "start": {
                                    "line": 240,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 242,
                                    "column": 38
                                  }
                                },
                                "left": {
                                  "type": "LogicalExpression",
                                  "start": 10085,
                                  "end": 10132,
                                  "loc": {
                                    "start": {
                                      "line": 240,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 241,
                                      "column": 33
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 10085,
                                    "end": 10095,
                                    "loc": {
                                      "start": {
                                        "line": 240,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 240,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10085,
                                      "end": 10089,
                                      "loc": {
                                        "start": {
                                          "line": 240,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 240,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10090,
                                      "end": 10095,
                                      "loc": {
                                        "start": {
                                          "line": 240,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 240,
                                          "column": 26
                                        }
                                      },
                                      "name": "dirty"
                                    },
                                    "computed": false
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 10115,
                                    "end": 10132,
                                    "loc": {
                                      "start": {
                                        "line": 241,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 241,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10115,
                                      "end": 10119,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10120,
                                      "end": 10132,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 33
                                        }
                                      },
                                      "name": "renderAlways"
                                    },
                                    "computed": false
                                  }
                                },
                                "operator": "||",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 10152,
                                  "end": 10174,
                                  "loc": {
                                    "start": {
                                      "line": 242,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 242,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10152,
                                    "end": 10165,
                                    "loc": {
                                      "start": {
                                        "line": 242,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 242,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10152,
                                      "end": 10156,
                                      "loc": {
                                        "start": {
                                          "line": 242,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 242,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10157,
                                      "end": 10165,
                                      "loc": {
                                        "start": {
                                          "line": 242,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 242,
                                          "column": 29
                                        }
                                      },
                                      "name": "controls"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10166,
                                    "end": 10174,
                                    "loc": {
                                      "start": {
                                        "line": 242,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 242,
                                        "column": 38
                                      }
                                    },
                                    "name": "inMotion"
                                  },
                                  "computed": false
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "MemberExpression",
                                "start": 10194,
                                "end": 10219,
                                "loc": {
                                  "start": {
                                    "line": 243,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 243,
                                    "column": 41
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10194,
                                  "end": 10210,
                                  "loc": {
                                    "start": {
                                      "line": 243,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 243,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10194,
                                    "end": 10198,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10199,
                                    "end": 10210,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 32
                                      }
                                    },
                                    "name": "controlsHud"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10211,
                                  "end": 10219,
                                  "loc": {
                                    "start": {
                                      "line": 243,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 243,
                                      "column": 41
                                    }
                                  },
                                  "name": "inMotion"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 10221,
                              "end": 10756,
                              "loc": {
                                "start": {
                                  "line": 243,
                                  "column": 43
                                },
                                "end": {
                                  "line": 253,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 10329,
                                  "end": 10742,
                                  "loc": {
                                    "start": {
                                      "line": 246,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 252,
                                      "column": 17
                                    }
                                  },
                                  "test": {
                                    "type": "MemberExpression",
                                    "start": 10333,
                                    "end": 10343,
                                    "loc": {
                                      "start": {
                                        "line": 246,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 246,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10333,
                                      "end": 10337,
                                      "loc": {
                                        "start": {
                                          "line": 246,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 246,
                                          "column": 24
                                        }
                                      },
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10338,
                                      "end": 10343,
                                      "loc": {
                                        "start": {
                                          "line": 246,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 246,
                                          "column": 30
                                        }
                                      },
                                      "name": "dirty"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 10345,
                                    "end": 10742,
                                    "loc": {
                                      "start": {
                                        "line": 246,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 252,
                                        "column": 17
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10367,
                                        "end": 10394,
                                        "loc": {
                                          "start": {
                                            "line": 247,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 247,
                                            "column": 47
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 10367,
                                          "end": 10393,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 46
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 10367,
                                            "end": 10386,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 39
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10367,
                                              "end": 10380,
                                              "loc": {
                                                "start": {
                                                  "line": 247,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 247,
                                                  "column": 33
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 10367,
                                                "end": 10371,
                                                "loc": {
                                                  "start": {
                                                    "line": 247,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 247,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10372,
                                                "end": 10380,
                                                "loc": {
                                                  "start": {
                                                    "line": 247,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 247,
                                                    "column": 33
                                                  }
                                                },
                                                "name": "renderer"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10381,
                                              "end": 10386,
                                              "loc": {
                                                "start": {
                                                  "line": 247,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 247,
                                                  "column": 39
                                                }
                                              },
                                              "name": "dirty"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 10389,
                                            "end": 10393,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 46
                                              }
                                            },
                                            "value": true,
                                            "rawValue": true,
                                            "raw": "true"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10415,
                                        "end": 10496,
                                        "loc": {
                                          "start": {
                                            "line": 248,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 248,
                                            "column": 101
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10415,
                                          "end": 10495,
                                          "loc": {
                                            "start": {
                                              "line": 248,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 248,
                                              "column": 100
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10415,
                                            "end": 10443,
                                            "loc": {
                                              "start": {
                                                "line": 248,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 248,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10415,
                                              "end": 10431,
                                              "loc": {
                                                "start": {
                                                  "line": 248,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 248,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10415,
                                                "end": 10428,
                                                "loc": {
                                                  "start": {
                                                    "line": 248,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 248,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10415,
                                                  "end": 10419,
                                                  "loc": {
                                                    "start": {
                                                      "line": 248,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 248,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10420,
                                                  "end": 10428,
                                                  "loc": {
                                                    "start": {
                                                      "line": 248,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 248,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10429,
                                                "end": 10431,
                                                "loc": {
                                                  "start": {
                                                    "line": 248,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 248,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "gl"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10432,
                                              "end": 10443,
                                              "loc": {
                                                "start": {
                                                  "line": 248,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 248,
                                                  "column": 48
                                                }
                                              },
                                              "name": "setViewport"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 10444,
                                              "end": 10455,
                                              "loc": {
                                                "start": {
                                                  "line": 248,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 248,
                                                  "column": 60
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10444,
                                                "end": 10452,
                                                "loc": {
                                                  "start": {
                                                    "line": 248,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 248,
                                                    "column": 57
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10444,
                                                  "end": 10448,
                                                  "loc": {
                                                    "start": {
                                                      "line": 248,
                                                      "column": 49
                                                    },
                                                    "end": {
                                                      "line": 248,
                                                      "column": 53
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10449,
                                                  "end": 10452,
                                                  "loc": {
                                                    "start": {
                                                      "line": 248,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 248,
                                                      "column": 57
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10453,
                                                "end": 10454,
                                                "loc": {
                                                  "start": {
                                                    "line": 248,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 248,
                                                    "column": 59
                                                  }
                                                },
                                                "value": 0,
                                                "rawValue": 0,
                                                "raw": "0"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10457,
                                              "end": 10468,
                                              "loc": {
                                                "start": {
                                                  "line": 248,
                                                  "column": 62
                                                },
                                                "end": {
                                                  "line": 248,
                                                  "column": 73
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10457,
                                                "end": 10465,
                                                "loc": {
                                                  "start": {
                                                    "line": 248,
                                                    "column": 62
                                                  },
                                                  "end": {
                                                    "line": 248,
                                                    "column": 70
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10457,
                                                  "end": 10461,
                                                  "loc": {
                                                    "start": {
                                                      "line": 248,
                                                      "column": 62
                                                    },
                                                    "end": {
                                                      "line": 248,
                                                      "column": 66
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10462,
                                                  "end": 10465,
                                                  "loc": {
                                                    "start": {
                                                      "line": 248,
                                                      "column": 67
                                                    },
                                                    "end": {
                                                      "line": 248,
                                                      "column": 70
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10466,
                                                "end": 10467,
                                                "loc": {
                                                  "start": {
                                                    "line": 248,
                                                    "column": 71
                                                  },
                                                  "end": {
                                                    "line": 248,
                                                    "column": 72
                                                  }
                                                },
                                                "value": 1,
                                                "rawValue": 1,
                                                "raw": "1"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10470,
                                              "end": 10481,
                                              "loc": {
                                                "start": {
                                                  "line": 248,
                                                  "column": 75
                                                },
                                                "end": {
                                                  "line": 248,
                                                  "column": 86
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10470,
                                                "end": 10478,
                                                "loc": {
                                                  "start": {
                                                    "line": 248,
                                                    "column": 75
                                                  },
                                                  "end": {
                                                    "line": 248,
                                                    "column": 83
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10470,
                                                  "end": 10474,
                                                  "loc": {
                                                    "start": {
                                                      "line": 248,
                                                      "column": 75
                                                    },
                                                    "end": {
                                                      "line": 248,
                                                      "column": 79
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10475,
                                                  "end": 10478,
                                                  "loc": {
                                                    "start": {
                                                      "line": 248,
                                                      "column": 80
                                                    },
                                                    "end": {
                                                      "line": 248,
                                                      "column": 83
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10479,
                                                "end": 10480,
                                                "loc": {
                                                  "start": {
                                                    "line": 248,
                                                    "column": 84
                                                  },
                                                  "end": {
                                                    "line": 248,
                                                    "column": 85
                                                  }
                                                },
                                                "value": 2,
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10483,
                                              "end": 10494,
                                              "loc": {
                                                "start": {
                                                  "line": 248,
                                                  "column": 88
                                                },
                                                "end": {
                                                  "line": 248,
                                                  "column": 99
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10483,
                                                "end": 10491,
                                                "loc": {
                                                  "start": {
                                                    "line": 248,
                                                    "column": 88
                                                  },
                                                  "end": {
                                                    "line": 248,
                                                    "column": 96
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10483,
                                                  "end": 10487,
                                                  "loc": {
                                                    "start": {
                                                      "line": 248,
                                                      "column": 88
                                                    },
                                                    "end": {
                                                      "line": 248,
                                                      "column": 92
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10488,
                                                  "end": 10491,
                                                  "loc": {
                                                    "start": {
                                                      "line": 248,
                                                      "column": 93
                                                    },
                                                    "end": {
                                                      "line": 248,
                                                      "column": 96
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10492,
                                                "end": 10493,
                                                "loc": {
                                                  "start": {
                                                    "line": 248,
                                                    "column": 97
                                                  },
                                                  "end": {
                                                    "line": 248,
                                                    "column": 98
                                                  }
                                                },
                                                "value": 3,
                                                "rawValue": 3,
                                                "raw": "3"
                                              },
                                              "computed": true
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10517,
                                        "end": 10597,
                                        "loc": {
                                          "start": {
                                            "line": 249,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 249,
                                            "column": 100
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10517,
                                          "end": 10596,
                                          "loc": {
                                            "start": {
                                              "line": 249,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 249,
                                              "column": 99
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10517,
                                            "end": 10544,
                                            "loc": {
                                              "start": {
                                                "line": 249,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 249,
                                                "column": 47
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10517,
                                              "end": 10533,
                                              "loc": {
                                                "start": {
                                                  "line": 249,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 249,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10517,
                                                "end": 10530,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 249,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10517,
                                                  "end": 10521,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10522,
                                                  "end": 10530,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10531,
                                                "end": 10533,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 249,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "gl"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10534,
                                              "end": 10544,
                                              "loc": {
                                                "start": {
                                                  "line": 249,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 249,
                                                  "column": 47
                                                }
                                              },
                                              "name": "setScissor"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 10545,
                                              "end": 10556,
                                              "loc": {
                                                "start": {
                                                  "line": 249,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 249,
                                                  "column": 59
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10545,
                                                "end": 10553,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 249,
                                                    "column": 56
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10545,
                                                  "end": 10549,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 52
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10550,
                                                  "end": 10553,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 56
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10554,
                                                "end": 10555,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 57
                                                  },
                                                  "end": {
                                                    "line": 249,
                                                    "column": 58
                                                  }
                                                },
                                                "value": 0,
                                                "rawValue": 0,
                                                "raw": "0"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10558,
                                              "end": 10569,
                                              "loc": {
                                                "start": {
                                                  "line": 249,
                                                  "column": 61
                                                },
                                                "end": {
                                                  "line": 249,
                                                  "column": 72
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10558,
                                                "end": 10566,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 61
                                                  },
                                                  "end": {
                                                    "line": 249,
                                                    "column": 69
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10558,
                                                  "end": 10562,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 61
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 65
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10563,
                                                  "end": 10566,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 66
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 69
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10567,
                                                "end": 10568,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 70
                                                  },
                                                  "end": {
                                                    "line": 249,
                                                    "column": 71
                                                  }
                                                },
                                                "value": 1,
                                                "rawValue": 1,
                                                "raw": "1"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10571,
                                              "end": 10582,
                                              "loc": {
                                                "start": {
                                                  "line": 249,
                                                  "column": 74
                                                },
                                                "end": {
                                                  "line": 249,
                                                  "column": 85
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10571,
                                                "end": 10579,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 74
                                                  },
                                                  "end": {
                                                    "line": 249,
                                                    "column": 82
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10571,
                                                  "end": 10575,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 74
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 78
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10576,
                                                  "end": 10579,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 79
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 82
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10580,
                                                "end": 10581,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 83
                                                  },
                                                  "end": {
                                                    "line": 249,
                                                    "column": 84
                                                  }
                                                },
                                                "value": 2,
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10584,
                                              "end": 10595,
                                              "loc": {
                                                "start": {
                                                  "line": 249,
                                                  "column": 87
                                                },
                                                "end": {
                                                  "line": 249,
                                                  "column": 98
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10584,
                                                "end": 10592,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 87
                                                  },
                                                  "end": {
                                                    "line": 249,
                                                    "column": 95
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10584,
                                                  "end": 10588,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 87
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 91
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10589,
                                                  "end": 10592,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 92
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 95
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10593,
                                                "end": 10594,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 96
                                                  },
                                                  "end": {
                                                    "line": 249,
                                                    "column": 97
                                                  }
                                                },
                                                "value": 3,
                                                "rawValue": 3,
                                                "raw": "3"
                                              },
                                              "computed": true
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10618,
                                        "end": 10678,
                                        "loc": {
                                          "start": {
                                            "line": 250,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 250,
                                            "column": 80
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10618,
                                          "end": 10677,
                                          "loc": {
                                            "start": {
                                              "line": 250,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 250,
                                              "column": 79
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10618,
                                            "end": 10648,
                                            "loc": {
                                              "start": {
                                                "line": 250,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 250,
                                                "column": 50
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10618,
                                              "end": 10634,
                                              "loc": {
                                                "start": {
                                                  "line": 250,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 250,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10618,
                                                "end": 10631,
                                                "loc": {
                                                  "start": {
                                                    "line": 250,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 250,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10618,
                                                  "end": 10622,
                                                  "loc": {
                                                    "start": {
                                                      "line": 250,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 250,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10623,
                                                  "end": 10631,
                                                  "loc": {
                                                    "start": {
                                                      "line": 250,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 250,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10632,
                                                "end": 10634,
                                                "loc": {
                                                  "start": {
                                                    "line": 250,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 250,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "gl"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10635,
                                              "end": 10648,
                                              "loc": {
                                                "start": {
                                                  "line": 250,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 250,
                                                  "column": 50
                                                }
                                              },
                                              "name": "setClearColor"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 10649,
                                              "end": 10673,
                                              "loc": {
                                                "start": {
                                                  "line": 250,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 250,
                                                  "column": 75
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10649,
                                                "end": 10662,
                                                "loc": {
                                                  "start": {
                                                    "line": 250,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 250,
                                                    "column": 64
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10649,
                                                  "end": 10653,
                                                  "loc": {
                                                    "start": {
                                                      "line": 250,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 250,
                                                      "column": 55
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10654,
                                                  "end": 10662,
                                                  "loc": {
                                                    "start": {
                                                      "line": 250,
                                                      "column": 56
                                                    },
                                                    "end": {
                                                      "line": 250,
                                                      "column": 64
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10663,
                                                "end": 10673,
                                                "loc": {
                                                  "start": {
                                                    "line": 250,
                                                    "column": 65
                                                  },
                                                  "end": {
                                                    "line": 250,
                                                    "column": 75
                                                  }
                                                },
                                                "name": "clearColor"
                                              },
                                              "computed": false
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 10675,
                                              "end": 10676,
                                              "loc": {
                                                "start": {
                                                  "line": 250,
                                                  "column": 77
                                                },
                                                "end": {
                                                  "line": 250,
                                                  "column": 78
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10699,
                                        "end": 10724,
                                        "loc": {
                                          "start": {
                                            "line": 251,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 251,
                                            "column": 45
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10699,
                                          "end": 10723,
                                          "loc": {
                                            "start": {
                                              "line": 251,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 251,
                                              "column": 44
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10699,
                                            "end": 10721,
                                            "loc": {
                                              "start": {
                                                "line": 251,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 251,
                                                "column": 42
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10699,
                                              "end": 10715,
                                              "loc": {
                                                "start": {
                                                  "line": 251,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 251,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10699,
                                                "end": 10712,
                                                "loc": {
                                                  "start": {
                                                    "line": 251,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 251,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10699,
                                                  "end": 10703,
                                                  "loc": {
                                                    "start": {
                                                      "line": 251,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 251,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10704,
                                                  "end": 10712,
                                                  "loc": {
                                                    "start": {
                                                      "line": 251,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 251,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10713,
                                                "end": 10715,
                                                "loc": {
                                                  "start": {
                                                    "line": 251,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 251,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "gl"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10716,
                                              "end": 10721,
                                              "loc": {
                                                "start": {
                                                  "line": 251,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 251,
                                                  "column": 42
                                                }
                                              },
                                              "name": "clear"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        }
                                      }
                                    ]
                                  },
                                  "alternate": null,
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " Clear canvas only if dirty, it isn't necessary for simple interaction",
                                      "start": 10240,
                                      "end": 10312,
                                      "loc": {
                                        "start": {
                                          "line": 245,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 245,
                                          "column": 88
                                        }
                                      },
                                      "range": [
                                        10240,
                                        10312
                                      ]
                                    }
                                  ]
                                }
                              ]
                            },
                            "alternate": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Remove frames",
                          "start": 10776,
                          "end": 10792,
                          "loc": {
                            "start": {
                              "line": 256,
                              "column": 8
                            },
                            "end": {
                              "line": 256,
                              "column": 24
                            }
                          },
                          "range": [
                            10776,
                            10792
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 10801,
                      "end": 10856,
                      "loc": {
                        "start": {
                          "line": 257,
                          "column": 8
                        },
                        "end": {
                          "line": 257,
                          "column": 63
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 10805,
                        "end": 10830,
                        "loc": {
                          "start": {
                            "line": 257,
                            "column": 12
                          },
                          "end": {
                            "line": 257,
                            "column": 37
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 10805,
                          "end": 10826,
                          "loc": {
                            "start": {
                              "line": 257,
                              "column": 12
                            },
                            "end": {
                              "line": 257,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10805,
                            "end": 10809,
                            "loc": {
                              "start": {
                                "line": 257,
                                "column": 12
                              },
                              "end": {
                                "line": 257,
                                "column": 16
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10810,
                            "end": 10826,
                            "loc": {
                              "start": {
                                "line": 257,
                                "column": 17
                              },
                              "end": {
                                "line": 257,
                                "column": 33
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 10829,
                          "end": 10830,
                          "loc": {
                            "start": {
                              "line": 257,
                              "column": 36
                            },
                            "end": {
                              "line": 257,
                              "column": 37
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 10832,
                        "end": 10856,
                        "loc": {
                          "start": {
                            "line": 257,
                            "column": 39
                          },
                          "end": {
                            "line": 257,
                            "column": 63
                          }
                        },
                        "expression": {
                          "type": "UpdateExpression",
                          "start": 10832,
                          "end": 10855,
                          "loc": {
                            "start": {
                              "line": 257,
                              "column": 39
                            },
                            "end": {
                              "line": 257,
                              "column": 62
                            }
                          },
                          "operator": "--",
                          "prefix": false,
                          "argument": {
                            "type": "MemberExpression",
                            "start": 10832,
                            "end": 10853,
                            "loc": {
                              "start": {
                                "line": 257,
                                "column": 39
                              },
                              "end": {
                                "line": 257,
                                "column": 60
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 10832,
                              "end": 10836,
                              "loc": {
                                "start": {
                                  "line": 257,
                                  "column": 39
                                },
                                "end": {
                                  "line": 257,
                                  "column": 43
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10837,
                              "end": 10853,
                              "loc": {
                                "start": {
                                  "line": 257,
                                  "column": 44
                                },
                                "end": {
                                  "line": 257,
                                  "column": 60
                                }
                              },
                              "name": "invalidateFrames"
                            },
                            "computed": false
                          }
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Remove frames",
                          "start": 10776,
                          "end": 10792,
                          "loc": {
                            "start": {
                              "line": 256,
                              "column": 8
                            },
                            "end": {
                              "line": 256,
                              "column": 24
                            }
                          },
                          "range": [
                            10776,
                            10792
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 10866,
                      "end": 10884,
                      "loc": {
                        "start": {
                          "line": 259,
                          "column": 8
                        },
                        "end": {
                          "line": 259,
                          "column": 26
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 10873,
                        "end": 10883,
                        "loc": {
                          "start": {
                            "line": 259,
                            "column": 15
                          },
                          "end": {
                            "line": 259,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 10873,
                          "end": 10877,
                          "loc": {
                            "start": {
                              "line": 259,
                              "column": 15
                            },
                            "end": {
                              "line": 259,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 10878,
                          "end": 10883,
                          "loc": {
                            "start": {
                              "line": 259,
                              "column": 20
                            },
                            "end": {
                              "line": 259,
                              "column": 25
                            }
                          },
                          "name": "dirty"
                        },
                        "computed": false
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 10896,
              "end": 11927,
              "loc": {
                "start": {
                  "line": 262,
                  "column": 4
                },
                "end": {
                  "line": 289,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10896,
                "end": 10902,
                "loc": {
                  "start": {
                    "line": 262,
                    "column": 4
                  },
                  "end": {
                    "line": 262,
                    "column": 10
                  }
                },
                "name": "render"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 10902,
                "end": 11927,
                "loc": {
                  "start": {
                    "line": 262,
                    "column": 10
                  },
                  "end": {
                    "line": 289,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 10903,
                    "end": 10907,
                    "loc": {
                      "start": {
                        "line": 262,
                        "column": 11
                      },
                      "end": {
                        "line": 262,
                        "column": 15
                      }
                    },
                    "name": "time"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 10909,
                  "end": 11927,
                  "loc": {
                    "start": {
                      "line": 262,
                      "column": 17
                    },
                    "end": {
                      "line": 289,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 10919,
                      "end": 11921,
                      "loc": {
                        "start": {
                          "line": 263,
                          "column": 8
                        },
                        "end": {
                          "line": 288,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 10923,
                        "end": 11101,
                        "loc": {
                          "start": {
                            "line": 263,
                            "column": 12
                          },
                          "end": {
                            "line": 268,
                            "column": 22
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 10923,
                          "end": 11075,
                          "loc": {
                            "start": {
                              "line": 263,
                              "column": 12
                            },
                            "end": {
                              "line": 267,
                              "column": 37
                            }
                          },
                          "left": {
                            "type": "LogicalExpression",
                            "start": 10923,
                            "end": 11034,
                            "loc": {
                              "start": {
                                "line": 263,
                                "column": 12
                              },
                              "end": {
                                "line": 266,
                                "column": 34
                              }
                            },
                            "left": {
                              "type": "LogicalExpression",
                              "start": 10923,
                              "end": 10996,
                              "loc": {
                                "start": {
                                  "line": 263,
                                  "column": 12
                                },
                                "end": {
                                  "line": 265,
                                  "column": 29
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 10923,
                                "end": 10963,
                                "loc": {
                                  "start": {
                                    "line": 263,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 264,
                                    "column": 22
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 10923,
                                  "end": 10937,
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 26
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 10923,
                                    "end": 10933,
                                    "loc": {
                                      "start": {
                                        "line": 263,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 263,
                                        "column": 22
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10923,
                                      "end": 10927,
                                      "loc": {
                                        "start": {
                                          "line": 263,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 263,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10928,
                                      "end": 10933,
                                      "loc": {
                                        "start": {
                                          "line": 263,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 263,
                                          "column": 22
                                        }
                                      },
                                      "name": "force"
                                    },
                                    "computed": false
                                  },
                                  "operator": ">",
                                  "right": {
                                    "type": "Literal",
                                    "start": 10936,
                                    "end": 10937,
                                    "loc": {
                                      "start": {
                                        "line": 263,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 263,
                                        "column": 26
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                },
                                "operator": "||",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 10953,
                                  "end": 10963,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 22
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10953,
                                    "end": 10957,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10958,
                                    "end": 10963,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 22
                                      }
                                    },
                                    "name": "dirty"
                                  },
                                  "computed": false
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "MemberExpression",
                                "start": 10979,
                                "end": 10996,
                                "loc": {
                                  "start": {
                                    "line": 265,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 265,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 10979,
                                  "end": 10983,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10984,
                                  "end": 10996,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 29
                                    }
                                  },
                                  "name": "renderAlways"
                                },
                                "computed": false
                              }
                            },
                            "operator": "||",
                            "right": {
                              "type": "MemberExpression",
                              "start": 11012,
                              "end": 11034,
                              "loc": {
                                "start": {
                                  "line": 266,
                                  "column": 12
                                },
                                "end": {
                                  "line": 266,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 11012,
                                "end": 11025,
                                "loc": {
                                  "start": {
                                    "line": 266,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 266,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11012,
                                  "end": 11016,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11017,
                                  "end": 11025,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 25
                                    }
                                  },
                                  "name": "controls"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11026,
                                "end": 11034,
                                "loc": {
                                  "start": {
                                    "line": 266,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 266,
                                    "column": 34
                                  }
                                },
                                "name": "inMotion"
                              },
                              "computed": false
                            }
                          },
                          "operator": "||",
                          "right": {
                            "type": "MemberExpression",
                            "start": 11050,
                            "end": 11075,
                            "loc": {
                              "start": {
                                "line": 267,
                                "column": 12
                              },
                              "end": {
                                "line": 267,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 11050,
                              "end": 11066,
                              "loc": {
                                "start": {
                                  "line": 267,
                                  "column": 12
                                },
                                "end": {
                                  "line": 267,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 11050,
                                "end": 11054,
                                "loc": {
                                  "start": {
                                    "line": 267,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 267,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11055,
                                "end": 11066,
                                "loc": {
                                  "start": {
                                    "line": 267,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 267,
                                    "column": 28
                                  }
                                },
                                "name": "controlsHud"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11067,
                              "end": 11075,
                              "loc": {
                                "start": {
                                  "line": 267,
                                  "column": 29
                                },
                                "end": {
                                  "line": 267,
                                  "column": 37
                                }
                              },
                              "name": "inMotion"
                            },
                            "computed": false
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "MemberExpression",
                          "start": 11091,
                          "end": 11101,
                          "loc": {
                            "start": {
                              "line": 268,
                              "column": 12
                            },
                            "end": {
                              "line": 268,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11091,
                            "end": 11095,
                            "loc": {
                              "start": {
                                "line": 268,
                                "column": 12
                              },
                              "end": {
                                "line": 268,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11096,
                            "end": 11101,
                            "loc": {
                              "start": {
                                "line": 268,
                                "column": 17
                              },
                              "end": {
                                "line": 268,
                                "column": 22
                              }
                            },
                            "name": "stats"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 11103,
                        "end": 11921,
                        "loc": {
                          "start": {
                            "line": 268,
                            "column": 24
                          },
                          "end": {
                            "line": 288,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 11118,
                            "end": 11163,
                            "loc": {
                              "start": {
                                "line": 270,
                                "column": 12
                              },
                              "end": {
                                "line": 270,
                                "column": 57
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 11118,
                              "end": 11162,
                              "loc": {
                                "start": {
                                  "line": 270,
                                  "column": 12
                                },
                                "end": {
                                  "line": 270,
                                  "column": 56
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 11118,
                                "end": 11137,
                                "loc": {
                                  "start": {
                                    "line": 270,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 270,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11118,
                                  "end": 11122,
                                  "loc": {
                                    "start": {
                                      "line": 270,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 270,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11123,
                                  "end": 11137,
                                  "loc": {
                                    "start": {
                                      "line": 270,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 270,
                                      "column": 31
                                    }
                                  },
                                  "name": "callbackBefore"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 11141,
                                "end": 11162,
                                "loc": {
                                  "start": {
                                    "line": 270,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 270,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11141,
                                  "end": 11160,
                                  "loc": {
                                    "start": {
                                      "line": 270,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 270,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11141,
                                    "end": 11145,
                                    "loc": {
                                      "start": {
                                        "line": 270,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 270,
                                        "column": 39
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11146,
                                    "end": 11160,
                                    "loc": {
                                      "start": {
                                        "line": 270,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 270,
                                        "column": 54
                                      }
                                    },
                                    "name": "callbackBefore"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11177,
                            "end": 11258,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 12
                              },
                              "end": {
                                "line": 272,
                                "column": 93
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11177,
                              "end": 11257,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 12
                                },
                                "end": {
                                  "line": 272,
                                  "column": 92
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11177,
                                "end": 11205,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11177,
                                  "end": 11193,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11177,
                                    "end": 11190,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11177,
                                      "end": 11181,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11182,
                                      "end": 11190,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 25
                                        }
                                      },
                                      "name": "renderer"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11191,
                                    "end": 11193,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 28
                                      }
                                    },
                                    "name": "gl"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11194,
                                  "end": 11205,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 40
                                    }
                                  },
                                  "name": "setViewport"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 11206,
                                  "end": 11217,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11206,
                                    "end": 11214,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 49
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11206,
                                      "end": 11210,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11211,
                                      "end": 11214,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 49
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11215,
                                    "end": 11216,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 51
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11219,
                                  "end": 11230,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 65
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11219,
                                    "end": 11227,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 62
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11219,
                                      "end": 11223,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 58
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11224,
                                      "end": 11227,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 62
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11228,
                                    "end": 11229,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 64
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11232,
                                  "end": 11243,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11232,
                                    "end": 11240,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 75
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11232,
                                      "end": 11236,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 67
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 71
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11237,
                                      "end": 11240,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 75
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11241,
                                    "end": 11242,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 76
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 77
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11245,
                                  "end": 11256,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 80
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 91
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11245,
                                    "end": 11253,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 80
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 88
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11245,
                                      "end": 11249,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 84
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11250,
                                      "end": 11253,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 85
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 88
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11254,
                                    "end": 11255,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 90
                                      }
                                    },
                                    "value": 3,
                                    "rawValue": 3,
                                    "raw": "3"
                                  },
                                  "computed": true
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11271,
                            "end": 11351,
                            "loc": {
                              "start": {
                                "line": 273,
                                "column": 12
                              },
                              "end": {
                                "line": 273,
                                "column": 92
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11271,
                              "end": 11350,
                              "loc": {
                                "start": {
                                  "line": 273,
                                  "column": 12
                                },
                                "end": {
                                  "line": 273,
                                  "column": 91
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11271,
                                "end": 11298,
                                "loc": {
                                  "start": {
                                    "line": 273,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 273,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11271,
                                  "end": 11287,
                                  "loc": {
                                    "start": {
                                      "line": 273,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 273,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11271,
                                    "end": 11284,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11271,
                                      "end": 11275,
                                      "loc": {
                                        "start": {
                                          "line": 273,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 273,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11276,
                                      "end": 11284,
                                      "loc": {
                                        "start": {
                                          "line": 273,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 273,
                                          "column": 25
                                        }
                                      },
                                      "name": "renderer"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11285,
                                    "end": 11287,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 28
                                      }
                                    },
                                    "name": "gl"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11288,
                                  "end": 11298,
                                  "loc": {
                                    "start": {
                                      "line": 273,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 273,
                                      "column": 39
                                    }
                                  },
                                  "name": "setScissor"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 11299,
                                  "end": 11310,
                                  "loc": {
                                    "start": {
                                      "line": 273,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 273,
                                      "column": 51
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11299,
                                    "end": 11307,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 48
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11299,
                                      "end": 11303,
                                      "loc": {
                                        "start": {
                                          "line": 273,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 273,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11304,
                                      "end": 11307,
                                      "loc": {
                                        "start": {
                                          "line": 273,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 273,
                                          "column": 48
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11308,
                                    "end": 11309,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 50
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11312,
                                  "end": 11323,
                                  "loc": {
                                    "start": {
                                      "line": 273,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 273,
                                      "column": 64
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11312,
                                    "end": 11320,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 61
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11312,
                                      "end": 11316,
                                      "loc": {
                                        "start": {
                                          "line": 273,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 273,
                                          "column": 57
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11317,
                                      "end": 11320,
                                      "loc": {
                                        "start": {
                                          "line": 273,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 273,
                                          "column": 61
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11321,
                                    "end": 11322,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 63
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11325,
                                  "end": 11336,
                                  "loc": {
                                    "start": {
                                      "line": 273,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 273,
                                      "column": 77
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11325,
                                    "end": 11333,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 74
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11325,
                                      "end": 11329,
                                      "loc": {
                                        "start": {
                                          "line": 273,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 273,
                                          "column": 70
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11330,
                                      "end": 11333,
                                      "loc": {
                                        "start": {
                                          "line": 273,
                                          "column": 71
                                        },
                                        "end": {
                                          "line": 273,
                                          "column": 74
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11334,
                                    "end": 11335,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 75
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 76
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11338,
                                  "end": 11349,
                                  "loc": {
                                    "start": {
                                      "line": 273,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 273,
                                      "column": 90
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11338,
                                    "end": 11346,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 79
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 87
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11338,
                                      "end": 11342,
                                      "loc": {
                                        "start": {
                                          "line": 273,
                                          "column": 79
                                        },
                                        "end": {
                                          "line": 273,
                                          "column": 83
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11343,
                                      "end": 11346,
                                      "loc": {
                                        "start": {
                                          "line": 273,
                                          "column": 84
                                        },
                                        "end": {
                                          "line": 273,
                                          "column": 87
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11347,
                                    "end": 11348,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 88
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 89
                                      }
                                    },
                                    "value": 3,
                                    "rawValue": 3,
                                    "raw": "3"
                                  },
                                  "computed": true
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11364,
                            "end": 11426,
                            "loc": {
                              "start": {
                                "line": 274,
                                "column": 12
                              },
                              "end": {
                                "line": 274,
                                "column": 74
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11364,
                              "end": 11425,
                              "loc": {
                                "start": {
                                  "line": 274,
                                  "column": 12
                                },
                                "end": {
                                  "line": 274,
                                  "column": 73
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11364,
                                "end": 11394,
                                "loc": {
                                  "start": {
                                    "line": 274,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 274,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11364,
                                  "end": 11380,
                                  "loc": {
                                    "start": {
                                      "line": 274,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 274,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11364,
                                    "end": 11377,
                                    "loc": {
                                      "start": {
                                        "line": 274,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 274,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11364,
                                      "end": 11368,
                                      "loc": {
                                        "start": {
                                          "line": 274,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 274,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11369,
                                      "end": 11377,
                                      "loc": {
                                        "start": {
                                          "line": 274,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 274,
                                          "column": 25
                                        }
                                      },
                                      "name": "renderer"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11378,
                                    "end": 11380,
                                    "loc": {
                                      "start": {
                                        "line": 274,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 274,
                                        "column": 28
                                      }
                                    },
                                    "name": "gl"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11381,
                                  "end": 11394,
                                  "loc": {
                                    "start": {
                                      "line": 274,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 274,
                                      "column": 42
                                    }
                                  },
                                  "name": "setClearColor"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 11395,
                                  "end": 11410,
                                  "loc": {
                                    "start": {
                                      "line": 274,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 274,
                                      "column": 58
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11395,
                                    "end": 11399,
                                    "loc": {
                                      "start": {
                                        "line": 274,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 274,
                                        "column": 47
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11400,
                                    "end": 11410,
                                    "loc": {
                                      "start": {
                                        "line": 274,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 274,
                                        "column": 58
                                      }
                                    },
                                    "name": "background"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11412,
                                  "end": 11424,
                                  "loc": {
                                    "start": {
                                      "line": 274,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 274,
                                      "column": 72
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11412,
                                    "end": 11416,
                                    "loc": {
                                      "start": {
                                        "line": 274,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 274,
                                        "column": 64
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11417,
                                    "end": 11424,
                                    "loc": {
                                      "start": {
                                        "line": 274,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 274,
                                        "column": 72
                                      }
                                    },
                                    "name": "opacity"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11439,
                            "end": 11464,
                            "loc": {
                              "start": {
                                "line": 275,
                                "column": 12
                              },
                              "end": {
                                "line": 275,
                                "column": 37
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11439,
                              "end": 11463,
                              "loc": {
                                "start": {
                                  "line": 275,
                                  "column": 12
                                },
                                "end": {
                                  "line": 275,
                                  "column": 36
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11439,
                                "end": 11461,
                                "loc": {
                                  "start": {
                                    "line": 275,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 275,
                                    "column": 34
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11439,
                                  "end": 11455,
                                  "loc": {
                                    "start": {
                                      "line": 275,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 275,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11439,
                                    "end": 11452,
                                    "loc": {
                                      "start": {
                                        "line": 275,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 275,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11439,
                                      "end": 11443,
                                      "loc": {
                                        "start": {
                                          "line": 275,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 275,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11444,
                                      "end": 11452,
                                      "loc": {
                                        "start": {
                                          "line": 275,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 275,
                                          "column": 25
                                        }
                                      },
                                      "name": "renderer"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11453,
                                    "end": 11455,
                                    "loc": {
                                      "start": {
                                        "line": 275,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 275,
                                        "column": 28
                                      }
                                    },
                                    "name": "gl"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11456,
                                  "end": 11461,
                                  "loc": {
                                    "start": {
                                      "line": 275,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 275,
                                      "column": 34
                                    }
                                  },
                                  "name": "clear"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 11478,
                            "end": 11760,
                            "loc": {
                              "start": {
                                "line": 277,
                                "column": 12
                              },
                              "end": {
                                "line": 282,
                                "column": 38
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 11482,
                              "end": 11502,
                              "loc": {
                                "start": {
                                  "line": 277,
                                  "column": 16
                                },
                                "end": {
                                  "line": 277,
                                  "column": 36
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 11483,
                                "end": 11502,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11483,
                                  "end": 11487,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 21
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11488,
                                  "end": 11502,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 36
                                    }
                                  },
                                  "name": "callbackRender"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 11504,
                              "end": 11716,
                              "loc": {
                                "start": {
                                  "line": 277,
                                  "column": 38
                                },
                                "end": {
                                  "line": 281,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 11522,
                                  "end": 11571,
                                  "loc": {
                                    "start": {
                                      "line": 278,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 278,
                                      "column": 65
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 11522,
                                    "end": 11570,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 64
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 11522,
                                      "end": 11545,
                                      "loc": {
                                        "start": {
                                          "line": 278,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 278,
                                          "column": 39
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 11522,
                                        "end": 11538,
                                        "loc": {
                                          "start": {
                                            "line": 278,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 278,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11522,
                                          "end": 11535,
                                          "loc": {
                                            "start": {
                                              "line": 278,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 278,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11522,
                                            "end": 11526,
                                            "loc": {
                                              "start": {
                                                "line": 278,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 278,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11527,
                                            "end": 11535,
                                            "loc": {
                                              "start": {
                                                "line": 278,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 278,
                                                "column": 29
                                              }
                                            },
                                            "name": "renderer"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11536,
                                          "end": 11538,
                                          "loc": {
                                            "start": {
                                              "line": 278,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 278,
                                              "column": 32
                                            }
                                          },
                                          "name": "gl"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11539,
                                        "end": 11545,
                                        "loc": {
                                          "start": {
                                            "line": 278,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 278,
                                            "column": 39
                                          }
                                        },
                                        "name": "render"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 11546,
                                        "end": 11556,
                                        "loc": {
                                          "start": {
                                            "line": 278,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 278,
                                            "column": 50
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 11546,
                                          "end": 11550,
                                          "loc": {
                                            "start": {
                                              "line": 278,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 278,
                                              "column": 44
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11551,
                                          "end": 11556,
                                          "loc": {
                                            "start": {
                                              "line": 278,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 278,
                                              "column": 50
                                            }
                                          },
                                          "name": "scene"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "start": 11558,
                                        "end": 11569,
                                        "loc": {
                                          "start": {
                                            "line": 278,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 278,
                                            "column": 63
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 11558,
                                          "end": 11562,
                                          "loc": {
                                            "start": {
                                              "line": 278,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 278,
                                              "column": 56
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11563,
                                          "end": 11569,
                                          "loc": {
                                            "start": {
                                              "line": 278,
                                              "column": 57
                                            },
                                            "end": {
                                              "line": 278,
                                              "column": 63
                                            }
                                          },
                                          "name": "camera"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 11588,
                                  "end": 11618,
                                  "loc": {
                                    "start": {
                                      "line": 279,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 279,
                                      "column": 46
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 11588,
                                    "end": 11617,
                                    "loc": {
                                      "start": {
                                        "line": 279,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 279,
                                        "column": 45
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 11588,
                                      "end": 11615,
                                      "loc": {
                                        "start": {
                                          "line": 279,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 279,
                                          "column": 43
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 11588,
                                        "end": 11604,
                                        "loc": {
                                          "start": {
                                            "line": 279,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 279,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11588,
                                          "end": 11601,
                                          "loc": {
                                            "start": {
                                              "line": 279,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 279,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11588,
                                            "end": 11592,
                                            "loc": {
                                              "start": {
                                                "line": 279,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 279,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11593,
                                            "end": 11601,
                                            "loc": {
                                              "start": {
                                                "line": 279,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 279,
                                                "column": 29
                                              }
                                            },
                                            "name": "renderer"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11602,
                                          "end": 11604,
                                          "loc": {
                                            "start": {
                                              "line": 279,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 279,
                                              "column": 32
                                            }
                                          },
                                          "name": "gl"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11605,
                                        "end": 11615,
                                        "loc": {
                                          "start": {
                                            "line": 279,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 279,
                                            "column": 43
                                          }
                                        },
                                        "name": "clearDepth"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 11635,
                                  "end": 11702,
                                  "loc": {
                                    "start": {
                                      "line": 280,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 280,
                                      "column": 83
                                    }
                                  },
                                  "expression": {
                                    "type": "LogicalExpression",
                                    "start": 11635,
                                    "end": 11701,
                                    "loc": {
                                      "start": {
                                        "line": 280,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 280,
                                        "column": 82
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 11635,
                                      "end": 11643,
                                      "loc": {
                                        "start": {
                                          "line": 280,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 280,
                                          "column": 24
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 11635,
                                        "end": 11639,
                                        "loc": {
                                          "start": {
                                            "line": 280,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 280,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11640,
                                        "end": 11643,
                                        "loc": {
                                          "start": {
                                            "line": 280,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 280,
                                            "column": 24
                                          }
                                        },
                                        "name": "hud"
                                      },
                                      "computed": false
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 11647,
                                      "end": 11701,
                                      "loc": {
                                        "start": {
                                          "line": 280,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 280,
                                          "column": 82
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 11647,
                                        "end": 11670,
                                        "loc": {
                                          "start": {
                                            "line": 280,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 280,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11647,
                                          "end": 11663,
                                          "loc": {
                                            "start": {
                                              "line": 280,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 280,
                                              "column": 44
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 11647,
                                            "end": 11660,
                                            "loc": {
                                              "start": {
                                                "line": 280,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 280,
                                                "column": 41
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 11647,
                                              "end": 11651,
                                              "loc": {
                                                "start": {
                                                  "line": 280,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 280,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 11652,
                                              "end": 11660,
                                              "loc": {
                                                "start": {
                                                  "line": 280,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 280,
                                                  "column": 41
                                                }
                                              },
                                              "name": "renderer"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11661,
                                            "end": 11663,
                                            "loc": {
                                              "start": {
                                                "line": 280,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 280,
                                                "column": 44
                                              }
                                            },
                                            "name": "gl"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11664,
                                          "end": 11670,
                                          "loc": {
                                            "start": {
                                              "line": 280,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 280,
                                              "column": 51
                                            }
                                          },
                                          "name": "render"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 11671,
                                          "end": 11684,
                                          "loc": {
                                            "start": {
                                              "line": 280,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 280,
                                              "column": 65
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11671,
                                            "end": 11675,
                                            "loc": {
                                              "start": {
                                                "line": 280,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 280,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11676,
                                            "end": 11684,
                                            "loc": {
                                              "start": {
                                                "line": 280,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 280,
                                                "column": 65
                                              }
                                            },
                                            "name": "sceneHud"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 11686,
                                          "end": 11700,
                                          "loc": {
                                            "start": {
                                              "line": 280,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 280,
                                              "column": 81
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11686,
                                            "end": 11690,
                                            "loc": {
                                              "start": {
                                                "line": 280,
                                                "column": 67
                                              },
                                              "end": {
                                                "line": 280,
                                                "column": 71
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11691,
                                            "end": 11700,
                                            "loc": {
                                              "start": {
                                                "line": 280,
                                                "column": 72
                                              },
                                              "end": {
                                                "line": 280,
                                                "column": 81
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  }
                                }
                              ]
                            },
                            "alternate": {
                              "type": "ExpressionStatement",
                              "start": 11738,
                              "end": 11760,
                              "loc": {
                                "start": {
                                  "line": 282,
                                  "column": 16
                                },
                                "end": {
                                  "line": 282,
                                  "column": 38
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 11738,
                                "end": 11759,
                                "loc": {
                                  "start": {
                                    "line": 282,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 282,
                                    "column": 37
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11738,
                                  "end": 11757,
                                  "loc": {
                                    "start": {
                                      "line": 282,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 282,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11738,
                                    "end": 11742,
                                    "loc": {
                                      "start": {
                                        "line": 282,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 282,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11743,
                                    "end": 11757,
                                    "loc": {
                                      "start": {
                                        "line": 282,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 282,
                                        "column": 35
                                      }
                                    },
                                    "name": "callbackRender"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11774,
                            "end": 11817,
                            "loc": {
                              "start": {
                                "line": 284,
                                "column": 12
                              },
                              "end": {
                                "line": 284,
                                "column": 55
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 11774,
                              "end": 11816,
                              "loc": {
                                "start": {
                                  "line": 284,
                                  "column": 12
                                },
                                "end": {
                                  "line": 284,
                                  "column": 54
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 11774,
                                "end": 11792,
                                "loc": {
                                  "start": {
                                    "line": 284,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 284,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11774,
                                  "end": 11778,
                                  "loc": {
                                    "start": {
                                      "line": 284,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 284,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11779,
                                  "end": 11792,
                                  "loc": {
                                    "start": {
                                      "line": 284,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 284,
                                      "column": 30
                                    }
                                  },
                                  "name": "callbackAfter"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 11796,
                                "end": 11816,
                                "loc": {
                                  "start": {
                                    "line": 284,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 284,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11796,
                                  "end": 11814,
                                  "loc": {
                                    "start": {
                                      "line": 284,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 284,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11796,
                                    "end": 11800,
                                    "loc": {
                                      "start": {
                                        "line": 284,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 284,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11801,
                                    "end": 11814,
                                    "loc": {
                                      "start": {
                                        "line": 284,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 284,
                                        "column": 52
                                      }
                                    },
                                    "name": "callbackAfter"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11830,
                            "end": 11864,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 12
                              },
                              "end": {
                                "line": 285,
                                "column": 46
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 11830,
                              "end": 11863,
                              "loc": {
                                "start": {
                                  "line": 285,
                                  "column": 12
                                },
                                "end": {
                                  "line": 285,
                                  "column": 45
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 11830,
                                "end": 11840,
                                "loc": {
                                  "start": {
                                    "line": 285,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 285,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11830,
                                  "end": 11834,
                                  "loc": {
                                    "start": {
                                      "line": 285,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 285,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11835,
                                  "end": 11840,
                                  "loc": {
                                    "start": {
                                      "line": 285,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 285,
                                      "column": 22
                                    }
                                  },
                                  "name": "stats"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 11844,
                                "end": 11863,
                                "loc": {
                                  "start": {
                                    "line": 285,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 285,
                                    "column": 45
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11844,
                                  "end": 11861,
                                  "loc": {
                                    "start": {
                                      "line": 285,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 285,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11844,
                                    "end": 11854,
                                    "loc": {
                                      "start": {
                                        "line": 285,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 285,
                                        "column": 36
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11844,
                                      "end": 11848,
                                      "loc": {
                                        "start": {
                                          "line": 285,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 285,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11849,
                                      "end": 11854,
                                      "loc": {
                                        "start": {
                                          "line": 285,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 285,
                                          "column": 36
                                        }
                                      },
                                      "name": "stats"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11855,
                                    "end": 11861,
                                    "loc": {
                                      "start": {
                                        "line": 285,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 285,
                                        "column": 43
                                      }
                                    },
                                    "name": "update"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 11878,
                            "end": 11911,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 12
                              },
                              "end": {
                                "line": 287,
                                "column": 45
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 11882,
                              "end": 11896,
                              "loc": {
                                "start": {
                                  "line": 287,
                                  "column": 16
                                },
                                "end": {
                                  "line": 287,
                                  "column": 30
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 11882,
                                "end": 11892,
                                "loc": {
                                  "start": {
                                    "line": 287,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 287,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11882,
                                  "end": 11886,
                                  "loc": {
                                    "start": {
                                      "line": 287,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 287,
                                      "column": 20
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11887,
                                  "end": 11892,
                                  "loc": {
                                    "start": {
                                      "line": 287,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 287,
                                      "column": 26
                                    }
                                  },
                                  "name": "force"
                                },
                                "computed": false
                              },
                              "operator": ">",
                              "right": {
                                "type": "Literal",
                                "start": 11895,
                                "end": 11896,
                                "loc": {
                                  "start": {
                                    "line": 287,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 287,
                                    "column": 30
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 11898,
                              "end": 11911,
                              "loc": {
                                "start": {
                                  "line": 287,
                                  "column": 32
                                },
                                "end": {
                                  "line": 287,
                                  "column": 45
                                }
                              },
                              "expression": {
                                "type": "UpdateExpression",
                                "start": 11898,
                                "end": 11910,
                                "loc": {
                                  "start": {
                                    "line": 287,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 287,
                                    "column": 44
                                  }
                                },
                                "operator": "--",
                                "prefix": false,
                                "argument": {
                                  "type": "MemberExpression",
                                  "start": 11898,
                                  "end": 11908,
                                  "loc": {
                                    "start": {
                                      "line": 287,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 287,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11898,
                                    "end": 11902,
                                    "loc": {
                                      "start": {
                                        "line": 287,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 287,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11903,
                                    "end": 11908,
                                    "loc": {
                                      "start": {
                                        "line": 287,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 287,
                                        "column": 42
                                      }
                                    },
                                    "name": "force"
                                  },
                                  "computed": false
                                }
                              }
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11933,
              "end": 12169,
              "loc": {
                "start": {
                  "line": 291,
                  "column": 4
                },
                "end": {
                  "line": 297,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11933,
                "end": 11943,
                "loc": {
                  "start": {
                    "line": 291,
                    "column": 4
                  },
                  "end": {
                    "line": 291,
                    "column": 14
                  }
                },
                "name": "invalidate"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11943,
                "end": 12169,
                "loc": {
                  "start": {
                    "line": 291,
                    "column": 14
                  },
                  "end": {
                    "line": 297,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 11944,
                    "end": 11954,
                    "loc": {
                      "start": {
                        "line": 291,
                        "column": 15
                      },
                      "end": {
                        "line": 291,
                        "column": 25
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 11944,
                      "end": 11950,
                      "loc": {
                        "start": {
                          "line": 291,
                          "column": 15
                        },
                        "end": {
                          "line": 291,
                          "column": 21
                        }
                      },
                      "name": "frames"
                    },
                    "right": {
                      "type": "Literal",
                      "start": 11953,
                      "end": 11954,
                      "loc": {
                        "start": {
                          "line": 291,
                          "column": 24
                        },
                        "end": {
                          "line": 291,
                          "column": 25
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11956,
                  "end": 12169,
                  "loc": {
                    "start": {
                      "line": 291,
                      "column": 27
                    },
                    "end": {
                      "line": 297,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 11966,
                      "end": 11987,
                      "loc": {
                        "start": {
                          "line": 292,
                          "column": 8
                        },
                        "end": {
                          "line": 292,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 11966,
                        "end": 11986,
                        "loc": {
                          "start": {
                            "line": 292,
                            "column": 8
                          },
                          "end": {
                            "line": 292,
                            "column": 28
                          }
                        },
                        "operator": "+=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 11966,
                          "end": 11976,
                          "loc": {
                            "start": {
                              "line": 292,
                              "column": 8
                            },
                            "end": {
                              "line": 292,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11966,
                            "end": 11970,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 8
                              },
                              "end": {
                                "line": 292,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11971,
                            "end": 11976,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 13
                              },
                              "end": {
                                "line": 292,
                                "column": 18
                              }
                            },
                            "name": "force"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 11980,
                          "end": 11986,
                          "loc": {
                            "start": {
                              "line": 292,
                              "column": 22
                            },
                            "end": {
                              "line": 292,
                              "column": 28
                            }
                          },
                          "name": "frames"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 11996,
                      "end": 12033,
                      "loc": {
                        "start": {
                          "line": 293,
                          "column": 8
                        },
                        "end": {
                          "line": 293,
                          "column": 45
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 12000,
                        "end": 12015,
                        "loc": {
                          "start": {
                            "line": 293,
                            "column": 12
                          },
                          "end": {
                            "line": 293,
                            "column": 27
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 12000,
                          "end": 12010,
                          "loc": {
                            "start": {
                              "line": 293,
                              "column": 12
                            },
                            "end": {
                              "line": 293,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12000,
                            "end": 12004,
                            "loc": {
                              "start": {
                                "line": 293,
                                "column": 12
                              },
                              "end": {
                                "line": 293,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12005,
                            "end": 12010,
                            "loc": {
                              "start": {
                                "line": 293,
                                "column": 17
                              },
                              "end": {
                                "line": 293,
                                "column": 22
                              }
                            },
                            "name": "force"
                          },
                          "computed": false
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 12013,
                          "end": 12015,
                          "loc": {
                            "start": {
                              "line": 293,
                              "column": 25
                            },
                            "end": {
                              "line": 293,
                              "column": 27
                            }
                          },
                          "value": 60,
                          "rawValue": 60,
                          "raw": "60"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12017,
                        "end": 12033,
                        "loc": {
                          "start": {
                            "line": 293,
                            "column": 29
                          },
                          "end": {
                            "line": 293,
                            "column": 45
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 12017,
                          "end": 12032,
                          "loc": {
                            "start": {
                              "line": 293,
                              "column": 29
                            },
                            "end": {
                              "line": 293,
                              "column": 44
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 12017,
                            "end": 12027,
                            "loc": {
                              "start": {
                                "line": 293,
                                "column": 29
                              },
                              "end": {
                                "line": 293,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12017,
                              "end": 12021,
                              "loc": {
                                "start": {
                                  "line": 293,
                                  "column": 29
                                },
                                "end": {
                                  "line": 293,
                                  "column": 33
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12022,
                              "end": 12027,
                              "loc": {
                                "start": {
                                  "line": 293,
                                  "column": 34
                                },
                                "end": {
                                  "line": 293,
                                  "column": 39
                                }
                              },
                              "name": "force"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 12030,
                            "end": 12032,
                            "loc": {
                              "start": {
                                "line": 293,
                                "column": 42
                              },
                              "end": {
                                "line": 293,
                                "column": 44
                              }
                            },
                            "value": 60,
                            "rawValue": 60,
                            "raw": "60"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12042,
                      "end": 12074,
                      "loc": {
                        "start": {
                          "line": 294,
                          "column": 8
                        },
                        "end": {
                          "line": 294,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12042,
                        "end": 12073,
                        "loc": {
                          "start": {
                            "line": 294,
                            "column": 8
                          },
                          "end": {
                            "line": 294,
                            "column": 39
                          }
                        },
                        "operator": "+=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12042,
                          "end": 12063,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 8
                            },
                            "end": {
                              "line": 294,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12042,
                            "end": 12046,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 8
                              },
                              "end": {
                                "line": 294,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12047,
                            "end": 12063,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 13
                              },
                              "end": {
                                "line": 294,
                                "column": 29
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 12067,
                          "end": 12073,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 33
                            },
                            "end": {
                              "line": 294,
                              "column": 39
                            }
                          },
                          "name": "frames"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 12083,
                      "end": 12142,
                      "loc": {
                        "start": {
                          "line": 295,
                          "column": 8
                        },
                        "end": {
                          "line": 295,
                          "column": 67
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 12087,
                        "end": 12113,
                        "loc": {
                          "start": {
                            "line": 295,
                            "column": 12
                          },
                          "end": {
                            "line": 295,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 12087,
                          "end": 12108,
                          "loc": {
                            "start": {
                              "line": 295,
                              "column": 12
                            },
                            "end": {
                              "line": 295,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12087,
                            "end": 12091,
                            "loc": {
                              "start": {
                                "line": 295,
                                "column": 12
                              },
                              "end": {
                                "line": 295,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12092,
                            "end": 12108,
                            "loc": {
                              "start": {
                                "line": 295,
                                "column": 17
                              },
                              "end": {
                                "line": 295,
                                "column": 33
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 12111,
                          "end": 12113,
                          "loc": {
                            "start": {
                              "line": 295,
                              "column": 36
                            },
                            "end": {
                              "line": 295,
                              "column": 38
                            }
                          },
                          "value": 60,
                          "rawValue": 60,
                          "raw": "60"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12115,
                        "end": 12142,
                        "loc": {
                          "start": {
                            "line": 295,
                            "column": 40
                          },
                          "end": {
                            "line": 295,
                            "column": 67
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 12115,
                          "end": 12141,
                          "loc": {
                            "start": {
                              "line": 295,
                              "column": 40
                            },
                            "end": {
                              "line": 295,
                              "column": 66
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 12115,
                            "end": 12136,
                            "loc": {
                              "start": {
                                "line": 295,
                                "column": 40
                              },
                              "end": {
                                "line": 295,
                                "column": 61
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12115,
                              "end": 12119,
                              "loc": {
                                "start": {
                                  "line": 295,
                                  "column": 40
                                },
                                "end": {
                                  "line": 295,
                                  "column": 44
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12120,
                              "end": 12136,
                              "loc": {
                                "start": {
                                  "line": 295,
                                  "column": 45
                                },
                                "end": {
                                  "line": 295,
                                  "column": 61
                                }
                              },
                              "name": "invalidateFrames"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 12139,
                            "end": 12141,
                            "loc": {
                              "start": {
                                "line": 295,
                                "column": 64
                              },
                              "end": {
                                "line": 295,
                                "column": 66
                              }
                            },
                            "value": 60,
                            "rawValue": 60,
                            "raw": "60"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 12151,
                      "end": 12163,
                      "loc": {
                        "start": {
                          "line": 296,
                          "column": 8
                        },
                        "end": {
                          "line": 296,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "ThisExpression",
                        "start": 12158,
                        "end": 12162,
                        "loc": {
                          "start": {
                            "line": 296,
                            "column": 15
                          },
                          "end": {
                            "line": 296,
                            "column": 19
                          }
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12175,
              "end": 14155,
              "loc": {
                "start": {
                  "line": 299,
                  "column": 4
                },
                "end": {
                  "line": 358,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12175,
                "end": 12182,
                "loc": {
                  "start": {
                    "line": 299,
                    "column": 4
                  },
                  "end": {
                    "line": 299,
                    "column": 11
                  }
                },
                "name": "measure"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12182,
                "end": 14155,
                "loc": {
                  "start": {
                    "line": 299,
                    "column": 11
                  },
                  "end": {
                    "line": 358,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 12185,
                  "end": 14155,
                  "loc": {
                    "start": {
                      "line": 299,
                      "column": 14
                    },
                    "end": {
                      "line": 358,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 12195,
                      "end": 12213,
                      "loc": {
                        "start": {
                          "line": 300,
                          "column": 8
                        },
                        "end": {
                          "line": 300,
                          "column": 26
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12199,
                          "end": 12212,
                          "loc": {
                            "start": {
                              "line": 300,
                              "column": 12
                            },
                            "end": {
                              "line": 300,
                              "column": 25
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12199,
                            "end": 12204,
                            "loc": {
                              "start": {
                                "line": 300,
                                "column": 12
                              },
                              "end": {
                                "line": 300,
                                "column": 17
                              }
                            },
                            "name": "dirty"
                          },
                          "init": {
                            "type": "Literal",
                            "start": 12207,
                            "end": 12212,
                            "loc": {
                              "start": {
                                "line": 300,
                                "column": 20
                              },
                              "end": {
                                "line": 300,
                                "column": 25
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12222,
                      "end": 12268,
                      "loc": {
                        "start": {
                          "line": 301,
                          "column": 8
                        },
                        "end": {
                          "line": 301,
                          "column": 54
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12226,
                          "end": 12267,
                          "loc": {
                            "start": {
                              "line": 301,
                              "column": 12
                            },
                            "end": {
                              "line": 301,
                              "column": 53
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12226,
                            "end": 12232,
                            "loc": {
                              "start": {
                                "line": 301,
                                "column": 12
                              },
                              "end": {
                                "line": 301,
                                "column": 18
                              }
                            },
                            "name": "bounds"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 12235,
                            "end": 12267,
                            "loc": {
                              "start": {
                                "line": 301,
                                "column": 21
                              },
                              "end": {
                                "line": 301,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12235,
                              "end": 12265,
                              "loc": {
                                "start": {
                                  "line": 301,
                                  "column": 21
                                },
                                "end": {
                                  "line": 301,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 12235,
                                "end": 12243,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12235,
                                  "end": 12239,
                                  "loc": {
                                    "start": {
                                      "line": 301,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 301,
                                      "column": 25
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12240,
                                  "end": 12243,
                                  "loc": {
                                    "start": {
                                      "line": 301,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 301,
                                      "column": 29
                                    }
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12244,
                                "end": 12265,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 51
                                  }
                                },
                                "name": "getBoundingClientRect"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12277,
                      "end": 12428,
                      "loc": {
                        "start": {
                          "line": 302,
                          "column": 8
                        },
                        "end": {
                          "line": 307,
                          "column": 9
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12281,
                          "end": 12428,
                          "loc": {
                            "start": {
                              "line": 302,
                              "column": 12
                            },
                            "end": {
                              "line": 307,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12281,
                            "end": 12287,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 12
                              },
                              "end": {
                                "line": 302,
                                "column": 18
                              }
                            },
                            "name": "offset"
                          },
                          "init": {
                            "type": "ObjectExpression",
                            "start": 12290,
                            "end": 12428,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 21
                              },
                              "end": {
                                "line": 307,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 12304,
                                "end": 12319,
                                "loc": {
                                  "start": {
                                    "line": 303,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 303,
                                    "column": 27
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12304,
                                  "end": 12307,
                                  "loc": {
                                    "start": {
                                      "line": 303,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 303,
                                      "column": 15
                                    }
                                  },
                                  "name": "top"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 12309,
                                  "end": 12319,
                                  "loc": {
                                    "start": {
                                      "line": 303,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 303,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12309,
                                    "end": 12315,
                                    "loc": {
                                      "start": {
                                        "line": 303,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 303,
                                        "column": 23
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12316,
                                    "end": 12319,
                                    "loc": {
                                      "start": {
                                        "line": 303,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 303,
                                        "column": 27
                                      }
                                    },
                                    "name": "top"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 12333,
                                "end": 12350,
                                "loc": {
                                  "start": {
                                    "line": 304,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 304,
                                    "column": 29
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12333,
                                  "end": 12337,
                                  "loc": {
                                    "start": {
                                      "line": 304,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 304,
                                      "column": 16
                                    }
                                  },
                                  "name": "left"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 12339,
                                  "end": 12350,
                                  "loc": {
                                    "start": {
                                      "line": 304,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 304,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12339,
                                    "end": 12345,
                                    "loc": {
                                      "start": {
                                        "line": 304,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 304,
                                        "column": 24
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12346,
                                    "end": 12350,
                                    "loc": {
                                      "start": {
                                        "line": 304,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 304,
                                        "column": 29
                                      }
                                    },
                                    "name": "left"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 12364,
                                "end": 12383,
                                "loc": {
                                  "start": {
                                    "line": 305,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 305,
                                    "column": 31
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12364,
                                  "end": 12369,
                                  "loc": {
                                    "start": {
                                      "line": 305,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 305,
                                      "column": 17
                                    }
                                  },
                                  "name": "width"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 12371,
                                  "end": 12383,
                                  "loc": {
                                    "start": {
                                      "line": 305,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 305,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12371,
                                    "end": 12377,
                                    "loc": {
                                      "start": {
                                        "line": 305,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 305,
                                        "column": 25
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12378,
                                    "end": 12383,
                                    "loc": {
                                      "start": {
                                        "line": 305,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 305,
                                        "column": 31
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 12397,
                                "end": 12418,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 33
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12397,
                                  "end": 12403,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 18
                                    }
                                  },
                                  "name": "height"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 12405,
                                  "end": 12418,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12405,
                                    "end": 12411,
                                    "loc": {
                                      "start": {
                                        "line": 306,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 306,
                                        "column": 26
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12412,
                                    "end": 12418,
                                    "loc": {
                                      "start": {
                                        "line": 306,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 306,
                                        "column": 33
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12438,
                      "end": 12477,
                      "loc": {
                        "start": {
                          "line": 309,
                          "column": 8
                        },
                        "end": {
                          "line": 309,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12438,
                        "end": 12476,
                        "loc": {
                          "start": {
                            "line": 309,
                            "column": 8
                          },
                          "end": {
                            "line": 309,
                            "column": 46
                          }
                        },
                        "operator": "-=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12438,
                          "end": 12448,
                          "loc": {
                            "start": {
                              "line": 309,
                              "column": 8
                            },
                            "end": {
                              "line": 309,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12438,
                            "end": 12444,
                            "loc": {
                              "start": {
                                "line": 309,
                                "column": 8
                              },
                              "end": {
                                "line": 309,
                                "column": 14
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12445,
                            "end": 12448,
                            "loc": {
                              "start": {
                                "line": 309,
                                "column": 15
                              },
                              "end": {
                                "line": 309,
                                "column": 18
                              }
                            },
                            "name": "top"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 12452,
                          "end": 12476,
                          "loc": {
                            "start": {
                              "line": 309,
                              "column": 22
                            },
                            "end": {
                              "line": 309,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12452,
                            "end": 12472,
                            "loc": {
                              "start": {
                                "line": 309,
                                "column": 22
                              },
                              "end": {
                                "line": 309,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12452,
                              "end": 12465,
                              "loc": {
                                "start": {
                                  "line": 309,
                                  "column": 22
                                },
                                "end": {
                                  "line": 309,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 12452,
                                "end": 12456,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 26
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12457,
                                "end": 12465,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 35
                                  }
                                },
                                "name": "renderer"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12466,
                              "end": 12472,
                              "loc": {
                                "start": {
                                  "line": 309,
                                  "column": 36
                                },
                                "end": {
                                  "line": 309,
                                  "column": 42
                                }
                              },
                              "name": "offset"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12473,
                            "end": 12476,
                            "loc": {
                              "start": {
                                "line": 309,
                                "column": 43
                              },
                              "end": {
                                "line": 309,
                                "column": 46
                              }
                            },
                            "name": "top"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12486,
                      "end": 12527,
                      "loc": {
                        "start": {
                          "line": 310,
                          "column": 8
                        },
                        "end": {
                          "line": 310,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12486,
                        "end": 12526,
                        "loc": {
                          "start": {
                            "line": 310,
                            "column": 8
                          },
                          "end": {
                            "line": 310,
                            "column": 48
                          }
                        },
                        "operator": "-=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12486,
                          "end": 12497,
                          "loc": {
                            "start": {
                              "line": 310,
                              "column": 8
                            },
                            "end": {
                              "line": 310,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12486,
                            "end": 12492,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 8
                              },
                              "end": {
                                "line": 310,
                                "column": 14
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12493,
                            "end": 12497,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 15
                              },
                              "end": {
                                "line": 310,
                                "column": 19
                              }
                            },
                            "name": "left"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 12501,
                          "end": 12526,
                          "loc": {
                            "start": {
                              "line": 310,
                              "column": 23
                            },
                            "end": {
                              "line": 310,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12501,
                            "end": 12521,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 23
                              },
                              "end": {
                                "line": 310,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12501,
                              "end": 12514,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 23
                                },
                                "end": {
                                  "line": 310,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 12501,
                                "end": 12505,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 27
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12506,
                                "end": 12514,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 36
                                  }
                                },
                                "name": "renderer"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12515,
                              "end": 12521,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 37
                                },
                                "end": {
                                  "line": 310,
                                  "column": 43
                                }
                              },
                              "name": "offset"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12522,
                            "end": 12526,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 44
                              },
                              "end": {
                                "line": 310,
                                "column": 48
                              }
                            },
                            "name": "left"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Size changed, calibrate & invalidate",
                          "start": 12537,
                          "end": 12576,
                          "loc": {
                            "start": {
                              "line": 312,
                              "column": 8
                            },
                            "end": {
                              "line": 312,
                              "column": 47
                            }
                          },
                          "range": [
                            12537,
                            12576
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 12585,
                      "end": 12776,
                      "loc": {
                        "start": {
                          "line": 313,
                          "column": 8
                        },
                        "end": {
                          "line": 317,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 12589,
                        "end": 12647,
                        "loc": {
                          "start": {
                            "line": 313,
                            "column": 12
                          },
                          "end": {
                            "line": 313,
                            "column": 70
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 12589,
                          "end": 12615,
                          "loc": {
                            "start": {
                              "line": 313,
                              "column": 12
                            },
                            "end": {
                              "line": 313,
                              "column": 38
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12589,
                            "end": 12601,
                            "loc": {
                              "start": {
                                "line": 313,
                                "column": 12
                              },
                              "end": {
                                "line": 313,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12589,
                              "end": 12595,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 12
                                },
                                "end": {
                                  "line": 313,
                                  "column": 18
                                }
                              },
                              "name": "offset",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12596,
                              "end": 12601,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 19
                                },
                                "end": {
                                  "line": 313,
                                  "column": 24
                                }
                              },
                              "name": "width"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12605,
                            "end": 12615,
                            "loc": {
                              "start": {
                                "line": 313,
                                "column": 28
                              },
                              "end": {
                                "line": 313,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12605,
                              "end": 12609,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 28
                                },
                                "end": {
                                  "line": 313,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12610,
                              "end": 12615,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 33
                                },
                                "end": {
                                  "line": 313,
                                  "column": 38
                                }
                              },
                              "name": "width"
                            },
                            "computed": false
                          },
                          "leadingComments": null
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 12619,
                          "end": 12647,
                          "loc": {
                            "start": {
                              "line": 313,
                              "column": 42
                            },
                            "end": {
                              "line": 313,
                              "column": 70
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12619,
                            "end": 12632,
                            "loc": {
                              "start": {
                                "line": 313,
                                "column": 42
                              },
                              "end": {
                                "line": 313,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12619,
                              "end": 12625,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 42
                                },
                                "end": {
                                  "line": 313,
                                  "column": 48
                                }
                              },
                              "name": "offset"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12626,
                              "end": 12632,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 49
                                },
                                "end": {
                                  "line": 313,
                                  "column": 55
                                }
                              },
                              "name": "height"
                            },
                            "computed": false
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12636,
                            "end": 12647,
                            "loc": {
                              "start": {
                                "line": 313,
                                "column": 59
                              },
                              "end": {
                                "line": 313,
                                "column": 70
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12636,
                              "end": 12640,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 59
                                },
                                "end": {
                                  "line": 313,
                                  "column": 63
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12641,
                              "end": 12647,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 64
                                },
                                "end": {
                                  "line": 313,
                                  "column": 70
                                }
                              },
                              "name": "height"
                            },
                            "computed": false
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 12649,
                        "end": 12776,
                        "loc": {
                          "start": {
                            "line": 313,
                            "column": 72
                          },
                          "end": {
                            "line": 317,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 12663,
                            "end": 12707,
                            "loc": {
                              "start": {
                                "line": 314,
                                "column": 12
                              },
                              "end": {
                                "line": 314,
                                "column": 56
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 12663,
                              "end": 12706,
                              "loc": {
                                "start": {
                                  "line": 314,
                                  "column": 12
                                },
                                "end": {
                                  "line": 314,
                                  "column": 55
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12663,
                                "end": 12677,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12663,
                                  "end": 12667,
                                  "loc": {
                                    "start": {
                                      "line": 314,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 314,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12668,
                                  "end": 12677,
                                  "loc": {
                                    "start": {
                                      "line": 314,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 314,
                                      "column": 26
                                    }
                                  },
                                  "name": "calibrate"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 12678,
                                  "end": 12690,
                                  "loc": {
                                    "start": {
                                      "line": 314,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 314,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12678,
                                    "end": 12684,
                                    "loc": {
                                      "start": {
                                        "line": 314,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 314,
                                        "column": 33
                                      }
                                    },
                                    "name": "offset"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12685,
                                    "end": 12690,
                                    "loc": {
                                      "start": {
                                        "line": 314,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 314,
                                        "column": 39
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 12692,
                                  "end": 12705,
                                  "loc": {
                                    "start": {
                                      "line": 314,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 314,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12692,
                                    "end": 12698,
                                    "loc": {
                                      "start": {
                                        "line": 314,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 314,
                                        "column": 47
                                      }
                                    },
                                    "name": "offset"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12699,
                                    "end": 12705,
                                    "loc": {
                                      "start": {
                                        "line": 314,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 314,
                                        "column": 54
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12720,
                            "end": 12740,
                            "loc": {
                              "start": {
                                "line": 315,
                                "column": 12
                              },
                              "end": {
                                "line": 315,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 12720,
                              "end": 12739,
                              "loc": {
                                "start": {
                                  "line": 315,
                                  "column": 12
                                },
                                "end": {
                                  "line": 315,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12720,
                                "end": 12735,
                                "loc": {
                                  "start": {
                                    "line": 315,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 315,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12720,
                                  "end": 12724,
                                  "loc": {
                                    "start": {
                                      "line": 315,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 315,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12725,
                                  "end": 12735,
                                  "loc": {
                                    "start": {
                                      "line": 315,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 315,
                                      "column": 27
                                    }
                                  },
                                  "name": "invalidate"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 12736,
                                  "end": 12738,
                                  "loc": {
                                    "start": {
                                      "line": 315,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 315,
                                      "column": 30
                                    }
                                  },
                                  "value": 10,
                                  "rawValue": 10,
                                  "raw": "10"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12753,
                            "end": 12766,
                            "loc": {
                              "start": {
                                "line": 316,
                                "column": 12
                              },
                              "end": {
                                "line": 316,
                                "column": 25
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 12753,
                              "end": 12765,
                              "loc": {
                                "start": {
                                  "line": 316,
                                  "column": 12
                                },
                                "end": {
                                  "line": 316,
                                  "column": 24
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 12753,
                                "end": 12758,
                                "loc": {
                                  "start": {
                                    "line": 316,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 316,
                                    "column": 17
                                  }
                                },
                                "name": "dirty"
                              },
                              "right": {
                                "type": "Literal",
                                "start": 12761,
                                "end": 12765,
                                "loc": {
                                  "start": {
                                    "line": 316,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 316,
                                    "column": 24
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Size changed, calibrate & invalidate",
                          "start": 12537,
                          "end": 12576,
                          "loc": {
                            "start": {
                              "line": 312,
                              "column": 8
                            },
                            "end": {
                              "line": 312,
                              "column": 47
                            }
                          },
                          "range": [
                            12537,
                            12576
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Position changed, invalidate!",
                          "start": 12786,
                          "end": 12818,
                          "loc": {
                            "start": {
                              "line": 319,
                              "column": 8
                            },
                            "end": {
                              "line": 319,
                              "column": 40
                            }
                          },
                          "range": [
                            12786,
                            12818
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 12827,
                      "end": 12953,
                      "loc": {
                        "start": {
                          "line": 320,
                          "column": 8
                        },
                        "end": {
                          "line": 323,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 12831,
                        "end": 12881,
                        "loc": {
                          "start": {
                            "line": 320,
                            "column": 12
                          },
                          "end": {
                            "line": 320,
                            "column": 62
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 12831,
                          "end": 12853,
                          "loc": {
                            "start": {
                              "line": 320,
                              "column": 12
                            },
                            "end": {
                              "line": 320,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12831,
                            "end": 12841,
                            "loc": {
                              "start": {
                                "line": 320,
                                "column": 12
                              },
                              "end": {
                                "line": 320,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12831,
                              "end": 12837,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 12
                                },
                                "end": {
                                  "line": 320,
                                  "column": 18
                                }
                              },
                              "name": "offset",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12838,
                              "end": 12841,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 19
                                },
                                "end": {
                                  "line": 320,
                                  "column": 22
                                }
                              },
                              "name": "top"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12845,
                            "end": 12853,
                            "loc": {
                              "start": {
                                "line": 320,
                                "column": 26
                              },
                              "end": {
                                "line": 320,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12845,
                              "end": 12849,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 26
                                },
                                "end": {
                                  "line": 320,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12850,
                              "end": 12853,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 31
                                },
                                "end": {
                                  "line": 320,
                                  "column": 34
                                }
                              },
                              "name": "top"
                            },
                            "computed": false
                          },
                          "leadingComments": null
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 12857,
                          "end": 12881,
                          "loc": {
                            "start": {
                              "line": 320,
                              "column": 38
                            },
                            "end": {
                              "line": 320,
                              "column": 62
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12857,
                            "end": 12868,
                            "loc": {
                              "start": {
                                "line": 320,
                                "column": 38
                              },
                              "end": {
                                "line": 320,
                                "column": 49
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12857,
                              "end": 12863,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 38
                                },
                                "end": {
                                  "line": 320,
                                  "column": 44
                                }
                              },
                              "name": "offset"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12864,
                              "end": 12868,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 45
                                },
                                "end": {
                                  "line": 320,
                                  "column": 49
                                }
                              },
                              "name": "left"
                            },
                            "computed": false
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12872,
                            "end": 12881,
                            "loc": {
                              "start": {
                                "line": 320,
                                "column": 53
                              },
                              "end": {
                                "line": 320,
                                "column": 62
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12872,
                              "end": 12876,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 53
                                },
                                "end": {
                                  "line": 320,
                                  "column": 57
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12877,
                              "end": 12881,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 58
                                },
                                "end": {
                                  "line": 320,
                                  "column": 62
                                }
                              },
                              "name": "left"
                            },
                            "computed": false
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 12883,
                        "end": 12953,
                        "loc": {
                          "start": {
                            "line": 320,
                            "column": 64
                          },
                          "end": {
                            "line": 323,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 12897,
                            "end": 12917,
                            "loc": {
                              "start": {
                                "line": 321,
                                "column": 12
                              },
                              "end": {
                                "line": 321,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 12897,
                              "end": 12916,
                              "loc": {
                                "start": {
                                  "line": 321,
                                  "column": 12
                                },
                                "end": {
                                  "line": 321,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12897,
                                "end": 12912,
                                "loc": {
                                  "start": {
                                    "line": 321,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 321,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12897,
                                  "end": 12901,
                                  "loc": {
                                    "start": {
                                      "line": 321,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 321,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12902,
                                  "end": 12912,
                                  "loc": {
                                    "start": {
                                      "line": 321,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 321,
                                      "column": 27
                                    }
                                  },
                                  "name": "invalidate"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 12913,
                                  "end": 12915,
                                  "loc": {
                                    "start": {
                                      "line": 321,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 321,
                                      "column": 30
                                    }
                                  },
                                  "value": 10,
                                  "rawValue": 10,
                                  "raw": "10"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12930,
                            "end": 12943,
                            "loc": {
                              "start": {
                                "line": 322,
                                "column": 12
                              },
                              "end": {
                                "line": 322,
                                "column": 25
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 12930,
                              "end": 12942,
                              "loc": {
                                "start": {
                                  "line": 322,
                                  "column": 12
                                },
                                "end": {
                                  "line": 322,
                                  "column": 24
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 12930,
                                "end": 12935,
                                "loc": {
                                  "start": {
                                    "line": 322,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 322,
                                    "column": 17
                                  }
                                },
                                "name": "dirty"
                              },
                              "right": {
                                "type": "Literal",
                                "start": 12938,
                                "end": 12942,
                                "loc": {
                                  "start": {
                                    "line": 322,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 322,
                                    "column": 24
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Position changed, invalidate!",
                          "start": 12786,
                          "end": 12818,
                          "loc": {
                            "start": {
                              "line": 319,
                              "column": 8
                            },
                            "end": {
                              "line": 319,
                              "column": 40
                            }
                          },
                          "range": [
                            12786,
                            12818
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Save old data",
                          "start": 12963,
                          "end": 12979,
                          "loc": {
                            "start": {
                              "line": 325,
                              "column": 8
                            },
                            "end": {
                              "line": 325,
                              "column": 24
                            }
                          },
                          "range": [
                            12963,
                            12979
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12988,
                      "end": 13190,
                      "loc": {
                        "start": {
                          "line": 326,
                          "column": 8
                        },
                        "end": {
                          "line": 329,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12988,
                        "end": 13189,
                        "loc": {
                          "start": {
                            "line": 326,
                            "column": 8
                          },
                          "end": {
                            "line": 329,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12988,
                          "end": 12996,
                          "loc": {
                            "start": {
                              "line": 326,
                              "column": 8
                            },
                            "end": {
                              "line": 326,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12988,
                            "end": 12992,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 8
                              },
                              "end": {
                                "line": 326,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12993,
                            "end": 12996,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 13
                              },
                              "end": {
                                "line": 326,
                                "column": 16
                              }
                            },
                            "name": "old"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 12999,
                          "end": 13189,
                          "loc": {
                            "start": {
                              "line": 326,
                              "column": 19
                            },
                            "end": {
                              "line": 329,
                              "column": 9
                            }
                          },
                          "elements": [
                            {
                              "type": "BinaryExpression",
                              "start": 13000,
                              "end": 13036,
                              "loc": {
                                "start": {
                                  "line": 326,
                                  "column": 20
                                },
                                "end": {
                                  "line": 326,
                                  "column": 56
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13000,
                                "end": 13009,
                                "loc": {
                                  "start": {
                                    "line": 326,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 326,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13000,
                                  "end": 13004,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13005,
                                  "end": 13009,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 29
                                    }
                                  },
                                  "name": "left"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13012,
                                "end": 13036,
                                "loc": {
                                  "start": {
                                    "line": 326,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 326,
                                    "column": 56
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13012,
                                  "end": 13025,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13012,
                                    "end": 13016,
                                    "loc": {
                                      "start": {
                                        "line": 326,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 326,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13017,
                                    "end": 13025,
                                    "loc": {
                                      "start": {
                                        "line": 326,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 326,
                                        "column": 45
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13026,
                                  "end": 13036,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 56
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13050,
                              "end": 13088,
                              "loc": {
                                "start": {
                                  "line": 327,
                                  "column": 12
                                },
                                "end": {
                                  "line": 327,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13050,
                                "end": 13061,
                                "loc": {
                                  "start": {
                                    "line": 327,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 327,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13050,
                                  "end": 13054,
                                  "loc": {
                                    "start": {
                                      "line": 327,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 327,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13055,
                                  "end": 13061,
                                  "loc": {
                                    "start": {
                                      "line": 327,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 327,
                                      "column": 23
                                    }
                                  },
                                  "name": "bottom"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13064,
                                "end": 13088,
                                "loc": {
                                  "start": {
                                    "line": 327,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 327,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13064,
                                  "end": 13077,
                                  "loc": {
                                    "start": {
                                      "line": 327,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 327,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13064,
                                    "end": 13068,
                                    "loc": {
                                      "start": {
                                        "line": 327,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 327,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13069,
                                    "end": 13077,
                                    "loc": {
                                      "start": {
                                        "line": 327,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 327,
                                        "column": 39
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13078,
                                  "end": 13088,
                                  "loc": {
                                    "start": {
                                      "line": 327,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 327,
                                      "column": 50
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13102,
                              "end": 13139,
                              "loc": {
                                "start": {
                                  "line": 328,
                                  "column": 12
                                },
                                "end": {
                                  "line": 328,
                                  "column": 49
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13102,
                                "end": 13112,
                                "loc": {
                                  "start": {
                                    "line": 328,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 328,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13102,
                                  "end": 13106,
                                  "loc": {
                                    "start": {
                                      "line": 328,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 328,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13107,
                                  "end": 13112,
                                  "loc": {
                                    "start": {
                                      "line": 328,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 328,
                                      "column": 22
                                    }
                                  },
                                  "name": "width"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13115,
                                "end": 13139,
                                "loc": {
                                  "start": {
                                    "line": 328,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 328,
                                    "column": 49
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13115,
                                  "end": 13128,
                                  "loc": {
                                    "start": {
                                      "line": 328,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 328,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13115,
                                    "end": 13119,
                                    "loc": {
                                      "start": {
                                        "line": 328,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 328,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13120,
                                    "end": 13128,
                                    "loc": {
                                      "start": {
                                        "line": 328,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 328,
                                        "column": 38
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13129,
                                  "end": 13139,
                                  "loc": {
                                    "start": {
                                      "line": 328,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 328,
                                      "column": 49
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13141,
                              "end": 13179,
                              "loc": {
                                "start": {
                                  "line": 328,
                                  "column": 51
                                },
                                "end": {
                                  "line": 328,
                                  "column": 89
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13141,
                                "end": 13152,
                                "loc": {
                                  "start": {
                                    "line": 328,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 328,
                                    "column": 62
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13141,
                                  "end": 13145,
                                  "loc": {
                                    "start": {
                                      "line": 328,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 328,
                                      "column": 55
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13146,
                                  "end": 13152,
                                  "loc": {
                                    "start": {
                                      "line": 328,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 328,
                                      "column": 62
                                    }
                                  },
                                  "name": "height"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13155,
                                "end": 13179,
                                "loc": {
                                  "start": {
                                    "line": 328,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 328,
                                    "column": 89
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13155,
                                  "end": 13168,
                                  "loc": {
                                    "start": {
                                      "line": 328,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 328,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13155,
                                    "end": 13159,
                                    "loc": {
                                      "start": {
                                        "line": 328,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 328,
                                        "column": 69
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13160,
                                    "end": 13168,
                                    "loc": {
                                      "start": {
                                        "line": 328,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 328,
                                        "column": 78
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13169,
                                  "end": 13179,
                                  "loc": {
                                    "start": {
                                      "line": 328,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 328,
                                      "column": 89
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Save old data",
                          "start": 12963,
                          "end": 12979,
                          "loc": {
                            "start": {
                              "line": 325,
                              "column": 8
                            },
                            "end": {
                              "line": 325,
                              "column": 24
                            }
                          },
                          "range": [
                            12963,
                            12979
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Apply new",
                          "start": 13200,
                          "end": 13212,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 8
                            },
                            "end": {
                              "line": 331,
                              "column": 20
                            }
                          },
                          "range": [
                            13200,
                            13212
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13221,
                      "end": 13247,
                      "loc": {
                        "start": {
                          "line": 332,
                          "column": 8
                        },
                        "end": {
                          "line": 332,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13221,
                        "end": 13246,
                        "loc": {
                          "start": {
                            "line": 332,
                            "column": 8
                          },
                          "end": {
                            "line": 332,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13221,
                          "end": 13231,
                          "loc": {
                            "start": {
                              "line": 332,
                              "column": 8
                            },
                            "end": {
                              "line": 332,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13221,
                            "end": 13225,
                            "loc": {
                              "start": {
                                "line": 332,
                                "column": 8
                              },
                              "end": {
                                "line": 332,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13226,
                            "end": 13231,
                            "loc": {
                              "start": {
                                "line": 332,
                                "column": 13
                              },
                              "end": {
                                "line": 332,
                                "column": 18
                              }
                            },
                            "name": "width"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13234,
                          "end": 13246,
                          "loc": {
                            "start": {
                              "line": 332,
                              "column": 21
                            },
                            "end": {
                              "line": 332,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13234,
                            "end": 13240,
                            "loc": {
                              "start": {
                                "line": 332,
                                "column": 21
                              },
                              "end": {
                                "line": 332,
                                "column": 27
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13241,
                            "end": 13246,
                            "loc": {
                              "start": {
                                "line": 332,
                                "column": 28
                              },
                              "end": {
                                "line": 332,
                                "column": 33
                              }
                            },
                            "name": "width"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Apply new",
                          "start": 13200,
                          "end": 13212,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 8
                            },
                            "end": {
                              "line": 331,
                              "column": 20
                            }
                          },
                          "range": [
                            13200,
                            13212
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13256,
                      "end": 13284,
                      "loc": {
                        "start": {
                          "line": 333,
                          "column": 8
                        },
                        "end": {
                          "line": 333,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13256,
                        "end": 13283,
                        "loc": {
                          "start": {
                            "line": 333,
                            "column": 8
                          },
                          "end": {
                            "line": 333,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13256,
                          "end": 13267,
                          "loc": {
                            "start": {
                              "line": 333,
                              "column": 8
                            },
                            "end": {
                              "line": 333,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13256,
                            "end": 13260,
                            "loc": {
                              "start": {
                                "line": 333,
                                "column": 8
                              },
                              "end": {
                                "line": 333,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13261,
                            "end": 13267,
                            "loc": {
                              "start": {
                                "line": 333,
                                "column": 13
                              },
                              "end": {
                                "line": 333,
                                "column": 19
                              }
                            },
                            "name": "height"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13270,
                          "end": 13283,
                          "loc": {
                            "start": {
                              "line": 333,
                              "column": 22
                            },
                            "end": {
                              "line": 333,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13270,
                            "end": 13276,
                            "loc": {
                              "start": {
                                "line": 333,
                                "column": 22
                              },
                              "end": {
                                "line": 333,
                                "column": 28
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13277,
                            "end": 13283,
                            "loc": {
                              "start": {
                                "line": 333,
                                "column": 29
                              },
                              "end": {
                                "line": 333,
                                "column": 35
                              }
                            },
                            "name": "height"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13293,
                      "end": 13315,
                      "loc": {
                        "start": {
                          "line": 334,
                          "column": 8
                        },
                        "end": {
                          "line": 334,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13293,
                        "end": 13314,
                        "loc": {
                          "start": {
                            "line": 334,
                            "column": 8
                          },
                          "end": {
                            "line": 334,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13293,
                          "end": 13301,
                          "loc": {
                            "start": {
                              "line": 334,
                              "column": 8
                            },
                            "end": {
                              "line": 334,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13293,
                            "end": 13297,
                            "loc": {
                              "start": {
                                "line": 334,
                                "column": 8
                              },
                              "end": {
                                "line": 334,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13298,
                            "end": 13301,
                            "loc": {
                              "start": {
                                "line": 334,
                                "column": 13
                              },
                              "end": {
                                "line": 334,
                                "column": 16
                              }
                            },
                            "name": "top"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13304,
                          "end": 13314,
                          "loc": {
                            "start": {
                              "line": 334,
                              "column": 19
                            },
                            "end": {
                              "line": 334,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13304,
                            "end": 13310,
                            "loc": {
                              "start": {
                                "line": 334,
                                "column": 19
                              },
                              "end": {
                                "line": 334,
                                "column": 25
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13311,
                            "end": 13314,
                            "loc": {
                              "start": {
                                "line": 334,
                                "column": 26
                              },
                              "end": {
                                "line": 334,
                                "column": 29
                              }
                            },
                            "name": "top"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13324,
                      "end": 13348,
                      "loc": {
                        "start": {
                          "line": 335,
                          "column": 8
                        },
                        "end": {
                          "line": 335,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13324,
                        "end": 13347,
                        "loc": {
                          "start": {
                            "line": 335,
                            "column": 8
                          },
                          "end": {
                            "line": 335,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13324,
                          "end": 13333,
                          "loc": {
                            "start": {
                              "line": 335,
                              "column": 8
                            },
                            "end": {
                              "line": 335,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13324,
                            "end": 13328,
                            "loc": {
                              "start": {
                                "line": 335,
                                "column": 8
                              },
                              "end": {
                                "line": 335,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13329,
                            "end": 13333,
                            "loc": {
                              "start": {
                                "line": 335,
                                "column": 13
                              },
                              "end": {
                                "line": 335,
                                "column": 17
                              }
                            },
                            "name": "left"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13336,
                          "end": 13347,
                          "loc": {
                            "start": {
                              "line": 335,
                              "column": 20
                            },
                            "end": {
                              "line": 335,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13336,
                            "end": 13342,
                            "loc": {
                              "start": {
                                "line": 335,
                                "column": 20
                              },
                              "end": {
                                "line": 335,
                                "column": 26
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13343,
                            "end": 13347,
                            "loc": {
                              "start": {
                                "line": 335,
                                "column": 27
                              },
                              "end": {
                                "line": 335,
                                "column": 31
                              }
                            },
                            "name": "left"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13357,
                      "end": 13428,
                      "loc": {
                        "start": {
                          "line": 336,
                          "column": 8
                        },
                        "end": {
                          "line": 336,
                          "column": 79
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13357,
                        "end": 13427,
                        "loc": {
                          "start": {
                            "line": 336,
                            "column": 8
                          },
                          "end": {
                            "line": 336,
                            "column": 78
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13357,
                          "end": 13368,
                          "loc": {
                            "start": {
                              "line": 336,
                              "column": 8
                            },
                            "end": {
                              "line": 336,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13357,
                            "end": 13361,
                            "loc": {
                              "start": {
                                "line": 336,
                                "column": 8
                              },
                              "end": {
                                "line": 336,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13362,
                            "end": 13368,
                            "loc": {
                              "start": {
                                "line": 336,
                                "column": 13
                              },
                              "end": {
                                "line": 336,
                                "column": 19
                              }
                            },
                            "name": "bottom"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 13371,
                          "end": 13427,
                          "loc": {
                            "start": {
                              "line": 336,
                              "column": 22
                            },
                            "end": {
                              "line": 336,
                              "column": 78
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 13371,
                            "end": 13414,
                            "loc": {
                              "start": {
                                "line": 336,
                                "column": 22
                              },
                              "end": {
                                "line": 336,
                                "column": 65
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 13371,
                              "end": 13398,
                              "loc": {
                                "start": {
                                  "line": 336,
                                  "column": 22
                                },
                                "end": {
                                  "line": 336,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 13371,
                                "end": 13391,
                                "loc": {
                                  "start": {
                                    "line": 336,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 336,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13371,
                                  "end": 13384,
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13371,
                                    "end": 13375,
                                    "loc": {
                                      "start": {
                                        "line": 336,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 336,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13376,
                                    "end": 13384,
                                    "loc": {
                                      "start": {
                                        "line": 336,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 336,
                                        "column": 35
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13385,
                                  "end": 13391,
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 42
                                    }
                                  },
                                  "name": "offset"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13392,
                                "end": 13398,
                                "loc": {
                                  "start": {
                                    "line": 336,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 336,
                                    "column": 49
                                  }
                                },
                                "name": "height"
                              },
                              "computed": false
                            },
                            "operator": "-",
                            "right": {
                              "type": "MemberExpression",
                              "start": 13401,
                              "end": 13414,
                              "loc": {
                                "start": {
                                  "line": 336,
                                  "column": 52
                                },
                                "end": {
                                  "line": 336,
                                  "column": 65
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 13401,
                                "end": 13407,
                                "loc": {
                                  "start": {
                                    "line": 336,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 336,
                                    "column": 58
                                  }
                                },
                                "name": "offset"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13408,
                                "end": 13414,
                                "loc": {
                                  "start": {
                                    "line": 336,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 336,
                                    "column": 65
                                  }
                                },
                                "name": "height"
                              },
                              "computed": false
                            }
                          },
                          "operator": "-",
                          "right": {
                            "type": "MemberExpression",
                            "start": 13417,
                            "end": 13427,
                            "loc": {
                              "start": {
                                "line": 336,
                                "column": 68
                              },
                              "end": {
                                "line": 336,
                                "column": 78
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13417,
                              "end": 13423,
                              "loc": {
                                "start": {
                                  "line": 336,
                                  "column": 68
                                },
                                "end": {
                                  "line": 336,
                                  "column": 74
                                }
                              },
                              "name": "offset"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13424,
                              "end": 13427,
                              "loc": {
                                "start": {
                                  "line": 336,
                                  "column": 75
                                },
                                "end": {
                                  "line": 336,
                                  "column": 78
                                }
                              },
                              "name": "top"
                            },
                            "computed": false
                          }
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Premultiply new",
                          "start": 13438,
                          "end": 13456,
                          "loc": {
                            "start": {
                              "line": 338,
                              "column": 8
                            },
                            "end": {
                              "line": 338,
                              "column": 26
                            }
                          },
                          "range": [
                            13438,
                            13456
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13465,
                      "end": 13667,
                      "loc": {
                        "start": {
                          "line": 339,
                          "column": 8
                        },
                        "end": {
                          "line": 342,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13465,
                        "end": 13666,
                        "loc": {
                          "start": {
                            "line": 339,
                            "column": 8
                          },
                          "end": {
                            "line": 342,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13465,
                          "end": 13473,
                          "loc": {
                            "start": {
                              "line": 339,
                              "column": 8
                            },
                            "end": {
                              "line": 339,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13465,
                            "end": 13469,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 8
                              },
                              "end": {
                                "line": 339,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13470,
                            "end": 13473,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 13
                              },
                              "end": {
                                "line": 339,
                                "column": 16
                              }
                            },
                            "name": "new"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 13476,
                          "end": 13666,
                          "loc": {
                            "start": {
                              "line": 339,
                              "column": 19
                            },
                            "end": {
                              "line": 342,
                              "column": 9
                            }
                          },
                          "elements": [
                            {
                              "type": "BinaryExpression",
                              "start": 13477,
                              "end": 13513,
                              "loc": {
                                "start": {
                                  "line": 339,
                                  "column": 20
                                },
                                "end": {
                                  "line": 339,
                                  "column": 56
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13477,
                                "end": 13486,
                                "loc": {
                                  "start": {
                                    "line": 339,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 339,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13477,
                                  "end": 13481,
                                  "loc": {
                                    "start": {
                                      "line": 339,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 339,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13482,
                                  "end": 13486,
                                  "loc": {
                                    "start": {
                                      "line": 339,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 339,
                                      "column": 29
                                    }
                                  },
                                  "name": "left"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13489,
                                "end": 13513,
                                "loc": {
                                  "start": {
                                    "line": 339,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 339,
                                    "column": 56
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13489,
                                  "end": 13502,
                                  "loc": {
                                    "start": {
                                      "line": 339,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 339,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13489,
                                    "end": 13493,
                                    "loc": {
                                      "start": {
                                        "line": 339,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 339,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13494,
                                    "end": 13502,
                                    "loc": {
                                      "start": {
                                        "line": 339,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 339,
                                        "column": 45
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13503,
                                  "end": 13513,
                                  "loc": {
                                    "start": {
                                      "line": 339,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 339,
                                      "column": 56
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13527,
                              "end": 13565,
                              "loc": {
                                "start": {
                                  "line": 340,
                                  "column": 12
                                },
                                "end": {
                                  "line": 340,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13527,
                                "end": 13538,
                                "loc": {
                                  "start": {
                                    "line": 340,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 340,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13527,
                                  "end": 13531,
                                  "loc": {
                                    "start": {
                                      "line": 340,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 340,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13532,
                                  "end": 13538,
                                  "loc": {
                                    "start": {
                                      "line": 340,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 340,
                                      "column": 23
                                    }
                                  },
                                  "name": "bottom"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13541,
                                "end": 13565,
                                "loc": {
                                  "start": {
                                    "line": 340,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 340,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13541,
                                  "end": 13554,
                                  "loc": {
                                    "start": {
                                      "line": 340,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 340,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13541,
                                    "end": 13545,
                                    "loc": {
                                      "start": {
                                        "line": 340,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 340,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13546,
                                    "end": 13554,
                                    "loc": {
                                      "start": {
                                        "line": 340,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 340,
                                        "column": 39
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13555,
                                  "end": 13565,
                                  "loc": {
                                    "start": {
                                      "line": 340,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 340,
                                      "column": 50
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13579,
                              "end": 13616,
                              "loc": {
                                "start": {
                                  "line": 341,
                                  "column": 12
                                },
                                "end": {
                                  "line": 341,
                                  "column": 49
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13579,
                                "end": 13589,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13579,
                                  "end": 13583,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13584,
                                  "end": 13589,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 22
                                    }
                                  },
                                  "name": "width"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13592,
                                "end": 13616,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 49
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13592,
                                  "end": 13605,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13592,
                                    "end": 13596,
                                    "loc": {
                                      "start": {
                                        "line": 341,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 341,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13597,
                                    "end": 13605,
                                    "loc": {
                                      "start": {
                                        "line": 341,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 341,
                                        "column": 38
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13606,
                                  "end": 13616,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 49
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13618,
                              "end": 13656,
                              "loc": {
                                "start": {
                                  "line": 341,
                                  "column": 51
                                },
                                "end": {
                                  "line": 341,
                                  "column": 89
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13618,
                                "end": 13629,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 62
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13618,
                                  "end": 13622,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 55
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13623,
                                  "end": 13629,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 62
                                    }
                                  },
                                  "name": "height"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13632,
                                "end": 13656,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 89
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13632,
                                  "end": 13645,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13632,
                                    "end": 13636,
                                    "loc": {
                                      "start": {
                                        "line": 341,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 341,
                                        "column": 69
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13637,
                                    "end": 13645,
                                    "loc": {
                                      "start": {
                                        "line": 341,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 341,
                                        "column": 78
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13646,
                                  "end": 13656,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 89
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Premultiply new",
                          "start": 13438,
                          "end": 13456,
                          "loc": {
                            "start": {
                              "line": 338,
                              "column": 8
                            },
                            "end": {
                              "line": 338,
                              "column": 26
                            }
                          },
                          "range": [
                            13438,
                            13456
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Check visibility",
                          "start": 13677,
                          "end": 13696,
                          "loc": {
                            "start": {
                              "line": 344,
                              "column": 8
                            },
                            "end": {
                              "line": 344,
                              "column": 27
                            }
                          },
                          "range": [
                            13677,
                            13696
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 13705,
                      "end": 13966,
                      "loc": {
                        "start": {
                          "line": 345,
                          "column": 8
                        },
                        "end": {
                          "line": 350,
                          "column": 41
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 13709,
                          "end": 13965,
                          "loc": {
                            "start": {
                              "line": 345,
                              "column": 12
                            },
                            "end": {
                              "line": 350,
                              "column": 40
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 13709,
                            "end": 13716,
                            "loc": {
                              "start": {
                                "line": 345,
                                "column": 12
                              },
                              "end": {
                                "line": 345,
                                "column": 19
                              }
                            },
                            "name": "visible",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "UnaryExpression",
                            "start": 13719,
                            "end": 13965,
                            "loc": {
                              "start": {
                                "line": 345,
                                "column": 22
                              },
                              "end": {
                                "line": 350,
                                "column": 40
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "LogicalExpression",
                              "start": 13721,
                              "end": 13964,
                              "loc": {
                                "start": {
                                  "line": 345,
                                  "column": 24
                                },
                                "end": {
                                  "line": 350,
                                  "column": 39
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 13721,
                                "end": 13921,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 349,
                                    "column": 39
                                  }
                                },
                                "left": {
                                  "type": "LogicalExpression",
                                  "start": 13721,
                                  "end": 13878,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 348,
                                      "column": 51
                                    }
                                  },
                                  "left": {
                                    "type": "LogicalExpression",
                                    "start": 13721,
                                    "end": 13823,
                                    "loc": {
                                      "start": {
                                        "line": 345,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 347,
                                        "column": 51
                                      }
                                    },
                                    "left": {
                                      "type": "LogicalExpression",
                                      "start": 13721,
                                      "end": 13768,
                                      "loc": {
                                        "start": {
                                          "line": 345,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 346,
                                          "column": 27
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 13721,
                                        "end": 13737,
                                        "loc": {
                                          "start": {
                                            "line": 345,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 345,
                                            "column": 40
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 13721,
                                          "end": 13732,
                                          "loc": {
                                            "start": {
                                              "line": 345,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 345,
                                              "column": 35
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 13721,
                                            "end": 13725,
                                            "loc": {
                                              "start": {
                                                "line": 345,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 345,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 13726,
                                            "end": 13732,
                                            "loc": {
                                              "start": {
                                                "line": 345,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 345,
                                                "column": 35
                                              }
                                            },
                                            "name": "height"
                                          },
                                          "computed": false
                                        },
                                        "operator": "<=",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13736,
                                          "end": 13737,
                                          "loc": {
                                            "start": {
                                              "line": 345,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 345,
                                              "column": 40
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      },
                                      "operator": "||",
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 13753,
                                        "end": 13768,
                                        "loc": {
                                          "start": {
                                            "line": 346,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 346,
                                            "column": 27
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 13753,
                                          "end": 13763,
                                          "loc": {
                                            "start": {
                                              "line": 346,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 346,
                                              "column": 22
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 13753,
                                            "end": 13757,
                                            "loc": {
                                              "start": {
                                                "line": 346,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 346,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 13758,
                                            "end": 13763,
                                            "loc": {
                                              "start": {
                                                "line": 346,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 346,
                                                "column": 22
                                              }
                                            },
                                            "name": "width"
                                          },
                                          "computed": false
                                        },
                                        "operator": "<=",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13767,
                                          "end": 13768,
                                          "loc": {
                                            "start": {
                                              "line": 346,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 346,
                                              "column": 27
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      }
                                    },
                                    "operator": "||",
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 13784,
                                      "end": 13823,
                                      "loc": {
                                        "start": {
                                          "line": 347,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 347,
                                          "column": 51
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 13784,
                                        "end": 13792,
                                        "loc": {
                                          "start": {
                                            "line": 347,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 347,
                                            "column": 20
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 13784,
                                          "end": 13788,
                                          "loc": {
                                            "start": {
                                              "line": 347,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 347,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 13789,
                                          "end": 13792,
                                          "loc": {
                                            "start": {
                                              "line": 347,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 347,
                                              "column": 20
                                            }
                                          },
                                          "name": "top"
                                        },
                                        "computed": false
                                      },
                                      "operator": ">=",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 13796,
                                        "end": 13823,
                                        "loc": {
                                          "start": {
                                            "line": 347,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 347,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 13796,
                                          "end": 13816,
                                          "loc": {
                                            "start": {
                                              "line": 347,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 347,
                                              "column": 44
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 13796,
                                            "end": 13809,
                                            "loc": {
                                              "start": {
                                                "line": 347,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 347,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 13796,
                                              "end": 13800,
                                              "loc": {
                                                "start": {
                                                  "line": 347,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 347,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 13801,
                                              "end": 13809,
                                              "loc": {
                                                "start": {
                                                  "line": 347,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 347,
                                                  "column": 37
                                                }
                                              },
                                              "name": "renderer"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 13810,
                                            "end": 13816,
                                            "loc": {
                                              "start": {
                                                "line": 347,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 347,
                                                "column": 44
                                              }
                                            },
                                            "name": "offset"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 13817,
                                          "end": 13823,
                                          "loc": {
                                            "start": {
                                              "line": 347,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 347,
                                              "column": 51
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "computed": false
                                      }
                                    }
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 13839,
                                    "end": 13878,
                                    "loc": {
                                      "start": {
                                        "line": 348,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 348,
                                        "column": 51
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 13839,
                                      "end": 13848,
                                      "loc": {
                                        "start": {
                                          "line": 348,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 348,
                                          "column": 21
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 13839,
                                        "end": 13843,
                                        "loc": {
                                          "start": {
                                            "line": 348,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 348,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 13844,
                                        "end": 13848,
                                        "loc": {
                                          "start": {
                                            "line": 348,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 348,
                                            "column": 21
                                          }
                                        },
                                        "name": "left"
                                      },
                                      "computed": false
                                    },
                                    "operator": ">=",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 13852,
                                      "end": 13878,
                                      "loc": {
                                        "start": {
                                          "line": 348,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 348,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 13852,
                                        "end": 13872,
                                        "loc": {
                                          "start": {
                                            "line": 348,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 348,
                                            "column": 45
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 13852,
                                          "end": 13865,
                                          "loc": {
                                            "start": {
                                              "line": 348,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 348,
                                              "column": 38
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 13852,
                                            "end": 13856,
                                            "loc": {
                                              "start": {
                                                "line": 348,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 348,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 13857,
                                            "end": 13865,
                                            "loc": {
                                              "start": {
                                                "line": 348,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 348,
                                                "column": 38
                                              }
                                            },
                                            "name": "renderer"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 13866,
                                          "end": 13872,
                                          "loc": {
                                            "start": {
                                              "line": 348,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 348,
                                              "column": 45
                                            }
                                          },
                                          "name": "offset"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 13873,
                                        "end": 13878,
                                        "loc": {
                                          "start": {
                                            "line": 348,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 348,
                                            "column": 51
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    }
                                  }
                                },
                                "operator": "||",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 13894,
                                  "end": 13921,
                                  "loc": {
                                    "start": {
                                      "line": 349,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 349,
                                      "column": 39
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 13894,
                                    "end": 13916,
                                    "loc": {
                                      "start": {
                                        "line": 349,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 349,
                                        "column": 34
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 13894,
                                      "end": 13902,
                                      "loc": {
                                        "start": {
                                          "line": 349,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 349,
                                          "column": 20
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 13894,
                                        "end": 13898,
                                        "loc": {
                                          "start": {
                                            "line": 349,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 349,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 13899,
                                        "end": 13902,
                                        "loc": {
                                          "start": {
                                            "line": 349,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 349,
                                            "column": 20
                                          }
                                        },
                                        "name": "top"
                                      },
                                      "computed": false
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 13905,
                                      "end": 13916,
                                      "loc": {
                                        "start": {
                                          "line": 349,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 349,
                                          "column": 34
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 13905,
                                        "end": 13909,
                                        "loc": {
                                          "start": {
                                            "line": 349,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 349,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 13910,
                                        "end": 13916,
                                        "loc": {
                                          "start": {
                                            "line": 349,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 349,
                                            "column": 34
                                          }
                                        },
                                        "name": "height"
                                      },
                                      "computed": false
                                    }
                                  },
                                  "operator": "<=",
                                  "right": {
                                    "type": "Literal",
                                    "start": 13920,
                                    "end": 13921,
                                    "loc": {
                                      "start": {
                                        "line": 349,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 349,
                                        "column": 39
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 13937,
                                "end": 13964,
                                "loc": {
                                  "start": {
                                    "line": 350,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 350,
                                    "column": 39
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 13937,
                                  "end": 13959,
                                  "loc": {
                                    "start": {
                                      "line": 350,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 350,
                                      "column": 34
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 13937,
                                    "end": 13946,
                                    "loc": {
                                      "start": {
                                        "line": 350,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 350,
                                        "column": 21
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 13937,
                                      "end": 13941,
                                      "loc": {
                                        "start": {
                                          "line": 350,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 350,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 13942,
                                      "end": 13946,
                                      "loc": {
                                        "start": {
                                          "line": 350,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 350,
                                          "column": 21
                                        }
                                      },
                                      "name": "left"
                                    },
                                    "computed": false
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 13949,
                                    "end": 13959,
                                    "loc": {
                                      "start": {
                                        "line": 350,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 350,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 13949,
                                      "end": 13953,
                                      "loc": {
                                        "start": {
                                          "line": 350,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 350,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 13954,
                                      "end": 13959,
                                      "loc": {
                                        "start": {
                                          "line": 350,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 350,
                                          "column": 34
                                        }
                                      },
                                      "name": "width"
                                    },
                                    "computed": false
                                  }
                                },
                                "operator": "<=",
                                "right": {
                                  "type": "Literal",
                                  "start": 13963,
                                  "end": 13964,
                                  "loc": {
                                    "start": {
                                      "line": 350,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 350,
                                      "column": 39
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              },
                              "parenthesizedExpression": true
                            }
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "let",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Check visibility",
                          "start": 13677,
                          "end": 13696,
                          "loc": {
                            "start": {
                              "line": 344,
                              "column": 8
                            },
                            "end": {
                              "line": 344,
                              "column": 27
                            }
                          },
                          "range": [
                            13677,
                            13696
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 13975,
                      "end": 14126,
                      "loc": {
                        "start": {
                          "line": 351,
                          "column": 8
                        },
                        "end": {
                          "line": 355,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 13979,
                        "end": 14002,
                        "loc": {
                          "start": {
                            "line": 351,
                            "column": 12
                          },
                          "end": {
                            "line": 351,
                            "column": 35
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 13979,
                          "end": 13991,
                          "loc": {
                            "start": {
                              "line": 351,
                              "column": 12
                            },
                            "end": {
                              "line": 351,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13979,
                            "end": 13983,
                            "loc": {
                              "start": {
                                "line": 351,
                                "column": 12
                              },
                              "end": {
                                "line": 351,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13984,
                            "end": 13991,
                            "loc": {
                              "start": {
                                "line": 351,
                                "column": 17
                              },
                              "end": {
                                "line": 351,
                                "column": 24
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        },
                        "operator": "!=",
                        "right": {
                          "type": "Identifier",
                          "start": 13995,
                          "end": 14002,
                          "loc": {
                            "start": {
                              "line": 351,
                              "column": 28
                            },
                            "end": {
                              "line": 351,
                              "column": 35
                            }
                          },
                          "name": "visible"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 14004,
                        "end": 14126,
                        "loc": {
                          "start": {
                            "line": 351,
                            "column": 37
                          },
                          "end": {
                            "line": 355,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 14018,
                            "end": 14041,
                            "loc": {
                              "start": {
                                "line": 352,
                                "column": 12
                              },
                              "end": {
                                "line": 352,
                                "column": 35
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14018,
                              "end": 14040,
                              "loc": {
                                "start": {
                                  "line": 352,
                                  "column": 12
                                },
                                "end": {
                                  "line": 352,
                                  "column": 34
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 14018,
                                "end": 14030,
                                "loc": {
                                  "start": {
                                    "line": 352,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 352,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14018,
                                  "end": 14022,
                                  "loc": {
                                    "start": {
                                      "line": 352,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 352,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14023,
                                  "end": 14030,
                                  "loc": {
                                    "start": {
                                      "line": 352,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 352,
                                      "column": 24
                                    }
                                  },
                                  "name": "visible"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 14033,
                                "end": 14040,
                                "loc": {
                                  "start": {
                                    "line": 352,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 352,
                                    "column": 34
                                  }
                                },
                                "name": "visible"
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14054,
                            "end": 14090,
                            "loc": {
                              "start": {
                                "line": 353,
                                "column": 12
                              },
                              "end": {
                                "line": 353,
                                "column": 48
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 14054,
                              "end": 14089,
                              "loc": {
                                "start": {
                                  "line": 353,
                                  "column": 12
                                },
                                "end": {
                                  "line": 353,
                                  "column": 47
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 14054,
                                "end": 14066,
                                "loc": {
                                  "start": {
                                    "line": 353,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 353,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14054,
                                  "end": 14058,
                                  "loc": {
                                    "start": {
                                      "line": 353,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 353,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14059,
                                  "end": 14066,
                                  "loc": {
                                    "start": {
                                      "line": 353,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 353,
                                      "column": 24
                                    }
                                  },
                                  "name": "visible"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 14070,
                                "end": 14089,
                                "loc": {
                                  "start": {
                                    "line": 353,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 353,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 14070,
                                  "end": 14085,
                                  "loc": {
                                    "start": {
                                      "line": 353,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 353,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14070,
                                    "end": 14074,
                                    "loc": {
                                      "start": {
                                        "line": 353,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 353,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14075,
                                    "end": 14085,
                                    "loc": {
                                      "start": {
                                        "line": 353,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 353,
                                        "column": 43
                                      }
                                    },
                                    "name": "invalidate"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 14086,
                                    "end": 14088,
                                    "loc": {
                                      "start": {
                                        "line": 353,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 353,
                                        "column": 46
                                      }
                                    },
                                    "value": 10,
                                    "rawValue": 10,
                                    "raw": "10"
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14103,
                            "end": 14116,
                            "loc": {
                              "start": {
                                "line": 354,
                                "column": 12
                              },
                              "end": {
                                "line": 354,
                                "column": 25
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14103,
                              "end": 14115,
                              "loc": {
                                "start": {
                                  "line": 354,
                                  "column": 12
                                },
                                "end": {
                                  "line": 354,
                                  "column": 24
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 14103,
                                "end": 14108,
                                "loc": {
                                  "start": {
                                    "line": 354,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 354,
                                    "column": 17
                                  }
                                },
                                "name": "dirty"
                              },
                              "right": {
                                "type": "Literal",
                                "start": 14111,
                                "end": 14115,
                                "loc": {
                                  "start": {
                                    "line": 354,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 354,
                                    "column": 24
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 14136,
                      "end": 14149,
                      "loc": {
                        "start": {
                          "line": 357,
                          "column": 8
                        },
                        "end": {
                          "line": 357,
                          "column": 21
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 14143,
                        "end": 14148,
                        "loc": {
                          "start": {
                            "line": 357,
                            "column": 15
                          },
                          "end": {
                            "line": 357,
                            "column": 20
                          }
                        },
                        "name": "dirty"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 14161,
              "end": 15426,
              "loc": {
                "start": {
                  "line": 360,
                  "column": 4
                },
                "end": {
                  "line": 391,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 14161,
                "end": 14170,
                "loc": {
                  "start": {
                    "line": 360,
                    "column": 4
                  },
                  "end": {
                    "line": 360,
                    "column": 13
                  }
                },
                "name": "calibrate"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 14170,
                "end": 15426,
                "loc": {
                  "start": {
                    "line": 360,
                    "column": 13
                  },
                  "end": {
                    "line": 391,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 14171,
                    "end": 14176,
                    "loc": {
                      "start": {
                        "line": 360,
                        "column": 14
                      },
                      "end": {
                        "line": 360,
                        "column": 19
                      }
                    },
                    "name": "width"
                  },
                  {
                    "type": "Identifier",
                    "start": 14178,
                    "end": 14184,
                    "loc": {
                      "start": {
                        "line": 360,
                        "column": 21
                      },
                      "end": {
                        "line": 360,
                        "column": 27
                      }
                    },
                    "name": "height"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 14186,
                  "end": 15426,
                  "loc": {
                    "start": {
                      "line": 360,
                      "column": 29
                    },
                    "end": {
                      "line": 391,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 14196,
                      "end": 14225,
                      "loc": {
                        "start": {
                          "line": 361,
                          "column": 8
                        },
                        "end": {
                          "line": 361,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14196,
                        "end": 14224,
                        "loc": {
                          "start": {
                            "line": 361,
                            "column": 8
                          },
                          "end": {
                            "line": 361,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14196,
                          "end": 14207,
                          "loc": {
                            "start": {
                              "line": 361,
                              "column": 8
                            },
                            "end": {
                              "line": 361,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14196,
                            "end": 14200,
                            "loc": {
                              "start": {
                                "line": 361,
                                "column": 8
                              },
                              "end": {
                                "line": 361,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14201,
                            "end": 14207,
                            "loc": {
                              "start": {
                                "line": 361,
                                "column": 13
                              },
                              "end": {
                                "line": 361,
                                "column": 19
                              }
                            },
                            "name": "aspect"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 14210,
                          "end": 14224,
                          "loc": {
                            "start": {
                              "line": 361,
                              "column": 22
                            },
                            "end": {
                              "line": 361,
                              "column": 36
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 14210,
                            "end": 14215,
                            "loc": {
                              "start": {
                                "line": 361,
                                "column": 22
                              },
                              "end": {
                                "line": 361,
                                "column": 27
                              }
                            },
                            "name": "width"
                          },
                          "operator": "/",
                          "right": {
                            "type": "Identifier",
                            "start": 14218,
                            "end": 14224,
                            "loc": {
                              "start": {
                                "line": 361,
                                "column": 30
                              },
                              "end": {
                                "line": 361,
                                "column": 36
                              }
                            },
                            "name": "height"
                          }
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 14235,
                      "end": 15420,
                      "loc": {
                        "start": {
                          "line": 363,
                          "column": 8
                        },
                        "end": {
                          "line": 390,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 14239,
                        "end": 14285,
                        "loc": {
                          "start": {
                            "line": 363,
                            "column": 12
                          },
                          "end": {
                            "line": 363,
                            "column": 58
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 14239,
                          "end": 14250,
                          "loc": {
                            "start": {
                              "line": 363,
                              "column": 12
                            },
                            "end": {
                              "line": 363,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14239,
                            "end": 14243,
                            "loc": {
                              "start": {
                                "line": 363,
                                "column": 12
                              },
                              "end": {
                                "line": 363,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14244,
                            "end": 14250,
                            "loc": {
                              "start": {
                                "line": 363,
                                "column": 17
                              },
                              "end": {
                                "line": 363,
                                "column": 23
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        },
                        "operator": "instanceof",
                        "right": {
                          "type": "MemberExpression",
                          "start": 14262,
                          "end": 14285,
                          "loc": {
                            "start": {
                              "line": 363,
                              "column": 35
                            },
                            "end": {
                              "line": 363,
                              "column": 58
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 14262,
                            "end": 14267,
                            "loc": {
                              "start": {
                                "line": 363,
                                "column": 35
                              },
                              "end": {
                                "line": 363,
                                "column": 40
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14268,
                            "end": 14285,
                            "loc": {
                              "start": {
                                "line": 363,
                                "column": 41
                              },
                              "end": {
                                "line": 363,
                                "column": 58
                              }
                            },
                            "name": "PerspectiveCamera"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 14287,
                        "end": 14698,
                        "loc": {
                          "start": {
                            "line": 363,
                            "column": 60
                          },
                          "end": {
                            "line": 374,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 14301,
                            "end": 14334,
                            "loc": {
                              "start": {
                                "line": 364,
                                "column": 12
                              },
                              "end": {
                                "line": 364,
                                "column": 45
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14301,
                              "end": 14333,
                              "loc": {
                                "start": {
                                  "line": 364,
                                  "column": 12
                                },
                                "end": {
                                  "line": 364,
                                  "column": 44
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 14301,
                                "end": 14319,
                                "loc": {
                                  "start": {
                                    "line": 364,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 364,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14301,
                                  "end": 14312,
                                  "loc": {
                                    "start": {
                                      "line": 364,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 364,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14301,
                                    "end": 14305,
                                    "loc": {
                                      "start": {
                                        "line": 364,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 364,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14306,
                                    "end": 14312,
                                    "loc": {
                                      "start": {
                                        "line": 364,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 364,
                                        "column": 23
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14313,
                                  "end": 14319,
                                  "loc": {
                                    "start": {
                                      "line": 364,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 364,
                                      "column": 30
                                    }
                                  },
                                  "name": "aspect"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 14322,
                                "end": 14333,
                                "loc": {
                                  "start": {
                                    "line": 364,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 364,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14322,
                                  "end": 14326,
                                  "loc": {
                                    "start": {
                                      "line": 364,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 364,
                                      "column": 37
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14327,
                                  "end": 14333,
                                  "loc": {
                                    "start": {
                                      "line": 364,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 364,
                                      "column": 44
                                    }
                                  },
                                  "name": "aspect"
                                },
                                "computed": false
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14347,
                            "end": 14384,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 12
                              },
                              "end": {
                                "line": 365,
                                "column": 49
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14347,
                              "end": 14383,
                              "loc": {
                                "start": {
                                  "line": 365,
                                  "column": 12
                                },
                                "end": {
                                  "line": 365,
                                  "column": 48
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 14347,
                                "end": 14381,
                                "loc": {
                                  "start": {
                                    "line": 365,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 365,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14347,
                                  "end": 14358,
                                  "loc": {
                                    "start": {
                                      "line": 365,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 365,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14347,
                                    "end": 14351,
                                    "loc": {
                                      "start": {
                                        "line": 365,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 365,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14352,
                                    "end": 14358,
                                    "loc": {
                                      "start": {
                                        "line": 365,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 365,
                                        "column": 23
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14359,
                                  "end": 14381,
                                  "loc": {
                                    "start": {
                                      "line": 365,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 365,
                                      "column": 46
                                    }
                                  },
                                  "name": "updateProjectionMatrix"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14397,
                            "end": 14439,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 12
                              },
                              "end": {
                                "line": 366,
                                "column": 54
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14397,
                              "end": 14438,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 12
                                },
                                "end": {
                                  "line": 366,
                                  "column": 53
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 14397,
                                "end": 14415,
                                "loc": {
                                  "start": {
                                    "line": 366,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 366,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14397,
                                  "end": 14408,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14397,
                                    "end": 14401,
                                    "loc": {
                                      "start": {
                                        "line": 366,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 366,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14402,
                                    "end": 14408,
                                    "loc": {
                                      "start": {
                                        "line": 366,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 366,
                                        "column": 23
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14409,
                                  "end": 14415,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 30
                                    }
                                  },
                                  "name": "radius"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "BinaryExpression",
                                "start": 14418,
                                "end": 14438,
                                "loc": {
                                  "start": {
                                    "line": 366,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 366,
                                    "column": 53
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 14419,
                                  "end": 14433,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 48
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14419,
                                    "end": 14424,
                                    "loc": {
                                      "start": {
                                        "line": 366,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 366,
                                        "column": 39
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 14427,
                                    "end": 14433,
                                    "loc": {
                                      "start": {
                                        "line": 366,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 366,
                                        "column": 48
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "parenthesizedExpression": true
                                },
                                "operator": "/",
                                "right": {
                                  "type": "Literal",
                                  "start": 14437,
                                  "end": 14438,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 53
                                    }
                                  },
                                  "value": 4,
                                  "rawValue": 4,
                                  "raw": "4"
                                }
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 14453,
                            "end": 14687,
                            "loc": {
                              "start": {
                                "line": 368,
                                "column": 12
                              },
                              "end": {
                                "line": 372,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 14457,
                              "end": 14498,
                              "loc": {
                                "start": {
                                  "line": 368,
                                  "column": 16
                                },
                                "end": {
                                  "line": 368,
                                  "column": 57
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 14457,
                                "end": 14465,
                                "loc": {
                                  "start": {
                                    "line": 368,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 368,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14457,
                                  "end": 14461,
                                  "loc": {
                                    "start": {
                                      "line": 368,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 368,
                                      "column": 20
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14462,
                                  "end": 14465,
                                  "loc": {
                                    "start": {
                                      "line": 368,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 368,
                                      "column": 24
                                    }
                                  },
                                  "name": "hud"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 14469,
                                "end": 14498,
                                "loc": {
                                  "start": {
                                    "line": 368,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 368,
                                    "column": 57
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 14469,
                                  "end": 14483,
                                  "loc": {
                                    "start": {
                                      "line": 368,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 368,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14469,
                                    "end": 14473,
                                    "loc": {
                                      "start": {
                                        "line": 368,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 368,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14474,
                                    "end": 14483,
                                    "loc": {
                                      "start": {
                                        "line": 368,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 368,
                                        "column": 42
                                      }
                                    },
                                    "name": "cameraHud"
                                  },
                                  "computed": false
                                },
                                "operator": "!=",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 14487,
                                  "end": 14498,
                                  "loc": {
                                    "start": {
                                      "line": 368,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 368,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14487,
                                    "end": 14491,
                                    "loc": {
                                      "start": {
                                        "line": 368,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 368,
                                        "column": 50
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14492,
                                    "end": 14498,
                                    "loc": {
                                      "start": {
                                        "line": 368,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 368,
                                        "column": 57
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 14500,
                              "end": 14687,
                              "loc": {
                                "start": {
                                  "line": 368,
                                  "column": 59
                                },
                                "end": {
                                  "line": 372,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 14518,
                                  "end": 14554,
                                  "loc": {
                                    "start": {
                                      "line": 369,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 369,
                                      "column": 52
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 14518,
                                    "end": 14553,
                                    "loc": {
                                      "start": {
                                        "line": 369,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 369,
                                        "column": 51
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 14518,
                                      "end": 14539,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 14518,
                                        "end": 14532,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 14518,
                                          "end": 14522,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14523,
                                          "end": 14532,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 30
                                            }
                                          },
                                          "name": "cameraHud"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14533,
                                        "end": 14539,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 37
                                          }
                                        },
                                        "name": "aspect"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 14542,
                                      "end": 14553,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 14542,
                                        "end": 14546,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 44
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14547,
                                        "end": 14553,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 51
                                          }
                                        },
                                        "name": "aspect"
                                      },
                                      "computed": false
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 14571,
                                  "end": 14611,
                                  "loc": {
                                    "start": {
                                      "line": 370,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 370,
                                      "column": 56
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 14571,
                                    "end": 14610,
                                    "loc": {
                                      "start": {
                                        "line": 370,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 370,
                                        "column": 55
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 14571,
                                      "end": 14608,
                                      "loc": {
                                        "start": {
                                          "line": 370,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 370,
                                          "column": 53
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 14571,
                                        "end": 14585,
                                        "loc": {
                                          "start": {
                                            "line": 370,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 370,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 14571,
                                          "end": 14575,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14576,
                                          "end": 14585,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 30
                                            }
                                          },
                                          "name": "cameraHud"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14586,
                                        "end": 14608,
                                        "loc": {
                                          "start": {
                                            "line": 370,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 370,
                                            "column": 53
                                          }
                                        },
                                        "name": "updateProjectionMatrix"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 14628,
                                  "end": 14673,
                                  "loc": {
                                    "start": {
                                      "line": 371,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 371,
                                      "column": 61
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 14628,
                                    "end": 14672,
                                    "loc": {
                                      "start": {
                                        "line": 371,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 371,
                                        "column": 60
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 14628,
                                      "end": 14649,
                                      "loc": {
                                        "start": {
                                          "line": 371,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 371,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 14628,
                                        "end": 14642,
                                        "loc": {
                                          "start": {
                                            "line": 371,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 371,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 14628,
                                          "end": 14632,
                                          "loc": {
                                            "start": {
                                              "line": 371,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 371,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14633,
                                          "end": 14642,
                                          "loc": {
                                            "start": {
                                              "line": 371,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 371,
                                              "column": 30
                                            }
                                          },
                                          "name": "cameraHud"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14643,
                                        "end": 14649,
                                        "loc": {
                                          "start": {
                                            "line": 371,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 371,
                                            "column": 37
                                          }
                                        },
                                        "name": "radius"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 14652,
                                      "end": 14672,
                                      "loc": {
                                        "start": {
                                          "line": 371,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 371,
                                          "column": 60
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 14653,
                                        "end": 14667,
                                        "loc": {
                                          "start": {
                                            "line": 371,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 371,
                                            "column": 55
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 14653,
                                          "end": 14658,
                                          "loc": {
                                            "start": {
                                              "line": 371,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 371,
                                              "column": 46
                                            }
                                          },
                                          "name": "width"
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 14661,
                                          "end": 14667,
                                          "loc": {
                                            "start": {
                                              "line": 371,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 371,
                                              "column": 55
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "parenthesizedExpression": true
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "Literal",
                                        "start": 14671,
                                        "end": 14672,
                                        "loc": {
                                          "start": {
                                            "line": 371,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 371,
                                            "column": 60
                                          }
                                        },
                                        "value": 4,
                                        "rawValue": 4,
                                        "raw": "4"
                                      }
                                    }
                                  }
                                }
                              ]
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 14704,
                        "end": 15420,
                        "loc": {
                          "start": {
                            "line": 374,
                            "column": 15
                          },
                          "end": {
                            "line": 390,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 14708,
                          "end": 14755,
                          "loc": {
                            "start": {
                              "line": 374,
                              "column": 19
                            },
                            "end": {
                              "line": 374,
                              "column": 66
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 14708,
                            "end": 14719,
                            "loc": {
                              "start": {
                                "line": 374,
                                "column": 19
                              },
                              "end": {
                                "line": 374,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14708,
                              "end": 14712,
                              "loc": {
                                "start": {
                                  "line": 374,
                                  "column": 19
                                },
                                "end": {
                                  "line": 374,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14713,
                              "end": 14719,
                              "loc": {
                                "start": {
                                  "line": 374,
                                  "column": 24
                                },
                                "end": {
                                  "line": 374,
                                  "column": 30
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          },
                          "operator": "instanceof",
                          "right": {
                            "type": "MemberExpression",
                            "start": 14731,
                            "end": 14755,
                            "loc": {
                              "start": {
                                "line": 374,
                                "column": 42
                              },
                              "end": {
                                "line": 374,
                                "column": 66
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 14731,
                              "end": 14736,
                              "loc": {
                                "start": {
                                  "line": 374,
                                  "column": 42
                                },
                                "end": {
                                  "line": 374,
                                  "column": 47
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14737,
                              "end": 14755,
                              "loc": {
                                "start": {
                                  "line": 374,
                                  "column": 48
                                },
                                "end": {
                                  "line": 374,
                                  "column": 66
                                }
                              },
                              "name": "OrthographicCamera"
                            },
                            "computed": false
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 14757,
                          "end": 15420,
                          "loc": {
                            "start": {
                              "line": 374,
                              "column": 68
                            },
                            "end": {
                              "line": 390,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 14771,
                              "end": 14810,
                              "loc": {
                                "start": {
                                  "line": 375,
                                  "column": 12
                                },
                                "end": {
                                  "line": 375,
                                  "column": 51
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 14771,
                                "end": 14809,
                                "loc": {
                                  "start": {
                                    "line": 375,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 375,
                                    "column": 50
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 14771,
                                  "end": 14776,
                                  "loc": {
                                    "start": {
                                      "line": 375,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 375,
                                      "column": 17
                                    }
                                  },
                                  "name": "width"
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 14779,
                                  "end": 14809,
                                  "loc": {
                                    "start": {
                                      "line": 375,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 375,
                                      "column": 50
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 14779,
                                    "end": 14795,
                                    "loc": {
                                      "start": {
                                        "line": 375,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 375,
                                        "column": 36
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 14779,
                                      "end": 14790,
                                      "loc": {
                                        "start": {
                                          "line": 375,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 375,
                                          "column": 31
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 14779,
                                        "end": 14783,
                                        "loc": {
                                          "start": {
                                            "line": 375,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 375,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14784,
                                        "end": 14790,
                                        "loc": {
                                          "start": {
                                            "line": 375,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 375,
                                            "column": 31
                                          }
                                        },
                                        "name": "camera"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14791,
                                      "end": 14795,
                                      "loc": {
                                        "start": {
                                          "line": 375,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 375,
                                          "column": 36
                                        }
                                      },
                                      "name": "size"
                                    },
                                    "computed": false
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 14798,
                                    "end": 14809,
                                    "loc": {
                                      "start": {
                                        "line": 375,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 375,
                                        "column": 50
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14798,
                                      "end": 14802,
                                      "loc": {
                                        "start": {
                                          "line": 375,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 375,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14803,
                                      "end": 14809,
                                      "loc": {
                                        "start": {
                                          "line": 375,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 375,
                                          "column": 50
                                        }
                                      },
                                      "name": "aspect"
                                    },
                                    "computed": false
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 14823,
                              "end": 14849,
                              "loc": {
                                "start": {
                                  "line": 376,
                                  "column": 12
                                },
                                "end": {
                                  "line": 376,
                                  "column": 38
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 14823,
                                "end": 14848,
                                "loc": {
                                  "start": {
                                    "line": 376,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 376,
                                    "column": 37
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 14823,
                                  "end": 14829,
                                  "loc": {
                                    "start": {
                                      "line": 376,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 376,
                                      "column": 18
                                    }
                                  },
                                  "name": "height"
                                },
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 14832,
                                  "end": 14848,
                                  "loc": {
                                    "start": {
                                      "line": 376,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 376,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14832,
                                    "end": 14843,
                                    "loc": {
                                      "start": {
                                        "line": 376,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 376,
                                        "column": 32
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14832,
                                      "end": 14836,
                                      "loc": {
                                        "start": {
                                          "line": 376,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 376,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14837,
                                      "end": 14843,
                                      "loc": {
                                        "start": {
                                          "line": 376,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 376,
                                          "column": 32
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14844,
                                    "end": 14848,
                                    "loc": {
                                      "start": {
                                        "line": 376,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 376,
                                        "column": 37
                                      }
                                    },
                                    "name": "size"
                                  },
                                  "computed": false
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 14862,
                              "end": 14892,
                              "loc": {
                                "start": {
                                  "line": 377,
                                  "column": 12
                                },
                                "end": {
                                  "line": 377,
                                  "column": 42
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 14862,
                                "end": 14891,
                                "loc": {
                                  "start": {
                                    "line": 377,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 377,
                                    "column": 41
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 14862,
                                  "end": 14878,
                                  "loc": {
                                    "start": {
                                      "line": 377,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 377,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14862,
                                    "end": 14873,
                                    "loc": {
                                      "start": {
                                        "line": 377,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 377,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14862,
                                      "end": 14866,
                                      "loc": {
                                        "start": {
                                          "line": 377,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 377,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14867,
                                      "end": 14873,
                                      "loc": {
                                        "start": {
                                          "line": 377,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 377,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14874,
                                    "end": 14878,
                                    "loc": {
                                      "start": {
                                        "line": 377,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 377,
                                        "column": 28
                                      }
                                    },
                                    "name": "left"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 14881,
                                  "end": 14891,
                                  "loc": {
                                    "start": {
                                      "line": 377,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 377,
                                      "column": 41
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14881,
                                    "end": 14886,
                                    "loc": {
                                      "start": {
                                        "line": 377,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 377,
                                        "column": 36
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 14889,
                                    "end": 14891,
                                    "loc": {
                                      "start": {
                                        "line": 377,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 377,
                                        "column": 41
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Literal",
                                      "start": 14890,
                                      "end": 14891,
                                      "loc": {
                                        "start": {
                                          "line": 377,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 377,
                                          "column": 41
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 14905,
                              "end": 14935,
                              "loc": {
                                "start": {
                                  "line": 378,
                                  "column": 12
                                },
                                "end": {
                                  "line": 378,
                                  "column": 42
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 14905,
                                "end": 14934,
                                "loc": {
                                  "start": {
                                    "line": 378,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 378,
                                    "column": 41
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 14905,
                                  "end": 14922,
                                  "loc": {
                                    "start": {
                                      "line": 378,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 378,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14905,
                                    "end": 14916,
                                    "loc": {
                                      "start": {
                                        "line": 378,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 378,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14905,
                                      "end": 14909,
                                      "loc": {
                                        "start": {
                                          "line": 378,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 378,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14910,
                                      "end": 14916,
                                      "loc": {
                                        "start": {
                                          "line": 378,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 378,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14917,
                                    "end": 14922,
                                    "loc": {
                                      "start": {
                                        "line": 378,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 378,
                                        "column": 29
                                      }
                                    },
                                    "name": "right"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 14925,
                                  "end": 14934,
                                  "loc": {
                                    "start": {
                                      "line": 378,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 378,
                                      "column": 41
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14925,
                                    "end": 14930,
                                    "loc": {
                                      "start": {
                                        "line": 378,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 378,
                                        "column": 37
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "Literal",
                                    "start": 14933,
                                    "end": 14934,
                                    "loc": {
                                      "start": {
                                        "line": 378,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 378,
                                        "column": 41
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 14948,
                              "end": 14977,
                              "loc": {
                                "start": {
                                  "line": 379,
                                  "column": 12
                                },
                                "end": {
                                  "line": 379,
                                  "column": 41
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 14948,
                                "end": 14976,
                                "loc": {
                                  "start": {
                                    "line": 379,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 379,
                                    "column": 40
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 14948,
                                  "end": 14963,
                                  "loc": {
                                    "start": {
                                      "line": 379,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 379,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14948,
                                    "end": 14959,
                                    "loc": {
                                      "start": {
                                        "line": 379,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 379,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14948,
                                      "end": 14952,
                                      "loc": {
                                        "start": {
                                          "line": 379,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 379,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14953,
                                      "end": 14959,
                                      "loc": {
                                        "start": {
                                          "line": 379,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 379,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14960,
                                    "end": 14963,
                                    "loc": {
                                      "start": {
                                        "line": 379,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 379,
                                        "column": 27
                                      }
                                    },
                                    "name": "top"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 14966,
                                  "end": 14976,
                                  "loc": {
                                    "start": {
                                      "line": 379,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 379,
                                      "column": 40
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14966,
                                    "end": 14972,
                                    "loc": {
                                      "start": {
                                        "line": 379,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 379,
                                        "column": 36
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "Literal",
                                    "start": 14975,
                                    "end": 14976,
                                    "loc": {
                                      "start": {
                                        "line": 379,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 379,
                                        "column": 40
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 14990,
                              "end": 15023,
                              "loc": {
                                "start": {
                                  "line": 380,
                                  "column": 12
                                },
                                "end": {
                                  "line": 380,
                                  "column": 45
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 14990,
                                "end": 15022,
                                "loc": {
                                  "start": {
                                    "line": 380,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 380,
                                    "column": 44
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 14990,
                                  "end": 15008,
                                  "loc": {
                                    "start": {
                                      "line": 380,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 380,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14990,
                                    "end": 15001,
                                    "loc": {
                                      "start": {
                                        "line": 380,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 380,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14990,
                                      "end": 14994,
                                      "loc": {
                                        "start": {
                                          "line": 380,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 380,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14995,
                                      "end": 15001,
                                      "loc": {
                                        "start": {
                                          "line": 380,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 380,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15002,
                                    "end": 15008,
                                    "loc": {
                                      "start": {
                                        "line": 380,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 380,
                                        "column": 30
                                      }
                                    },
                                    "name": "bottom"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 15011,
                                  "end": 15022,
                                  "loc": {
                                    "start": {
                                      "line": 380,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 380,
                                      "column": 44
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 15011,
                                    "end": 15017,
                                    "loc": {
                                      "start": {
                                        "line": 380,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 380,
                                        "column": 39
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 15020,
                                    "end": 15022,
                                    "loc": {
                                      "start": {
                                        "line": 380,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 380,
                                        "column": 44
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Literal",
                                      "start": 15021,
                                      "end": 15022,
                                      "loc": {
                                        "start": {
                                          "line": 380,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 380,
                                          "column": 44
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 15036,
                              "end": 15073,
                              "loc": {
                                "start": {
                                  "line": 381,
                                  "column": 12
                                },
                                "end": {
                                  "line": 381,
                                  "column": 49
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 15036,
                                "end": 15072,
                                "loc": {
                                  "start": {
                                    "line": 381,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 381,
                                    "column": 48
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 15036,
                                  "end": 15070,
                                  "loc": {
                                    "start": {
                                      "line": 381,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 381,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15036,
                                    "end": 15047,
                                    "loc": {
                                      "start": {
                                        "line": 381,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 381,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15036,
                                      "end": 15040,
                                      "loc": {
                                        "start": {
                                          "line": 381,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 381,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15041,
                                      "end": 15047,
                                      "loc": {
                                        "start": {
                                          "line": 381,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 381,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15048,
                                    "end": 15070,
                                    "loc": {
                                      "start": {
                                        "line": 381,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 381,
                                        "column": 46
                                      }
                                    },
                                    "name": "updateProjectionMatrix"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            },
                            {
                              "type": "IfStatement",
                              "start": 15087,
                              "end": 15410,
                              "loc": {
                                "start": {
                                  "line": 383,
                                  "column": 12
                                },
                                "end": {
                                  "line": 389,
                                  "column": 13
                                }
                              },
                              "test": {
                                "type": "LogicalExpression",
                                "start": 15091,
                                "end": 15132,
                                "loc": {
                                  "start": {
                                    "line": 383,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 383,
                                    "column": 57
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 15091,
                                  "end": 15099,
                                  "loc": {
                                    "start": {
                                      "line": 383,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 383,
                                      "column": 24
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 15091,
                                    "end": 15095,
                                    "loc": {
                                      "start": {
                                        "line": 383,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 383,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15096,
                                    "end": 15099,
                                    "loc": {
                                      "start": {
                                        "line": 383,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 383,
                                        "column": 24
                                      }
                                    },
                                    "name": "hud"
                                  },
                                  "computed": false
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 15103,
                                  "end": 15132,
                                  "loc": {
                                    "start": {
                                      "line": 383,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 383,
                                      "column": 57
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 15103,
                                    "end": 15117,
                                    "loc": {
                                      "start": {
                                        "line": 383,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 383,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15103,
                                      "end": 15107,
                                      "loc": {
                                        "start": {
                                          "line": 383,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 383,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15108,
                                      "end": 15117,
                                      "loc": {
                                        "start": {
                                          "line": 383,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 383,
                                          "column": 42
                                        }
                                      },
                                      "name": "cameraHud"
                                    },
                                    "computed": false
                                  },
                                  "operator": "!=",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 15121,
                                    "end": 15132,
                                    "loc": {
                                      "start": {
                                        "line": 383,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 383,
                                        "column": 57
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15121,
                                      "end": 15125,
                                      "loc": {
                                        "start": {
                                          "line": 383,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 383,
                                          "column": 50
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15126,
                                      "end": 15132,
                                      "loc": {
                                        "start": {
                                          "line": 383,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 383,
                                          "column": 57
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "start": 15134,
                                "end": 15410,
                                "loc": {
                                  "start": {
                                    "line": 383,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 389,
                                    "column": 13
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15152,
                                    "end": 15186,
                                    "loc": {
                                      "start": {
                                        "line": 384,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 384,
                                        "column": 50
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 15152,
                                      "end": 15185,
                                      "loc": {
                                        "start": {
                                          "line": 384,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 384,
                                          "column": 49
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 15152,
                                        "end": 15171,
                                        "loc": {
                                          "start": {
                                            "line": 384,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 384,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15152,
                                          "end": 15166,
                                          "loc": {
                                            "start": {
                                              "line": 384,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 384,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15152,
                                            "end": 15156,
                                            "loc": {
                                              "start": {
                                                "line": 384,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 384,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15157,
                                            "end": 15166,
                                            "loc": {
                                              "start": {
                                                "line": 384,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 384,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15167,
                                          "end": 15171,
                                          "loc": {
                                            "start": {
                                              "line": 384,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 384,
                                              "column": 35
                                            }
                                          },
                                          "name": "left"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 15174,
                                        "end": 15185,
                                        "loc": {
                                          "start": {
                                            "line": 384,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 384,
                                            "column": 49
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 15174,
                                          "end": 15179,
                                          "loc": {
                                            "start": {
                                              "line": 384,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 384,
                                              "column": 43
                                            }
                                          },
                                          "name": "width"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 15182,
                                          "end": 15185,
                                          "loc": {
                                            "start": {
                                              "line": 384,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 384,
                                              "column": 49
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Literal",
                                            "start": 15184,
                                            "end": 15185,
                                            "loc": {
                                              "start": {
                                                "line": 384,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 384,
                                                "column": 49
                                              }
                                            },
                                            "value": 2,
                                            "rawValue": 2,
                                            "raw": "2"
                                          }
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15203,
                                    "end": 15236,
                                    "loc": {
                                      "start": {
                                        "line": 385,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 385,
                                        "column": 49
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 15203,
                                      "end": 15235,
                                      "loc": {
                                        "start": {
                                          "line": 385,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 385,
                                          "column": 48
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 15203,
                                        "end": 15223,
                                        "loc": {
                                          "start": {
                                            "line": 385,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 385,
                                            "column": 36
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15203,
                                          "end": 15217,
                                          "loc": {
                                            "start": {
                                              "line": 385,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 385,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15203,
                                            "end": 15207,
                                            "loc": {
                                              "start": {
                                                "line": 385,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 385,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15208,
                                            "end": 15217,
                                            "loc": {
                                              "start": {
                                                "line": 385,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 385,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15218,
                                          "end": 15223,
                                          "loc": {
                                            "start": {
                                              "line": 385,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 385,
                                              "column": 36
                                            }
                                          },
                                          "name": "right"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 15226,
                                        "end": 15235,
                                        "loc": {
                                          "start": {
                                            "line": 385,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 385,
                                            "column": 48
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 15226,
                                          "end": 15231,
                                          "loc": {
                                            "start": {
                                              "line": 385,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 385,
                                              "column": 44
                                            }
                                          },
                                          "name": "width"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 15234,
                                          "end": 15235,
                                          "loc": {
                                            "start": {
                                              "line": 385,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 385,
                                              "column": 48
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15253,
                                    "end": 15285,
                                    "loc": {
                                      "start": {
                                        "line": 386,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 386,
                                        "column": 48
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 15253,
                                      "end": 15284,
                                      "loc": {
                                        "start": {
                                          "line": 386,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 386,
                                          "column": 47
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 15253,
                                        "end": 15271,
                                        "loc": {
                                          "start": {
                                            "line": 386,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 386,
                                            "column": 34
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15253,
                                          "end": 15267,
                                          "loc": {
                                            "start": {
                                              "line": 386,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 386,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15253,
                                            "end": 15257,
                                            "loc": {
                                              "start": {
                                                "line": 386,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 386,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15258,
                                            "end": 15267,
                                            "loc": {
                                              "start": {
                                                "line": 386,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 386,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15268,
                                          "end": 15271,
                                          "loc": {
                                            "start": {
                                              "line": 386,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 386,
                                              "column": 34
                                            }
                                          },
                                          "name": "top"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 15274,
                                        "end": 15284,
                                        "loc": {
                                          "start": {
                                            "line": 386,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 386,
                                            "column": 47
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 15274,
                                          "end": 15280,
                                          "loc": {
                                            "start": {
                                              "line": 386,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 386,
                                              "column": 43
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 15283,
                                          "end": 15284,
                                          "loc": {
                                            "start": {
                                              "line": 386,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 386,
                                              "column": 47
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15302,
                                    "end": 15339,
                                    "loc": {
                                      "start": {
                                        "line": 387,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 387,
                                        "column": 53
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 15302,
                                      "end": 15338,
                                      "loc": {
                                        "start": {
                                          "line": 387,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 387,
                                          "column": 52
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 15302,
                                        "end": 15323,
                                        "loc": {
                                          "start": {
                                            "line": 387,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 387,
                                            "column": 37
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15302,
                                          "end": 15316,
                                          "loc": {
                                            "start": {
                                              "line": 387,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 387,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15302,
                                            "end": 15306,
                                            "loc": {
                                              "start": {
                                                "line": 387,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 387,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15307,
                                            "end": 15316,
                                            "loc": {
                                              "start": {
                                                "line": 387,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 387,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15317,
                                          "end": 15323,
                                          "loc": {
                                            "start": {
                                              "line": 387,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 387,
                                              "column": 37
                                            }
                                          },
                                          "name": "bottom"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 15326,
                                        "end": 15338,
                                        "loc": {
                                          "start": {
                                            "line": 387,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 387,
                                            "column": 52
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 15326,
                                          "end": 15332,
                                          "loc": {
                                            "start": {
                                              "line": 387,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 387,
                                              "column": 46
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 15335,
                                          "end": 15338,
                                          "loc": {
                                            "start": {
                                              "line": 387,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 387,
                                              "column": 52
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Literal",
                                            "start": 15337,
                                            "end": 15338,
                                            "loc": {
                                              "start": {
                                                "line": 387,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 387,
                                                "column": 52
                                              }
                                            },
                                            "value": 2,
                                            "rawValue": 2,
                                            "raw": "2"
                                          }
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15356,
                                    "end": 15396,
                                    "loc": {
                                      "start": {
                                        "line": 388,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 388,
                                        "column": 56
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 15356,
                                      "end": 15395,
                                      "loc": {
                                        "start": {
                                          "line": 388,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 388,
                                          "column": 55
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 15356,
                                        "end": 15393,
                                        "loc": {
                                          "start": {
                                            "line": 388,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 388,
                                            "column": 53
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15356,
                                          "end": 15370,
                                          "loc": {
                                            "start": {
                                              "line": 388,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 388,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15356,
                                            "end": 15360,
                                            "loc": {
                                              "start": {
                                                "line": 388,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 388,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15361,
                                            "end": 15370,
                                            "loc": {
                                              "start": {
                                                "line": 388,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 388,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15371,
                                          "end": 15393,
                                          "loc": {
                                            "start": {
                                              "line": 388,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 388,
                                              "column": 53
                                            }
                                          },
                                          "name": "updateProjectionMatrix"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    }
                                  }
                                ]
                              },
                              "alternate": null
                            }
                          ]
                        },
                        "alternate": null
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 15432,
              "end": 15661,
              "loc": {
                "start": {
                  "line": 393,
                  "column": 4
                },
                "end": {
                  "line": 397,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 15432,
                "end": 15444,
                "loc": {
                  "start": {
                    "line": 393,
                    "column": 4
                  },
                  "end": {
                    "line": 393,
                    "column": 16
                  }
                },
                "name": "updateBounds"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 15444,
                "end": 15661,
                "loc": {
                  "start": {
                    "line": 393,
                    "column": 16
                  },
                  "end": {
                    "line": 397,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 15445,
                    "end": 15460,
                    "loc": {
                      "start": {
                        "line": 393,
                        "column": 17
                      },
                      "end": {
                        "line": 393,
                        "column": 32
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 15445,
                      "end": 15448,
                      "loc": {
                        "start": {
                          "line": 393,
                          "column": 17
                        },
                        "end": {
                          "line": 393,
                          "column": 20
                        }
                      },
                      "name": "box"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 15451,
                      "end": 15460,
                      "loc": {
                        "start": {
                          "line": 393,
                          "column": 23
                        },
                        "end": {
                          "line": 393,
                          "column": 32
                        }
                      },
                      "name": "undefined"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 15462,
                  "end": 15661,
                  "loc": {
                    "start": {
                      "line": 393,
                      "column": 34
                    },
                    "end": {
                      "line": 397,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 15472,
                      "end": 15568,
                      "loc": {
                        "start": {
                          "line": 394,
                          "column": 8
                        },
                        "end": {
                          "line": 394,
                          "column": 104
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 15472,
                        "end": 15567,
                        "loc": {
                          "start": {
                            "line": 394,
                            "column": 8
                          },
                          "end": {
                            "line": 394,
                            "column": 103
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 15472,
                          "end": 15487,
                          "loc": {
                            "start": {
                              "line": 394,
                              "column": 8
                            },
                            "end": {
                              "line": 394,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15472,
                            "end": 15483,
                            "loc": {
                              "start": {
                                "line": 394,
                                "column": 8
                              },
                              "end": {
                                "line": 394,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15472,
                              "end": 15476,
                              "loc": {
                                "start": {
                                  "line": 394,
                                  "column": 8
                                },
                                "end": {
                                  "line": 394,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15477,
                              "end": 15483,
                              "loc": {
                                "start": {
                                  "line": 394,
                                  "column": 13
                                },
                                "end": {
                                  "line": 394,
                                  "column": 19
                                }
                              },
                              "name": "bounds"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15484,
                            "end": 15487,
                            "loc": {
                              "start": {
                                "line": 394,
                                "column": 20
                              },
                              "end": {
                                "line": 394,
                                "column": 23
                              }
                            },
                            "name": "box"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 15490,
                          "end": 15567,
                          "loc": {
                            "start": {
                              "line": 394,
                              "column": 26
                            },
                            "end": {
                              "line": 394,
                              "column": 103
                            }
                          },
                          "test": {
                            "type": "Identifier",
                            "start": 15490,
                            "end": 15493,
                            "loc": {
                              "start": {
                                "line": 394,
                                "column": 26
                              },
                              "end": {
                                "line": 394,
                                "column": 29
                              }
                            },
                            "name": "box"
                          },
                          "consequent": {
                            "type": "CallExpression",
                            "start": 15496,
                            "end": 15522,
                            "loc": {
                              "start": {
                                "line": 394,
                                "column": 32
                              },
                              "end": {
                                "line": 394,
                                "column": 58
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 15496,
                              "end": 15517,
                              "loc": {
                                "start": {
                                  "line": 394,
                                  "column": 32
                                },
                                "end": {
                                  "line": 394,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 15496,
                                "end": 15511,
                                "loc": {
                                  "start": {
                                    "line": 394,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 394,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15496,
                                  "end": 15507,
                                  "loc": {
                                    "start": {
                                      "line": 394,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 394,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 15496,
                                    "end": 15500,
                                    "loc": {
                                      "start": {
                                        "line": 394,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 394,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15501,
                                    "end": 15507,
                                    "loc": {
                                      "start": {
                                        "line": 394,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 394,
                                        "column": 43
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15508,
                                  "end": 15511,
                                  "loc": {
                                    "start": {
                                      "line": 394,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 394,
                                      "column": 47
                                    }
                                  },
                                  "name": "box"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15512,
                                "end": 15517,
                                "loc": {
                                  "start": {
                                    "line": 394,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 394,
                                    "column": 53
                                  }
                                },
                                "name": "union"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 15518,
                                "end": 15521,
                                "loc": {
                                  "start": {
                                    "line": 394,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 394,
                                    "column": 57
                                  }
                                },
                                "name": "box"
                              }
                            ]
                          },
                          "alternate": {
                            "type": "CallExpression",
                            "start": 15525,
                            "end": 15567,
                            "loc": {
                              "start": {
                                "line": 394,
                                "column": 61
                              },
                              "end": {
                                "line": 394,
                                "column": 103
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 15525,
                              "end": 15555,
                              "loc": {
                                "start": {
                                  "line": 394,
                                  "column": 61
                                },
                                "end": {
                                  "line": 394,
                                  "column": 91
                                }
                              },
                              "object": {
                                "type": "NewExpression",
                                "start": 15525,
                                "end": 15541,
                                "loc": {
                                  "start": {
                                    "line": 394,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 394,
                                    "column": 77
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 15529,
                                  "end": 15539,
                                  "loc": {
                                    "start": {
                                      "line": 394,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 394,
                                      "column": 75
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15529,
                                    "end": 15534,
                                    "loc": {
                                      "start": {
                                        "line": 394,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 394,
                                        "column": 70
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15535,
                                    "end": 15539,
                                    "loc": {
                                      "start": {
                                        "line": 394,
                                        "column": 71
                                      },
                                      "end": {
                                        "line": 394,
                                        "column": 75
                                      }
                                    },
                                    "name": "Box3"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15542,
                                "end": 15555,
                                "loc": {
                                  "start": {
                                    "line": 394,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 394,
                                    "column": 91
                                  }
                                },
                                "name": "setFromObject"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 15556,
                                "end": 15566,
                                "loc": {
                                  "start": {
                                    "line": 394,
                                    "column": 92
                                  },
                                  "end": {
                                    "line": 394,
                                    "column": 102
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 15556,
                                  "end": 15560,
                                  "loc": {
                                    "start": {
                                      "line": 394,
                                      "column": 92
                                    },
                                    "end": {
                                      "line": 394,
                                      "column": 96
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15561,
                                  "end": 15566,
                                  "loc": {
                                    "start": {
                                      "line": 394,
                                      "column": 97
                                    },
                                    "end": {
                                      "line": 394,
                                      "column": 102
                                    }
                                  },
                                  "name": "scene"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15577,
                      "end": 15634,
                      "loc": {
                        "start": {
                          "line": 395,
                          "column": 8
                        },
                        "end": {
                          "line": 395,
                          "column": 65
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 15577,
                        "end": 15633,
                        "loc": {
                          "start": {
                            "line": 395,
                            "column": 8
                          },
                          "end": {
                            "line": 395,
                            "column": 64
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 15577,
                          "end": 15595,
                          "loc": {
                            "start": {
                              "line": 395,
                              "column": 8
                            },
                            "end": {
                              "line": 395,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15577,
                            "end": 15588,
                            "loc": {
                              "start": {
                                "line": 395,
                                "column": 8
                              },
                              "end": {
                                "line": 395,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15577,
                              "end": 15581,
                              "loc": {
                                "start": {
                                  "line": 395,
                                  "column": 8
                                },
                                "end": {
                                  "line": 395,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15582,
                              "end": 15588,
                              "loc": {
                                "start": {
                                  "line": 395,
                                  "column": 13
                                },
                                "end": {
                                  "line": 395,
                                  "column": 19
                                }
                              },
                              "name": "bounds"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15589,
                            "end": 15595,
                            "loc": {
                              "start": {
                                "line": 395,
                                "column": 20
                              },
                              "end": {
                                "line": 395,
                                "column": 26
                              }
                            },
                            "name": "sphere"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 15598,
                          "end": 15633,
                          "loc": {
                            "start": {
                              "line": 395,
                              "column": 29
                            },
                            "end": {
                              "line": 395,
                              "column": 64
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 15598,
                            "end": 15631,
                            "loc": {
                              "start": {
                                "line": 395,
                                "column": 29
                              },
                              "end": {
                                "line": 395,
                                "column": 62
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 15598,
                              "end": 15613,
                              "loc": {
                                "start": {
                                  "line": 395,
                                  "column": 29
                                },
                                "end": {
                                  "line": 395,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 15598,
                                "end": 15609,
                                "loc": {
                                  "start": {
                                    "line": 395,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 395,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 15598,
                                  "end": 15602,
                                  "loc": {
                                    "start": {
                                      "line": 395,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 395,
                                      "column": 33
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15603,
                                  "end": 15609,
                                  "loc": {
                                    "start": {
                                      "line": 395,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 395,
                                      "column": 40
                                    }
                                  },
                                  "name": "bounds"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15610,
                                "end": 15613,
                                "loc": {
                                  "start": {
                                    "line": 395,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 395,
                                    "column": 44
                                  }
                                },
                                "name": "box"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15614,
                              "end": 15631,
                              "loc": {
                                "start": {
                                  "line": 395,
                                  "column": 45
                                },
                                "end": {
                                  "line": 395,
                                  "column": 62
                                }
                              },
                              "name": "getBoundingSphere"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 15643,
                      "end": 15655,
                      "loc": {
                        "start": {
                          "line": 396,
                          "column": 8
                        },
                        "end": {
                          "line": 396,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "ThisExpression",
                        "start": 15650,
                        "end": 15654,
                        "loc": {
                          "start": {
                            "line": 396,
                            "column": 15
                          },
                          "end": {
                            "line": 396,
                            "column": 19
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "* A view represents a portion of canvas on which webGL can draw.\n    The view is defined and tracked by a dom node on which the drawing take place. ",
            "start": 388,
            "end": 540,
            "loc": {
              "start": {
                "line": 11,
                "column": 0
              },
              "end": {
                "line": 12,
                "column": 85
              }
            },
            "range": [
              388,
              540
            ]
          }
        ],
        "trailingComments": []
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "* A view represents a portion of canvas on which webGL can draw.\n    The view is defined and tracked by a dom node on which the drawing take place. ",
          "start": 388,
          "end": 540,
          "loc": {
            "start": {
              "line": 11,
              "column": 0
            },
            "end": {
              "line": 12,
              "column": 85
            }
          },
          "range": [
            388,
            540
          ]
        }
      ]
    }
  ]
}