{
  "type": "Program",
  "start": 0,
  "end": 15898,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 404,
      "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'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 388,
      "end": 435,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 47
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 395,
          "end": 406,
          "loc": {
            "start": {
              "line": 11,
              "column": 7
            },
            "end": {
              "line": 11,
              "column": 18
            }
          },
          "local": {
            "type": "Identifier",
            "start": 395,
            "end": 406,
            "loc": {
              "start": {
                "line": 11,
                "column": 7
              },
              "end": {
                "line": 11,
                "column": 18
              }
            },
            "name": "checkResize"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 412,
        "end": 434,
        "loc": {
          "start": {
            "line": 11,
            "column": 24
          },
          "end": {
            "line": 11,
            "column": 46
          }
        },
        "value": "element-resize-event",
        "rawValue": "element-resize-event",
        "raw": "'element-resize-event'"
      },
      "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": 437,
          "end": 589,
          "loc": {
            "start": {
              "line": 13,
              "column": 0
            },
            "end": {
              "line": 14,
              "column": 85
            }
          },
          "range": [
            437,
            589
          ]
        }
      ]
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 590,
      "end": 15897,
      "loc": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 403,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 605,
        "end": 15897,
        "loc": {
          "start": {
            "line": 15,
            "column": 15
          },
          "end": {
            "line": 403,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 611,
          "end": 615,
          "loc": {
            "start": {
              "line": 15,
              "column": 21
            },
            "end": {
              "line": 15,
              "column": 25
            }
          },
          "name": "View",
          "leadingComments": null
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 616,
          "end": 15897,
          "loc": {
            "start": {
              "line": 15,
              "column": 26
            },
            "end": {
              "line": 403,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 2095,
              "end": 7205,
              "loc": {
                "start": {
                  "line": 38,
                  "column": 4
                },
                "end": {
                  "line": 158,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2095,
                "end": 2106,
                "loc": {
                  "start": {
                    "line": 38,
                    "column": 4
                  },
                  "end": {
                    "line": 38,
                    "column": 15
                  }
                },
                "name": "constructor",
                "leadingComments": null
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 2106,
                "end": 7205,
                "loc": {
                  "start": {
                    "line": 38,
                    "column": 15
                  },
                  "end": {
                    "line": 158,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 2107,
                    "end": 2127,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 16
                      },
                      "end": {
                        "line": 38,
                        "column": 36
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 2107,
                      "end": 2113,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 16
                        },
                        "end": {
                          "line": 38,
                          "column": 22
                        }
                      },
                      "name": "canvas"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 2116,
                      "end": 2127,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 25
                        },
                        "end": {
                          "line": 38,
                          "column": 36
                        }
                      },
                      "name": "lastCreated"
                    }
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 2129,
                    "end": 2141,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 38
                      },
                      "end": {
                        "line": 38,
                        "column": 50
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 2129,
                      "end": 2136,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 38
                        },
                        "end": {
                          "line": 38,
                          "column": 45
                        }
                      },
                      "name": "options"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 2139,
                      "end": 2141,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 48
                        },
                        "end": {
                          "line": 38,
                          "column": 50
                        }
                      },
                      "properties": []
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2143,
                  "end": 7205,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 52
                    },
                    "end": {
                      "line": 158,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2154,
                      "end": 2171,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 8
                        },
                        "end": {
                          "line": 40,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2154,
                        "end": 2170,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 8
                          },
                          "end": {
                            "line": 40,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2154,
                          "end": 2161,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 8
                            },
                            "end": {
                              "line": 40,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2154,
                            "end": 2158,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 8
                              },
                              "end": {
                                "line": 40,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2159,
                            "end": 2161,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 13
                              },
                              "end": {
                                "line": 40,
                                "column": 15
                              }
                            },
                            "name": "id"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2164,
                          "end": 2170,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 18
                            },
                            "end": {
                              "line": 40,
                              "column": 24
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2164,
                            "end": 2168,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 18
                              },
                              "end": {
                                "line": 40,
                                "column": 22
                              }
                            },
                            "name": "guid"
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2180,
                      "end": 2201,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 8
                        },
                        "end": {
                          "line": 41,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2180,
                        "end": 2200,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 8
                          },
                          "end": {
                            "line": 41,
                            "column": 28
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2180,
                          "end": 2191,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2180,
                            "end": 2184,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2185,
                            "end": 2191,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 13
                              },
                              "end": {
                                "line": 41,
                                "column": 19
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 2194,
                          "end": 2200,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 22
                            },
                            "end": {
                              "line": 41,
                              "column": 28
                            }
                          },
                          "name": "canvas"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2210,
                      "end": 2242,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 8
                        },
                        "end": {
                          "line": 42,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2210,
                        "end": 2241,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2210,
                          "end": 2223,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2210,
                            "end": 2214,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 8
                              },
                              "end": {
                                "line": 42,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2215,
                            "end": 2223,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 13
                              },
                              "end": {
                                "line": 42,
                                "column": 21
                              }
                            },
                            "name": "renderer"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2226,
                          "end": 2241,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 24
                            },
                            "end": {
                              "line": 42,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2226,
                            "end": 2232,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 24
                              },
                              "end": {
                                "line": 42,
                                "column": 30
                              }
                            },
                            "name": "canvas"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2233,
                            "end": 2241,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 31
                              },
                              "end": {
                                "line": 42,
                                "column": 39
                              }
                            },
                            "name": "renderer"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2251,
                      "end": 2277,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 8
                        },
                        "end": {
                          "line": 43,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2251,
                        "end": 2276,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2251,
                          "end": 2272,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2251,
                            "end": 2255,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 8
                              },
                              "end": {
                                "line": 43,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2256,
                            "end": 2272,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 13
                              },
                              "end": {
                                "line": 43,
                                "column": 29
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2275,
                          "end": 2276,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 32
                            },
                            "end": {
                              "line": 43,
                              "column": 33
                            }
                          },
                          "value": 2,
                          "rawValue": 2,
                          "raw": "2"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2286,
                      "end": 2301,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 8
                        },
                        "end": {
                          "line": 44,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2286,
                        "end": 2300,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 8
                          },
                          "end": {
                            "line": 44,
                            "column": 22
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2286,
                          "end": 2296,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 8
                            },
                            "end": {
                              "line": 44,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2286,
                            "end": 2290,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 8
                              },
                              "end": {
                                "line": 44,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2291,
                            "end": 2296,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 13
                              },
                              "end": {
                                "line": 44,
                                "column": 18
                              }
                            },
                            "name": "force"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2299,
                          "end": 2300,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 21
                            },
                            "end": {
                              "line": 44,
                              "column": 22
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2310,
                      "end": 2328,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 8
                        },
                        "end": {
                          "line": 45,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2310,
                        "end": 2327,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 8
                          },
                          "end": {
                            "line": 45,
                            "column": 25
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2310,
                          "end": 2320,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 45,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2310,
                            "end": 2314,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 8
                              },
                              "end": {
                                "line": 45,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2315,
                            "end": 2320,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 13
                              },
                              "end": {
                                "line": 45,
                                "column": 18
                              }
                            },
                            "name": "dirty"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2323,
                          "end": 2327,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 21
                            },
                            "end": {
                              "line": 45,
                              "column": 25
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2337,
                      "end": 2437,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2337,
                        "end": 2436,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2337,
                          "end": 2348,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2337,
                            "end": 2341,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2342,
                            "end": 2348,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 13
                              },
                              "end": {
                                "line": 46,
                                "column": 19
                              }
                            },
                            "name": "bounds"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 2351,
                          "end": 2436,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 22
                            },
                            "end": {
                              "line": 49,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 2365,
                              "end": 2386,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 12
                                },
                                "end": {
                                  "line": 47,
                                  "column": 33
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2365,
                                "end": 2368,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 15
                                  }
                                },
                                "name": "box"
                              },
                              "value": {
                                "type": "NewExpression",
                                "start": 2370,
                                "end": 2386,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 33
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2374,
                                  "end": 2384,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2374,
                                    "end": 2379,
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 26
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2380,
                                    "end": 2384,
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 31
                                      }
                                    },
                                    "name": "Box3"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2400,
                              "end": 2426,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 12
                                },
                                "end": {
                                  "line": 48,
                                  "column": 38
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2400,
                                "end": 2406,
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 18
                                  }
                                },
                                "name": "sphere"
                              },
                              "value": {
                                "type": "NewExpression",
                                "start": 2408,
                                "end": 2426,
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2412,
                                  "end": 2424,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2412,
                                    "end": 2417,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 29
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2418,
                                    "end": 2424,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 36
                                      }
                                    },
                                    "name": "Sphere"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "kind": "init"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2447,
                      "end": 2800,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2447,
                        "end": 2799,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 62,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 2447,
                          "end": 2454,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 15
                            }
                          },
                          "name": "options"
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 2457,
                          "end": 2799,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 18
                            },
                            "end": {
                              "line": 62,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 2471,
                              "end": 2486,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 12
                                },
                                "end": {
                                  "line": 52,
                                  "column": 27
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2471,
                                "end": 2474,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 15
                                  }
                                },
                                "name": "dom"
                              },
                              "value": {
                                "type": "MemberExpression",
                                "start": 2476,
                                "end": 2486,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2476,
                                  "end": 2482,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 23
                                    }
                                  },
                                  "name": "canvas"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2483,
                                  "end": 2486,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 27
                                    }
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2500,
                              "end": 2519,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 12
                                },
                                "end": {
                                  "line": 53,
                                  "column": 31
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2500,
                                "end": 2512,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 24
                                  }
                                },
                                "name": "renderAlways"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2514,
                                "end": 2519,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 31
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2533,
                              "end": 2546,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 12
                                },
                                "end": {
                                  "line": 54,
                                  "column": 25
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2533,
                                "end": 2540,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 19
                                  }
                                },
                                "name": "visible"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2542,
                                "end": 2546,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 25
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2560,
                              "end": 2579,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 12
                                },
                                "end": {
                                  "line": 55,
                                  "column": 31
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2560,
                                "end": 2568,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 20
                                  }
                                },
                                "name": "callback"
                              },
                              "value": {
                                "type": "Identifier",
                                "start": 2570,
                                "end": 2579,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 31
                                  }
                                },
                                "name": "undefined"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2593,
                              "end": 2618,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 12
                                },
                                "end": {
                                  "line": 56,
                                  "column": 37
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2593,
                                "end": 2607,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 26
                                  }
                                },
                                "name": "callbackRender"
                              },
                              "value": {
                                "type": "Identifier",
                                "start": 2609,
                                "end": 2618,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 37
                                  }
                                },
                                "name": "undefined"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2632,
                              "end": 2656,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 12
                                },
                                "end": {
                                  "line": 57,
                                  "column": 36
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2632,
                                "end": 2645,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 25
                                  }
                                },
                                "name": "callbackAfter"
                              },
                              "value": {
                                "type": "Identifier",
                                "start": 2647,
                                "end": 2656,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 36
                                  }
                                },
                                "name": "undefined"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2670,
                              "end": 2706,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 12
                                },
                                "end": {
                                  "line": 58,
                                  "column": 48
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2670,
                                "end": 2680,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 22
                                  }
                                },
                                "name": "background"
                              },
                              "value": {
                                "type": "MemberExpression",
                                "start": 2682,
                                "end": 2706,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2682,
                                  "end": 2695,
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 2682,
                                    "end": 2686,
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2687,
                                    "end": 2695,
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 37
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2696,
                                  "end": 2706,
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 48
                                    }
                                  },
                                  "name": "clearColor"
                                },
                                "computed": false
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2720,
                              "end": 2730,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 12
                                },
                                "end": {
                                  "line": 59,
                                  "column": 22
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2720,
                                "end": 2727,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 19
                                  }
                                },
                                "name": "opacity"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2729,
                                "end": 2730,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 22
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2744,
                              "end": 2765,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 12
                                },
                                "end": {
                                  "line": 60,
                                  "column": 33
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2744,
                                "end": 2757,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 25
                                  }
                                },
                                "name": "defaultCursor"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2759,
                                "end": 2765,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 33
                                  }
                                },
                                "value": "auto",
                                "rawValue": "auto",
                                "raw": "'auto'"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "SpreadProperty",
                              "start": 2779,
                              "end": 2789,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 12
                                },
                                "end": {
                                  "line": 61,
                                  "column": 22
                                }
                              },
                              "argument": {
                                "type": "Identifier",
                                "start": 2782,
                                "end": 2789,
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 22
                                  }
                                },
                                "name": "options"
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2810,
                      "end": 2843,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2810,
                        "end": 2842,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 8
                          },
                          "end": {
                            "line": 64,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2810,
                          "end": 2818,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2810,
                            "end": 2814,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 8
                              },
                              "end": {
                                "line": 64,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2815,
                            "end": 2818,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 13
                              },
                              "end": {
                                "line": 64,
                                "column": 16
                              }
                            },
                            "name": "dom"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2821,
                          "end": 2842,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 19
                            },
                            "end": {
                              "line": 64,
                              "column": 40
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2821,
                            "end": 2829,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 19
                              },
                              "end": {
                                "line": 64,
                                "column": 27
                              }
                            },
                            "name": "queryDom"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2830,
                              "end": 2841,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 28
                                },
                                "end": {
                                  "line": 64,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2830,
                                "end": 2837,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 35
                                  }
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2838,
                                "end": 2841,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 39
                                  }
                                },
                                "name": "dom"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2852,
                      "end": 2893,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 65,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2852,
                        "end": 2892,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 8
                          },
                          "end": {
                            "line": 65,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2852,
                          "end": 2869,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 8
                            },
                            "end": {
                              "line": 65,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2852,
                            "end": 2856,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 8
                              },
                              "end": {
                                "line": 65,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2857,
                            "end": 2869,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 13
                              },
                              "end": {
                                "line": 65,
                                "column": 25
                              }
                            },
                            "name": "renderAlways"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2872,
                          "end": 2892,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 28
                            },
                            "end": {
                              "line": 65,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2872,
                            "end": 2879,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 28
                              },
                              "end": {
                                "line": 65,
                                "column": 35
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2880,
                            "end": 2892,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 36
                              },
                              "end": {
                                "line": 65,
                                "column": 48
                              }
                            },
                            "name": "renderAlways"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2902,
                      "end": 2933,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 8
                        },
                        "end": {
                          "line": 66,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2902,
                        "end": 2932,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 8
                          },
                          "end": {
                            "line": 66,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2902,
                          "end": 2914,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 8
                            },
                            "end": {
                              "line": 66,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2902,
                            "end": 2906,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 8
                              },
                              "end": {
                                "line": 66,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2907,
                            "end": 2914,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 13
                              },
                              "end": {
                                "line": 66,
                                "column": 20
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2917,
                          "end": 2932,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 23
                            },
                            "end": {
                              "line": 66,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2917,
                            "end": 2924,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 23
                              },
                              "end": {
                                "line": 66,
                                "column": 30
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2925,
                            "end": 2932,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 31
                              },
                              "end": {
                                "line": 66,
                                "column": 38
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2942,
                      "end": 2981,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 8
                        },
                        "end": {
                          "line": 67,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2942,
                        "end": 2980,
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 8
                          },
                          "end": {
                            "line": 67,
                            "column": 46
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2942,
                          "end": 2961,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 8
                            },
                            "end": {
                              "line": 67,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2942,
                            "end": 2946,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 8
                              },
                              "end": {
                                "line": 67,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2947,
                            "end": 2961,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 13
                              },
                              "end": {
                                "line": 67,
                                "column": 27
                              }
                            },
                            "name": "callbackBefore"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2964,
                          "end": 2980,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 30
                            },
                            "end": {
                              "line": 67,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2964,
                            "end": 2971,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 30
                              },
                              "end": {
                                "line": 67,
                                "column": 37
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2972,
                            "end": 2980,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 38
                              },
                              "end": {
                                "line": 67,
                                "column": 46
                              }
                            },
                            "name": "callback"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2990,
                      "end": 3035,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 8
                        },
                        "end": {
                          "line": 68,
                          "column": 53
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2990,
                        "end": 3034,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 8
                          },
                          "end": {
                            "line": 68,
                            "column": 52
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2990,
                          "end": 3009,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 8
                            },
                            "end": {
                              "line": 68,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2990,
                            "end": 2994,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 8
                              },
                              "end": {
                                "line": 68,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2995,
                            "end": 3009,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 13
                              },
                              "end": {
                                "line": 68,
                                "column": 27
                              }
                            },
                            "name": "callbackRender"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 3012,
                          "end": 3034,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 30
                            },
                            "end": {
                              "line": 68,
                              "column": 52
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3012,
                            "end": 3019,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 30
                              },
                              "end": {
                                "line": 68,
                                "column": 37
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3020,
                            "end": 3034,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 38
                              },
                              "end": {
                                "line": 68,
                                "column": 52
                              }
                            },
                            "name": "callbackRender"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3044,
                      "end": 3087,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 8
                        },
                        "end": {
                          "line": 69,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3044,
                        "end": 3086,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 8
                          },
                          "end": {
                            "line": 69,
                            "column": 50
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3044,
                          "end": 3062,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3044,
                            "end": 3048,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 8
                              },
                              "end": {
                                "line": 69,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3049,
                            "end": 3062,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 13
                              },
                              "end": {
                                "line": 69,
                                "column": 26
                              }
                            },
                            "name": "callbackAfter"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 3065,
                          "end": 3086,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 29
                            },
                            "end": {
                              "line": 69,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3065,
                            "end": 3072,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 29
                              },
                              "end": {
                                "line": 69,
                                "column": 36
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3073,
                            "end": 3086,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 37
                              },
                              "end": {
                                "line": 69,
                                "column": 50
                              }
                            },
                            "name": "callbackAfter"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3096,
                      "end": 3133,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 8
                        },
                        "end": {
                          "line": 70,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3096,
                        "end": 3132,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 8
                          },
                          "end": {
                            "line": 70,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3096,
                          "end": 3111,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3096,
                            "end": 3100,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 8
                              },
                              "end": {
                                "line": 70,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3101,
                            "end": 3111,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 13
                              },
                              "end": {
                                "line": 70,
                                "column": 23
                              }
                            },
                            "name": "background"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 3114,
                          "end": 3132,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 26
                            },
                            "end": {
                              "line": 70,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3114,
                            "end": 3121,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 26
                              },
                              "end": {
                                "line": 70,
                                "column": 33
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3122,
                            "end": 3132,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 34
                              },
                              "end": {
                                "line": 70,
                                "column": 44
                              }
                            },
                            "name": "background"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3142,
                      "end": 3173,
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 8
                        },
                        "end": {
                          "line": 71,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3142,
                        "end": 3172,
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 8
                          },
                          "end": {
                            "line": 71,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3142,
                          "end": 3154,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3142,
                            "end": 3146,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 8
                              },
                              "end": {
                                "line": 71,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3147,
                            "end": 3154,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 13
                              },
                              "end": {
                                "line": 71,
                                "column": 20
                              }
                            },
                            "name": "opacity"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 3157,
                          "end": 3172,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 23
                            },
                            "end": {
                              "line": 71,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3157,
                            "end": 3164,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 23
                              },
                              "end": {
                                "line": 71,
                                "column": 30
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3165,
                            "end": 3172,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 31
                              },
                              "end": {
                                "line": 71,
                                "column": 38
                              }
                            },
                            "name": "opacity"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3182,
                      "end": 3225,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 8
                        },
                        "end": {
                          "line": 72,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3182,
                        "end": 3224,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 8
                          },
                          "end": {
                            "line": 72,
                            "column": 50
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3182,
                          "end": 3200,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3182,
                            "end": 3186,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 8
                              },
                              "end": {
                                "line": 72,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3187,
                            "end": 3200,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 13
                              },
                              "end": {
                                "line": 72,
                                "column": 26
                              }
                            },
                            "name": "defaultCursor"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 3203,
                          "end": 3224,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 29
                            },
                            "end": {
                              "line": 72,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3203,
                            "end": 3210,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 29
                              },
                              "end": {
                                "line": 72,
                                "column": 36
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3211,
                            "end": 3224,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 37
                              },
                              "end": {
                                "line": 72,
                                "column": 50
                              }
                            },
                            "name": "defaultCursor"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Make sure the view hides overflow and is not selectable",
                          "start": 3235,
                          "end": 3293,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 66
                            }
                          },
                          "range": [
                            3235,
                            3293
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3302,
                      "end": 3464,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 170
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3302,
                        "end": 3463,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 169
                          }
                        },
                        "operator": "+=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3302,
                          "end": 3327,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 8
                            },
                            "end": {
                              "line": 75,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3302,
                            "end": 3319,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 8
                              },
                              "end": {
                                "line": 75,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3302,
                              "end": 3313,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 8
                                },
                                "end": {
                                  "line": 75,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3302,
                                "end": 3309,
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 15
                                  }
                                },
                                "name": "options",
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3310,
                                "end": 3313,
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 19
                                  }
                                },
                                "name": "dom"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3314,
                              "end": 3319,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 20
                                },
                                "end": {
                                  "line": 75,
                                  "column": 25
                                }
                              },
                              "name": "style"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3320,
                            "end": 3327,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 26
                              },
                              "end": {
                                "line": 75,
                                "column": 33
                              }
                            },
                            "name": "cssText"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3331,
                          "end": 3463,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 37
                            },
                            "end": {
                              "line": 75,
                              "column": 169
                            }
                          },
                          "value": "-webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; overlay: hidden",
                          "rawValue": "-webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; overlay: hidden",
                          "raw": "\"-webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; overlay: hidden\""
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Make sure the view hides overflow and is not selectable",
                          "start": 3235,
                          "end": 3293,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 66
                            }
                          },
                          "range": [
                            3235,
                            3293
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " A border will hide gaps caused by imprecise layout returns",
                          "start": 3473,
                          "end": 3534,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 76,
                              "column": 69
                            }
                          },
                          "range": [
                            3473,
                            3534
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 3543,
                      "end": 3679,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 8
                        },
                        "end": {
                          "line": 78,
                          "column": 83
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3547,
                        "end": 3594,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 12
                          },
                          "end": {
                            "line": 77,
                            "column": 59
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3547,
                          "end": 3565,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 12
                            },
                            "end": {
                              "line": 77,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3547,
                            "end": 3554,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 12
                              },
                              "end": {
                                "line": 77,
                                "column": 19
                              }
                            },
                            "name": "options",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3555,
                            "end": 3565,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 20
                              },
                              "end": {
                                "line": 77,
                                "column": 30
                              }
                            },
                            "name": "background"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": "!==",
                        "right": {
                          "type": "MemberExpression",
                          "start": 3570,
                          "end": 3594,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 35
                            },
                            "end": {
                              "line": 77,
                              "column": 59
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3570,
                            "end": 3583,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 35
                              },
                              "end": {
                                "line": 77,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3570,
                              "end": 3574,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 35
                                },
                                "end": {
                                  "line": 77,
                                  "column": 39
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3575,
                              "end": 3583,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 40
                                },
                                "end": {
                                  "line": 77,
                                  "column": 48
                                }
                              },
                              "name": "renderer"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3584,
                            "end": 3594,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 49
                              },
                              "end": {
                                "line": 77,
                                "column": 59
                              }
                            },
                            "name": "clearColor"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 3608,
                        "end": 3679,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 12
                          },
                          "end": {
                            "line": 78,
                            "column": 83
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 3608,
                          "end": 3678,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 12
                            },
                            "end": {
                              "line": 78,
                              "column": 82
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 3608,
                            "end": 3629,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 12
                              },
                              "end": {
                                "line": 78,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3608,
                              "end": 3622,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 12
                                },
                                "end": {
                                  "line": 78,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 3608,
                                "end": 3616,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 20
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 3608,
                                  "end": 3612,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3613,
                                  "end": 3616,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 20
                                    }
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3617,
                                "end": 3622,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 26
                                  }
                                },
                                "name": "style"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3623,
                              "end": 3629,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 27
                                },
                                "end": {
                                  "line": 78,
                                  "column": 33
                                }
                              },
                              "name": "border"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "TemplateLiteral",
                            "start": 3632,
                            "end": 3678,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 36
                              },
                              "end": {
                                "line": 78,
                                "column": 82
                              }
                            },
                            "expressions": [
                              {
                                "type": "CallExpression",
                                "start": 3646,
                                "end": 3676,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 80
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3646,
                                  "end": 3674,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 3646,
                                    "end": 3661,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 65
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3646,
                                      "end": 3650,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 54
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3651,
                                      "end": 3661,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 65
                                        }
                                      },
                                      "name": "background"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3662,
                                    "end": 3674,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 78
                                      }
                                    },
                                    "name": "getHexString"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            ],
                            "quasis": [
                              {
                                "type": "TemplateElement",
                                "start": 3633,
                                "end": 3644,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 48
                                  }
                                },
                                "value": {
                                  "raw": "2px solid #",
                                  "cooked": "2px solid #"
                                },
                                "tail": false
                              },
                              {
                                "type": "TemplateElement",
                                "start": 3677,
                                "end": 3677,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 81
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 81
                                  }
                                },
                                "value": {
                                  "raw": "",
                                  "cooked": ""
                                },
                                "tail": true
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " A border will hide gaps caused by imprecise layout returns",
                          "start": 3473,
                          "end": 3534,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 76,
                              "column": 69
                            }
                          },
                          "range": [
                            3473,
                            3534
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3689,
                      "end": 5797,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 8
                        },
                        "end": {
                          "line": 119,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3689,
                        "end": 5796,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 8
                          },
                          "end": {
                            "line": 119,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3689,
                          "end": 3699,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 8
                            },
                            "end": {
                              "line": 80,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3689,
                            "end": 3693,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 8
                              },
                              "end": {
                                "line": 80,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3694,
                            "end": 3699,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 13
                              },
                              "end": {
                                "line": 80,
                                "column": 18
                              }
                            },
                            "name": "input"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 3702,
                          "end": 5796,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 21
                            },
                            "end": {
                              "line": 119,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3706,
                            "end": 3715,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 25
                              },
                              "end": {
                                "line": 80,
                                "column": 34
                              }
                            },
                            "name": "DomEvents"
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 3716,
                              "end": 3720,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 35
                                },
                                "end": {
                                  "line": 80,
                                  "column": 39
                                }
                              }
                            },
                            {
                              "type": "ObjectExpression",
                              "start": 3722,
                              "end": 5795,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 41
                                },
                                "end": {
                                  "line": 119,
                                  "column": 9
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 3736,
                                  "end": 3942,
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 3736,
                                    "end": 3741,
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 17
                                      }
                                    },
                                    "name": "wheel"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 3743,
                                    "end": 3942,
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 3743,
                                        "end": 3748,
                                        "loc": {
                                          "start": {
                                            "line": 81,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 81,
                                            "column": 24
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 3752,
                                      "end": 3942,
                                      "loc": {
                                        "start": {
                                          "line": 81,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3770,
                                          "end": 3804,
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 50
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 3770,
                                            "end": 3803,
                                            "loc": {
                                              "start": {
                                                "line": 82,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 82,
                                                "column": 49
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3770,
                                              "end": 3796,
                                              "loc": {
                                                "start": {
                                                  "line": 82,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3770,
                                                "end": 3783,
                                                "loc": {
                                                  "start": {
                                                    "line": 82,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 82,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3770,
                                                  "end": 3774,
                                                  "loc": {
                                                    "start": {
                                                      "line": 82,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 82,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3775,
                                                  "end": 3783,
                                                  "loc": {
                                                    "start": {
                                                      "line": 82,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 82,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3784,
                                                "end": 3796,
                                                "loc": {
                                                  "start": {
                                                    "line": 82,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 82,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "onMouseWheel"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 3797,
                                                "end": 3802,
                                                "loc": {
                                                  "start": {
                                                    "line": 82,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 82,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3821,
                                          "end": 3928,
                                          "loc": {
                                            "start": {
                                              "line": 83,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 83,
                                              "column": 123
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 3821,
                                            "end": 3927,
                                            "loc": {
                                              "start": {
                                                "line": 83,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 83,
                                                "column": 122
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 3821,
                                              "end": 3887,
                                              "loc": {
                                                "start": {
                                                  "line": 83,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 83,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 3821,
                                                "end": 3849,
                                                "loc": {
                                                  "start": {
                                                    "line": 83,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 83,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 3821,
                                                  "end": 3829,
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3821,
                                                    "end": 3825,
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3826,
                                                    "end": 3829,
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3833,
                                                  "end": 3849,
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3833,
                                                    "end": 3837,
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3838,
                                                    "end": 3849,
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 3853,
                                                "end": 3887,
                                                "loc": {
                                                  "start": {
                                                    "line": 83,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 83,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 3853,
                                                  "end": 3869,
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3853,
                                                    "end": 3857,
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3858,
                                                    "end": 3869,
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3874,
                                                  "end": 3887,
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3874,
                                                    "end": 3878,
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3879,
                                                    "end": 3887,
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 3891,
                                              "end": 3927,
                                              "loc": {
                                                "start": {
                                                  "line": 83,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 83,
                                                  "column": 122
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 3891,
                                                "end": 3920,
                                                "loc": {
                                                  "start": {
                                                    "line": 83,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 83,
                                                    "column": 115
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3891,
                                                  "end": 3907,
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3891,
                                                    "end": 3895,
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3896,
                                                    "end": 3907,
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3908,
                                                  "end": 3920,
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 115
                                                    }
                                                  },
                                                  "name": "onMouseWheel"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 3921,
                                                  "end": 3926,
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 116
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 121
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 3956,
                                  "end": 4042,
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 3956,
                                    "end": 3964,
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 20
                                      }
                                    },
                                    "name": "mouseout"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 3966,
                                    "end": 4042,
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 3966,
                                        "end": 3971,
                                        "loc": {
                                          "start": {
                                            "line": 85,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 85,
                                            "column": 27
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 3975,
                                      "end": 4042,
                                      "loc": {
                                        "start": {
                                          "line": 85,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3993,
                                          "end": 4028,
                                          "loc": {
                                            "start": {
                                              "line": 86,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 86,
                                              "column": 51
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 3993,
                                            "end": 4027,
                                            "loc": {
                                              "start": {
                                                "line": 86,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 86,
                                                "column": 50
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3993,
                                              "end": 4020,
                                              "loc": {
                                                "start": {
                                                  "line": 86,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 86,
                                                  "column": 43
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3993,
                                                "end": 4009,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3993,
                                                  "end": 3997,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3998,
                                                  "end": 4009,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4010,
                                                "end": 4020,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 43
                                                  }
                                                },
                                                "name": "onMouseOut"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4021,
                                                "end": 4026,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 49
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 4056,
                                  "end": 4367,
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 4056,
                                    "end": 4065,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 21
                                      }
                                    },
                                    "name": "mousemove"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 4067,
                                    "end": 4367,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 4067,
                                        "end": 4072,
                                        "loc": {
                                          "start": {
                                            "line": 88,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 88,
                                            "column": 28
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4076,
                                      "end": 4367,
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4094,
                                          "end": 4130,
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 52
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4094,
                                            "end": 4129,
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 51
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4094,
                                              "end": 4122,
                                              "loc": {
                                                "start": {
                                                  "line": 89,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 89,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4094,
                                                "end": 4110,
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4094,
                                                  "end": 4098,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4099,
                                                  "end": 4110,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4111,
                                                "end": 4122,
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "onMouseMove"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4123,
                                                "end": 4128,
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 50
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4147,
                                          "end": 4205,
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 74
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 4147,
                                            "end": 4204,
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 73
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 4147,
                                              "end": 4168,
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 37
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4147,
                                                "end": 4163,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4147,
                                                  "end": 4157,
                                                  "loc": {
                                                    "start": {
                                                      "line": 90,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 90,
                                                      "column": 26
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4147,
                                                    "end": 4151,
                                                    "loc": {
                                                      "start": {
                                                        "line": 90,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 90,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4152,
                                                    "end": 4157,
                                                    "loc": {
                                                      "start": {
                                                        "line": 90,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 90,
                                                        "column": 26
                                                      }
                                                    },
                                                    "name": "input"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4158,
                                                  "end": 4163,
                                                  "loc": {
                                                    "start": {
                                                      "line": 90,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 90,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "mouse"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4164,
                                                "end": 4168,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 37
                                                  }
                                                },
                                                "name": "down"
                                              },
                                              "computed": false
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 4172,
                                              "end": 4204,
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 73
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4172,
                                                "end": 4197,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 66
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4172,
                                                  "end": 4185,
                                                  "loc": {
                                                    "start": {
                                                      "line": 90,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 90,
                                                      "column": 54
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4172,
                                                    "end": 4176,
                                                    "loc": {
                                                      "start": {
                                                        "line": 90,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 90,
                                                        "column": 45
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4177,
                                                    "end": 4185,
                                                    "loc": {
                                                      "start": {
                                                        "line": 90,
                                                        "column": 46
                                                      },
                                                      "end": {
                                                        "line": 90,
                                                        "column": 54
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4186,
                                                  "end": 4197,
                                                  "loc": {
                                                    "start": {
                                                      "line": 90,
                                                      "column": 55
                                                    },
                                                    "end": {
                                                      "line": 90,
                                                      "column": 66
                                                    }
                                                  },
                                                  "name": "onMouseMove"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4198,
                                                  "end": 4203,
                                                  "loc": {
                                                    "start": {
                                                      "line": 90,
                                                      "column": 67
                                                    },
                                                    "end": {
                                                      "line": 90,
                                                      "column": 72
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4222,
                                          "end": 4353,
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 147
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 4222,
                                            "end": 4352,
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 146
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 4222,
                                              "end": 4313,
                                              "loc": {
                                                "start": {
                                                  "line": 91,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 91,
                                                  "column": 107
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 4222,
                                                "end": 4275,
                                                "loc": {
                                                  "start": {
                                                    "line": 91,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 91,
                                                    "column": 69
                                                  }
                                                },
                                                "left": {
                                                  "type": "LogicalExpression",
                                                  "start": 4222,
                                                  "end": 4255,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 49
                                                    }
                                                  },
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "start": 4222,
                                                    "end": 4243,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 37
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 4222,
                                                      "end": 4238,
                                                      "loc": {
                                                        "start": {
                                                          "line": 91,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 91,
                                                          "column": 32
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "start": 4222,
                                                        "end": 4232,
                                                        "loc": {
                                                          "start": {
                                                            "line": 91,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 91,
                                                            "column": 26
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "ThisExpression",
                                                          "start": 4222,
                                                          "end": 4226,
                                                          "loc": {
                                                            "start": {
                                                              "line": 91,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 91,
                                                              "column": 20
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 4227,
                                                          "end": 4232,
                                                          "loc": {
                                                            "start": {
                                                              "line": 91,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 91,
                                                              "column": 26
                                                            }
                                                          },
                                                          "name": "input"
                                                        },
                                                        "computed": false
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4233,
                                                        "end": 4238,
                                                        "loc": {
                                                          "start": {
                                                            "line": 91,
                                                            "column": 27
                                                          },
                                                          "end": {
                                                            "line": 91,
                                                            "column": 32
                                                          }
                                                        },
                                                        "name": "mouse"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4239,
                                                      "end": 4243,
                                                      "loc": {
                                                        "start": {
                                                          "line": 91,
                                                          "column": 33
                                                        },
                                                        "end": {
                                                          "line": 91,
                                                          "column": 37
                                                        }
                                                      },
                                                      "name": "down"
                                                    },
                                                    "computed": false
                                                  },
                                                  "operator": "&&",
                                                  "right": {
                                                    "type": "MemberExpression",
                                                    "start": 4247,
                                                    "end": 4255,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 49
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 4247,
                                                      "end": 4251,
                                                      "loc": {
                                                        "start": {
                                                          "line": 91,
                                                          "column": 41
                                                        },
                                                        "end": {
                                                          "line": 91,
                                                          "column": 45
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4252,
                                                      "end": 4255,
                                                      "loc": {
                                                        "start": {
                                                          "line": 91,
                                                          "column": 46
                                                        },
                                                        "end": {
                                                          "line": 91,
                                                          "column": 49
                                                        }
                                                      },
                                                      "name": "hud"
                                                    },
                                                    "computed": false
                                                  }
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4259,
                                                  "end": 4275,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 69
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4259,
                                                    "end": 4263,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 57
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4264,
                                                    "end": 4275,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 58
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 69
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 4279,
                                                "end": 4313,
                                                "loc": {
                                                  "start": {
                                                    "line": 91,
                                                    "column": 73
                                                  },
                                                  "end": {
                                                    "line": 91,
                                                    "column": 107
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4279,
                                                  "end": 4295,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 73
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 89
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4279,
                                                    "end": 4283,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 73
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 77
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4284,
                                                    "end": 4295,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 78
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 89
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4300,
                                                  "end": 4313,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 94
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 107
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4300,
                                                    "end": 4304,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 94
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 98
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4305,
                                                    "end": 4313,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 99
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 107
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 4317,
                                              "end": 4352,
                                              "loc": {
                                                "start": {
                                                  "line": 91,
                                                  "column": 111
                                                },
                                                "end": {
                                                  "line": 91,
                                                  "column": 146
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4317,
                                                "end": 4345,
                                                "loc": {
                                                  "start": {
                                                    "line": 91,
                                                    "column": 111
                                                  },
                                                  "end": {
                                                    "line": 91,
                                                    "column": 139
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4317,
                                                  "end": 4333,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 111
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 127
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4317,
                                                    "end": 4321,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 111
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 115
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4322,
                                                    "end": 4333,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 116
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 127
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4334,
                                                  "end": 4345,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 128
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 139
                                                    }
                                                  },
                                                  "name": "onMouseMove"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4346,
                                                  "end": 4351,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 140
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 145
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 4381,
                                  "end": 4642,
                                  "loc": {
                                    "start": {
                                      "line": 93,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 4381,
                                    "end": 4390,
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 93,
                                        "column": 21
                                      }
                                    },
                                    "name": "mousedown"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 4392,
                                    "end": 4642,
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 4392,
                                        "end": 4397,
                                        "loc": {
                                          "start": {
                                            "line": 93,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 93,
                                            "column": 28
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4401,
                                      "end": 4642,
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 97,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4419,
                                          "end": 4455,
                                          "loc": {
                                            "start": {
                                              "line": 94,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 94,
                                              "column": 52
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4419,
                                            "end": 4454,
                                            "loc": {
                                              "start": {
                                                "line": 94,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 94,
                                                "column": 51
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4419,
                                              "end": 4447,
                                              "loc": {
                                                "start": {
                                                  "line": 94,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 94,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4419,
                                                "end": 4435,
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4419,
                                                  "end": 4423,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4424,
                                                  "end": 4435,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4436,
                                                "end": 4447,
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "onMouseDown"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4448,
                                                "end": 4453,
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 50
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4472,
                                          "end": 4505,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 49
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4472,
                                            "end": 4504,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 48
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4472,
                                              "end": 4497,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 41
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4472,
                                                "end": 4485,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4472,
                                                  "end": 4476,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4477,
                                                  "end": 4485,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4486,
                                                "end": 4497,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "onMouseDown"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4498,
                                                "end": 4503,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 47
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4522,
                                          "end": 4628,
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 122
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 4522,
                                            "end": 4627,
                                            "loc": {
                                              "start": {
                                                "line": 96,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 96,
                                                "column": 121
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 4522,
                                              "end": 4588,
                                              "loc": {
                                                "start": {
                                                  "line": 96,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 96,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 4522,
                                                "end": 4550,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4522,
                                                  "end": 4530,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4522,
                                                    "end": 4526,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4527,
                                                    "end": 4530,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4534,
                                                  "end": 4550,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4534,
                                                    "end": 4538,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4539,
                                                    "end": 4550,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 4554,
                                                "end": 4588,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4554,
                                                  "end": 4570,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4554,
                                                    "end": 4558,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4559,
                                                    "end": 4570,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4575,
                                                  "end": 4588,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4575,
                                                    "end": 4579,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4580,
                                                    "end": 4588,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 4592,
                                              "end": 4627,
                                              "loc": {
                                                "start": {
                                                  "line": 96,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 96,
                                                  "column": 121
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4592,
                                                "end": 4620,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 114
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4592,
                                                  "end": 4608,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4592,
                                                    "end": 4596,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4597,
                                                    "end": 4608,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4609,
                                                  "end": 4620,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 114
                                                    }
                                                  },
                                                  "name": "onMouseDown"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4621,
                                                  "end": 4626,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 115
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 120
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 4656,
                                  "end": 4909,
                                  "loc": {
                                    "start": {
                                      "line": 98,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 4656,
                                    "end": 4663,
                                    "loc": {
                                      "start": {
                                        "line": 98,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 98,
                                        "column": 19
                                      }
                                    },
                                    "name": "mouseup"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 4665,
                                    "end": 4909,
                                    "loc": {
                                      "start": {
                                        "line": 98,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 102,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 4665,
                                        "end": 4670,
                                        "loc": {
                                          "start": {
                                            "line": 98,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 98,
                                            "column": 26
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4674,
                                      "end": 4909,
                                      "loc": {
                                        "start": {
                                          "line": 98,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 102,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4692,
                                          "end": 4726,
                                          "loc": {
                                            "start": {
                                              "line": 99,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 99,
                                              "column": 50
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4692,
                                            "end": 4725,
                                            "loc": {
                                              "start": {
                                                "line": 99,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 99,
                                                "column": 49
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4692,
                                              "end": 4718,
                                              "loc": {
                                                "start": {
                                                  "line": 99,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 99,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4692,
                                                "end": 4708,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4692,
                                                  "end": 4696,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4697,
                                                  "end": 4708,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4709,
                                                "end": 4718,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "onMouseUp"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4719,
                                                "end": 4724,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4743,
                                          "end": 4774,
                                          "loc": {
                                            "start": {
                                              "line": 100,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 100,
                                              "column": 47
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4743,
                                            "end": 4773,
                                            "loc": {
                                              "start": {
                                                "line": 100,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 100,
                                                "column": 46
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4743,
                                              "end": 4766,
                                              "loc": {
                                                "start": {
                                                  "line": 100,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 100,
                                                  "column": 39
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4743,
                                                "end": 4756,
                                                "loc": {
                                                  "start": {
                                                    "line": 100,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 100,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4743,
                                                  "end": 4747,
                                                  "loc": {
                                                    "start": {
                                                      "line": 100,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 100,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4748,
                                                  "end": 4756,
                                                  "loc": {
                                                    "start": {
                                                      "line": 100,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 100,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4757,
                                                "end": 4766,
                                                "loc": {
                                                  "start": {
                                                    "line": 100,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 100,
                                                    "column": 39
                                                  }
                                                },
                                                "name": "onMouseUp"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4767,
                                                "end": 4772,
                                                "loc": {
                                                  "start": {
                                                    "line": 100,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 100,
                                                    "column": 45
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4791,
                                          "end": 4895,
                                          "loc": {
                                            "start": {
                                              "line": 101,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 101,
                                              "column": 120
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 4791,
                                            "end": 4894,
                                            "loc": {
                                              "start": {
                                                "line": 101,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 101,
                                                "column": 119
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 4791,
                                              "end": 4857,
                                              "loc": {
                                                "start": {
                                                  "line": 101,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 101,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 4791,
                                                "end": 4819,
                                                "loc": {
                                                  "start": {
                                                    "line": 101,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 101,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4791,
                                                  "end": 4799,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4791,
                                                    "end": 4795,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4796,
                                                    "end": 4799,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4803,
                                                  "end": 4819,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4803,
                                                    "end": 4807,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4808,
                                                    "end": 4819,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 4823,
                                                "end": 4857,
                                                "loc": {
                                                  "start": {
                                                    "line": 101,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 101,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4823,
                                                  "end": 4839,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4823,
                                                    "end": 4827,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4828,
                                                    "end": 4839,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4844,
                                                  "end": 4857,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4844,
                                                    "end": 4848,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4849,
                                                    "end": 4857,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 4861,
                                              "end": 4894,
                                              "loc": {
                                                "start": {
                                                  "line": 101,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 101,
                                                  "column": 119
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4861,
                                                "end": 4887,
                                                "loc": {
                                                  "start": {
                                                    "line": 101,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 101,
                                                    "column": 112
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4861,
                                                  "end": 4877,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4861,
                                                    "end": 4865,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4866,
                                                    "end": 4877,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4878,
                                                  "end": 4887,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 112
                                                    }
                                                  },
                                                  "name": "onMouseUp"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4888,
                                                  "end": 4893,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 113
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 118
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 4923,
                                  "end": 5240,
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 4923,
                                    "end": 4933,
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 22
                                      }
                                    },
                                    "name": "touchstart"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 4935,
                                    "end": 5240,
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 4935,
                                        "end": 4940,
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 29
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4944,
                                      "end": 5240,
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4962,
                                          "end": 4998,
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 52
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4962,
                                            "end": 4997,
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 51
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4962,
                                              "end": 4990,
                                              "loc": {
                                                "start": {
                                                  "line": 104,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 104,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4962,
                                                "end": 4978,
                                                "loc": {
                                                  "start": {
                                                    "line": 104,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 104,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4962,
                                                  "end": 4966,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4967,
                                                  "end": 4978,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4979,
                                                "end": 4990,
                                                "loc": {
                                                  "start": {
                                                    "line": 104,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 104,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "onMouseMove"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4991,
                                                "end": 4996,
                                                "loc": {
                                                  "start": {
                                                    "line": 104,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 104,
                                                    "column": 50
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5015,
                                          "end": 5051,
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 52
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 5015,
                                            "end": 5050,
                                            "loc": {
                                              "start": {
                                                "line": 105,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 105,
                                                "column": 51
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5015,
                                              "end": 5043,
                                              "loc": {
                                                "start": {
                                                  "line": 105,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 105,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 5015,
                                                "end": 5031,
                                                "loc": {
                                                  "start": {
                                                    "line": 105,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 105,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5015,
                                                  "end": 5019,
                                                  "loc": {
                                                    "start": {
                                                      "line": 105,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 105,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5020,
                                                  "end": 5031,
                                                  "loc": {
                                                    "start": {
                                                      "line": 105,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 105,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5032,
                                                "end": 5043,
                                                "loc": {
                                                  "start": {
                                                    "line": 105,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 105,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "onMouseDown"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5044,
                                                "end": 5049,
                                                "loc": {
                                                  "start": {
                                                    "line": 105,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 105,
                                                    "column": 50
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5068,
                                          "end": 5102,
                                          "loc": {
                                            "start": {
                                              "line": 106,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 106,
                                              "column": 50
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 5068,
                                            "end": 5101,
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 49
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5068,
                                              "end": 5094,
                                              "loc": {
                                                "start": {
                                                  "line": 106,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 106,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 5068,
                                                "end": 5081,
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5068,
                                                  "end": 5072,
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5073,
                                                  "end": 5081,
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5082,
                                                "end": 5094,
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "onTouchStart"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5095,
                                                "end": 5100,
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5119,
                                          "end": 5226,
                                          "loc": {
                                            "start": {
                                              "line": 107,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 107,
                                              "column": 123
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 5119,
                                            "end": 5225,
                                            "loc": {
                                              "start": {
                                                "line": 107,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 107,
                                                "column": 122
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 5119,
                                              "end": 5185,
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 5119,
                                                "end": 5147,
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5119,
                                                  "end": 5127,
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5119,
                                                    "end": 5123,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5124,
                                                    "end": 5127,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5131,
                                                  "end": 5147,
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5131,
                                                    "end": 5135,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5136,
                                                    "end": 5147,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 5151,
                                                "end": 5185,
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5151,
                                                  "end": 5167,
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5151,
                                                    "end": 5155,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5156,
                                                    "end": 5167,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5172,
                                                  "end": 5185,
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5172,
                                                    "end": 5176,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5177,
                                                    "end": 5185,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 5189,
                                              "end": 5225,
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 122
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5189,
                                                "end": 5218,
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 115
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 5189,
                                                  "end": 5205,
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5189,
                                                    "end": 5193,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5194,
                                                    "end": 5205,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5206,
                                                  "end": 5218,
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 115
                                                    }
                                                  },
                                                  "name": "onTouchStart"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5219,
                                                  "end": 5224,
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 116
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 121
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 5254,
                                  "end": 5515,
                                  "loc": {
                                    "start": {
                                      "line": 109,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 113,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 5254,
                                    "end": 5263,
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 21
                                      }
                                    },
                                    "name": "touchmove"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 5265,
                                    "end": 5515,
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 113,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 5265,
                                        "end": 5270,
                                        "loc": {
                                          "start": {
                                            "line": 109,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 109,
                                            "column": 28
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 5274,
                                      "end": 5515,
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 113,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5292,
                                          "end": 5328,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 52
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 5292,
                                            "end": 5327,
                                            "loc": {
                                              "start": {
                                                "line": 110,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 110,
                                                "column": 51
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5292,
                                              "end": 5320,
                                              "loc": {
                                                "start": {
                                                  "line": 110,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 110,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 5292,
                                                "end": 5308,
                                                "loc": {
                                                  "start": {
                                                    "line": 110,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 110,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5292,
                                                  "end": 5296,
                                                  "loc": {
                                                    "start": {
                                                      "line": 110,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 110,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5297,
                                                  "end": 5308,
                                                  "loc": {
                                                    "start": {
                                                      "line": 110,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 110,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5309,
                                                "end": 5320,
                                                "loc": {
                                                  "start": {
                                                    "line": 110,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 110,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "onMouseMove"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5321,
                                                "end": 5326,
                                                "loc": {
                                                  "start": {
                                                    "line": 110,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 110,
                                                    "column": 50
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5345,
                                          "end": 5378,
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 49
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 5345,
                                            "end": 5377,
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 48
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5345,
                                              "end": 5370,
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 41
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 5345,
                                                "end": 5358,
                                                "loc": {
                                                  "start": {
                                                    "line": 111,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 111,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5345,
                                                  "end": 5349,
                                                  "loc": {
                                                    "start": {
                                                      "line": 111,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 111,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5350,
                                                  "end": 5358,
                                                  "loc": {
                                                    "start": {
                                                      "line": 111,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 111,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5359,
                                                "end": 5370,
                                                "loc": {
                                                  "start": {
                                                    "line": 111,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 111,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "onTouchMove"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5371,
                                                "end": 5376,
                                                "loc": {
                                                  "start": {
                                                    "line": 111,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 111,
                                                    "column": 47
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5395,
                                          "end": 5501,
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 112,
                                              "column": 122
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 5395,
                                            "end": 5500,
                                            "loc": {
                                              "start": {
                                                "line": 112,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 112,
                                                "column": 121
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 5395,
                                              "end": 5461,
                                              "loc": {
                                                "start": {
                                                  "line": 112,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 112,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 5395,
                                                "end": 5423,
                                                "loc": {
                                                  "start": {
                                                    "line": 112,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 112,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5395,
                                                  "end": 5403,
                                                  "loc": {
                                                    "start": {
                                                      "line": 112,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 112,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5395,
                                                    "end": 5399,
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5400,
                                                    "end": 5403,
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5407,
                                                  "end": 5423,
                                                  "loc": {
                                                    "start": {
                                                      "line": 112,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 112,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5407,
                                                    "end": 5411,
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5412,
                                                    "end": 5423,
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 5427,
                                                "end": 5461,
                                                "loc": {
                                                  "start": {
                                                    "line": 112,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 112,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5427,
                                                  "end": 5443,
                                                  "loc": {
                                                    "start": {
                                                      "line": 112,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 112,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5427,
                                                    "end": 5431,
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5432,
                                                    "end": 5443,
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5448,
                                                  "end": 5461,
                                                  "loc": {
                                                    "start": {
                                                      "line": 112,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 112,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5448,
                                                    "end": 5452,
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5453,
                                                    "end": 5461,
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 5465,
                                              "end": 5500,
                                              "loc": {
                                                "start": {
                                                  "line": 112,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 112,
                                                  "column": 121
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5465,
                                                "end": 5493,
                                                "loc": {
                                                  "start": {
                                                    "line": 112,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 112,
                                                    "column": 114
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 5465,
                                                  "end": 5481,
                                                  "loc": {
                                                    "start": {
                                                      "line": 112,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 112,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5465,
                                                    "end": 5469,
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5470,
                                                    "end": 5481,
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5482,
                                                  "end": 5493,
                                                  "loc": {
                                                    "start": {
                                                      "line": 112,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 112,
                                                      "column": 114
                                                    }
                                                  },
                                                  "name": "onTouchMove"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5494,
                                                  "end": 5499,
                                                  "loc": {
                                                    "start": {
                                                      "line": 112,
                                                      "column": 115
                                                    },
                                                    "end": {
                                                      "line": 112,
                                                      "column": 120
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 5529,
                                  "end": 5785,
                                  "loc": {
                                    "start": {
                                      "line": 114,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 5529,
                                    "end": 5537,
                                    "loc": {
                                      "start": {
                                        "line": 114,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 114,
                                        "column": 20
                                      }
                                    },
                                    "name": "touchend"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 5539,
                                    "end": 5785,
                                    "loc": {
                                      "start": {
                                        "line": 114,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 5539,
                                        "end": 5544,
                                        "loc": {
                                          "start": {
                                            "line": 114,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 114,
                                            "column": 27
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 5548,
                                      "end": 5785,
                                      "loc": {
                                        "start": {
                                          "line": 114,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5566,
                                          "end": 5600,
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 50
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 5566,
                                            "end": 5599,
                                            "loc": {
                                              "start": {
                                                "line": 115,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 115,
                                                "column": 49
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5566,
                                              "end": 5592,
                                              "loc": {
                                                "start": {
                                                  "line": 115,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 115,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 5566,
                                                "end": 5582,
                                                "loc": {
                                                  "start": {
                                                    "line": 115,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 115,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5566,
                                                  "end": 5570,
                                                  "loc": {
                                                    "start": {
                                                      "line": 115,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 115,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5571,
                                                  "end": 5582,
                                                  "loc": {
                                                    "start": {
                                                      "line": 115,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 115,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5583,
                                                "end": 5592,
                                                "loc": {
                                                  "start": {
                                                    "line": 115,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 115,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "onMouseUp"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5593,
                                                "end": 5598,
                                                "loc": {
                                                  "start": {
                                                    "line": 115,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 115,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5617,
                                          "end": 5649,
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 48
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 5617,
                                            "end": 5648,
                                            "loc": {
                                              "start": {
                                                "line": 116,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 116,
                                                "column": 47
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5617,
                                              "end": 5641,
                                              "loc": {
                                                "start": {
                                                  "line": 116,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 116,
                                                  "column": 40
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 5617,
                                                "end": 5630,
                                                "loc": {
                                                  "start": {
                                                    "line": 116,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 116,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5617,
                                                  "end": 5621,
                                                  "loc": {
                                                    "start": {
                                                      "line": 116,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 116,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5622,
                                                  "end": 5630,
                                                  "loc": {
                                                    "start": {
                                                      "line": 116,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 116,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5631,
                                                "end": 5641,
                                                "loc": {
                                                  "start": {
                                                    "line": 116,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 116,
                                                    "column": 40
                                                  }
                                                },
                                                "name": "onTouchEnd"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5642,
                                                "end": 5647,
                                                "loc": {
                                                  "start": {
                                                    "line": 116,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 116,
                                                    "column": 46
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5666,
                                          "end": 5771,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 121
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 5666,
                                            "end": 5770,
                                            "loc": {
                                              "start": {
                                                "line": 117,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 117,
                                                "column": 120
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 5666,
                                              "end": 5732,
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 5666,
                                                "end": 5694,
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5666,
                                                  "end": 5674,
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5666,
                                                    "end": 5670,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5671,
                                                    "end": 5674,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5678,
                                                  "end": 5694,
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5678,
                                                    "end": 5682,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5683,
                                                    "end": 5694,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 5698,
                                                "end": 5732,
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5698,
                                                  "end": 5714,
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5698,
                                                    "end": 5702,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5703,
                                                    "end": 5714,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5719,
                                                  "end": 5732,
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5719,
                                                    "end": 5723,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5724,
                                                    "end": 5732,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 5736,
                                              "end": 5770,
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 120
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5736,
                                                "end": 5763,
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 113
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 5736,
                                                  "end": 5752,
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5736,
                                                    "end": 5740,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5741,
                                                    "end": 5752,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5753,
                                                  "end": 5763,
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 113
                                                    }
                                                  },
                                                  "name": "onTouchEnd"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5764,
                                                  "end": 5769,
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 114
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 119
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5807,
                      "end": 5838,
                      "loc": {
                        "start": {
                          "line": 121,
                          "column": 8
                        },
                        "end": {
                          "line": 121,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5807,
                        "end": 5837,
                        "loc": {
                          "start": {
                            "line": 121,
                            "column": 8
                          },
                          "end": {
                            "line": 121,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5807,
                          "end": 5817,
                          "loc": {
                            "start": {
                              "line": 121,
                              "column": 8
                            },
                            "end": {
                              "line": 121,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5807,
                            "end": 5811,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 8
                              },
                              "end": {
                                "line": 121,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5812,
                            "end": 5817,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 13
                              },
                              "end": {
                                "line": 121,
                                "column": 18
                              }
                            },
                            "name": "scene"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 5820,
                          "end": 5837,
                          "loc": {
                            "start": {
                              "line": 121,
                              "column": 21
                            },
                            "end": {
                              "line": 121,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5824,
                            "end": 5835,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 25
                              },
                              "end": {
                                "line": 121,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5824,
                              "end": 5829,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 25
                                },
                                "end": {
                                  "line": 121,
                                  "column": 30
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5830,
                              "end": 5835,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 31
                                },
                                "end": {
                                  "line": 121,
                                  "column": 36
                                }
                              },
                              "name": "Scene"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5847,
                      "end": 5874,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 8
                        },
                        "end": {
                          "line": 122,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5847,
                        "end": 5873,
                        "loc": {
                          "start": {
                            "line": 122,
                            "column": 8
                          },
                          "end": {
                            "line": 122,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5847,
                          "end": 5864,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 8
                            },
                            "end": {
                              "line": 122,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5847,
                            "end": 5857,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 8
                              },
                              "end": {
                                "line": 122,
                                "column": 18
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5847,
                              "end": 5851,
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 8
                                },
                                "end": {
                                  "line": 122,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5852,
                              "end": 5857,
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 13
                                },
                                "end": {
                                  "line": 122,
                                  "column": 18
                                }
                              },
                              "name": "scene"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5858,
                            "end": 5864,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 19
                              },
                              "end": {
                                "line": 122,
                                "column": 25
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5867,
                          "end": 5873,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 28
                            },
                            "end": {
                              "line": 122,
                              "column": 34
                            }
                          },
                          "name": "canvas"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5883,
                      "end": 5906,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 8
                        },
                        "end": {
                          "line": 123,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5883,
                        "end": 5905,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 8
                          },
                          "end": {
                            "line": 123,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5883,
                          "end": 5898,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 8
                            },
                            "end": {
                              "line": 123,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5883,
                            "end": 5893,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 8
                              },
                              "end": {
                                "line": 123,
                                "column": 18
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5883,
                              "end": 5887,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 8
                                },
                                "end": {
                                  "line": 123,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5888,
                              "end": 5893,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 13
                                },
                                "end": {
                                  "line": 123,
                                  "column": 18
                                }
                              },
                              "name": "scene"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5894,
                            "end": 5898,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 19
                              },
                              "end": {
                                "line": 123,
                                "column": 23
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 5901,
                          "end": 5905,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 26
                            },
                            "end": {
                              "line": 123,
                              "column": 30
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5916,
                      "end": 6010,
                      "loc": {
                        "start": {
                          "line": 125,
                          "column": 8
                        },
                        "end": {
                          "line": 125,
                          "column": 102
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5916,
                        "end": 6009,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 8
                          },
                          "end": {
                            "line": 125,
                            "column": 101
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5916,
                          "end": 5928,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 8
                            },
                            "end": {
                              "line": 125,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5916,
                            "end": 5920,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 8
                              },
                              "end": {
                                "line": 125,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5921,
                            "end": 5928,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 13
                              },
                              "end": {
                                "line": 125,
                                "column": 20
                              }
                            },
                            "name": "ambient"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 5931,
                          "end": 6009,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 23
                            },
                            "end": {
                              "line": 125,
                              "column": 101
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5935,
                            "end": 5953,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 27
                              },
                              "end": {
                                "line": 125,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5935,
                              "end": 5940,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 27
                                },
                                "end": {
                                  "line": 125,
                                  "column": 32
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5941,
                              "end": 5953,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 33
                                },
                                "end": {
                                  "line": 125,
                                  "column": 45
                                }
                              },
                              "name": "AmbientLight"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ConditionalExpression",
                              "start": 5954,
                              "end": 6008,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 46
                                },
                                "end": {
                                  "line": 125,
                                  "column": 100
                                }
                              },
                              "test": {
                                "type": "MemberExpression",
                                "start": 5954,
                                "end": 5974,
                                "loc": {
                                  "start": {
                                    "line": 125,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 125,
                                    "column": 66
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5954,
                                  "end": 5961,
                                  "loc": {
                                    "start": {
                                      "line": 125,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 125,
                                      "column": 53
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5962,
                                  "end": 5974,
                                  "loc": {
                                    "start": {
                                      "line": 125,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 125,
                                      "column": 66
                                    }
                                  },
                                  "name": "ambientColor"
                                },
                                "computed": false
                              },
                              "consequent": {
                                "type": "MemberExpression",
                                "start": 5977,
                                "end": 5997,
                                "loc": {
                                  "start": {
                                    "line": 125,
                                    "column": 69
                                  },
                                  "end": {
                                    "line": 125,
                                    "column": 89
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5977,
                                  "end": 5984,
                                  "loc": {
                                    "start": {
                                      "line": 125,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 125,
                                      "column": 76
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5985,
                                  "end": 5997,
                                  "loc": {
                                    "start": {
                                      "line": 125,
                                      "column": 77
                                    },
                                    "end": {
                                      "line": 125,
                                      "column": 89
                                    }
                                  },
                                  "name": "ambientColor"
                                },
                                "computed": false
                              },
                              "alternate": {
                                "type": "Literal",
                                "start": 6000,
                                "end": 6008,
                                "loc": {
                                  "start": {
                                    "line": 125,
                                    "column": 92
                                  },
                                  "end": {
                                    "line": 125,
                                    "column": 100
                                  }
                                },
                                "value": 16777215,
                                "rawValue": 16777215,
                                "raw": "0xffffff"
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6019,
                      "end": 6125,
                      "loc": {
                        "start": {
                          "line": 126,
                          "column": 8
                        },
                        "end": {
                          "line": 126,
                          "column": 114
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6019,
                        "end": 6124,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 8
                          },
                          "end": {
                            "line": 126,
                            "column": 113
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6019,
                          "end": 6041,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 8
                            },
                            "end": {
                              "line": 126,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6019,
                            "end": 6031,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 8
                              },
                              "end": {
                                "line": 126,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6019,
                              "end": 6023,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 8
                                },
                                "end": {
                                  "line": 126,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6024,
                              "end": 6031,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 13
                                },
                                "end": {
                                  "line": 126,
                                  "column": 20
                                }
                              },
                              "name": "ambient"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6032,
                            "end": 6041,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 21
                              },
                              "end": {
                                "line": 126,
                                "column": 30
                              }
                            },
                            "name": "intensity"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 6044,
                          "end": 6124,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 33
                            },
                            "end": {
                              "line": 126,
                              "column": 113
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 6044,
                            "end": 6091,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 33
                              },
                              "end": {
                                "line": 126,
                                "column": 80
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 6044,
                              "end": 6075,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 33
                                },
                                "end": {
                                  "line": 126,
                                  "column": 64
                                }
                              },
                              "operator": "typeof",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 6051,
                                "end": 6075,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 64
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6051,
                                  "end": 6058,
                                  "loc": {
                                    "start": {
                                      "line": 126,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 47
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6059,
                                  "end": 6075,
                                  "loc": {
                                    "start": {
                                      "line": 126,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 64
                                    }
                                  },
                                  "name": "ambientIntensity"
                                },
                                "computed": false
                              }
                            },
                            "operator": "!==",
                            "right": {
                              "type": "Literal",
                              "start": 6080,
                              "end": 6091,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 69
                                },
                                "end": {
                                  "line": 126,
                                  "column": 80
                                }
                              },
                              "value": "undefined",
                              "rawValue": "undefined",
                              "raw": "'undefined'"
                            }
                          },
                          "consequent": {
                            "type": "MemberExpression",
                            "start": 6094,
                            "end": 6118,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 83
                              },
                              "end": {
                                "line": 126,
                                "column": 107
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6094,
                              "end": 6101,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 83
                                },
                                "end": {
                                  "line": 126,
                                  "column": 90
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6102,
                              "end": 6118,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 91
                                },
                                "end": {
                                  "line": 126,
                                  "column": 107
                                }
                              },
                              "name": "ambientIntensity"
                            },
                            "computed": false
                          },
                          "alternate": {
                            "type": "Literal",
                            "start": 6121,
                            "end": 6124,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 110
                              },
                              "end": {
                                "line": 126,
                                "column": 113
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1.0"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6134,
                      "end": 6159,
                      "loc": {
                        "start": {
                          "line": 127,
                          "column": 8
                        },
                        "end": {
                          "line": 127,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6134,
                        "end": 6158,
                        "loc": {
                          "start": {
                            "line": 127,
                            "column": 8
                          },
                          "end": {
                            "line": 127,
                            "column": 32
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6134,
                          "end": 6151,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 8
                            },
                            "end": {
                              "line": 127,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6134,
                            "end": 6146,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 8
                              },
                              "end": {
                                "line": 127,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6134,
                              "end": 6138,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 8
                                },
                                "end": {
                                  "line": 127,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6139,
                              "end": 6146,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 13
                                },
                                "end": {
                                  "line": 127,
                                  "column": 20
                                }
                              },
                              "name": "ambient"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6147,
                            "end": 6151,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 21
                              },
                              "end": {
                                "line": 127,
                                "column": 25
                              }
                            },
                            "name": "keep"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 6154,
                          "end": 6158,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 28
                            },
                            "end": {
                              "line": 127,
                              "column": 32
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6168,
                      "end": 6193,
                      "loc": {
                        "start": {
                          "line": 128,
                          "column": 8
                        },
                        "end": {
                          "line": 128,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6168,
                        "end": 6192,
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 8
                          },
                          "end": {
                            "line": 128,
                            "column": 32
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6168,
                          "end": 6185,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 8
                            },
                            "end": {
                              "line": 128,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6168,
                            "end": 6180,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 8
                              },
                              "end": {
                                "line": 128,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6168,
                              "end": 6172,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 8
                                },
                                "end": {
                                  "line": 128,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6173,
                              "end": 6180,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 13
                                },
                                "end": {
                                  "line": 128,
                                  "column": 20
                                }
                              },
                              "name": "ambient"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6181,
                            "end": 6185,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 21
                              },
                              "end": {
                                "line": 128,
                                "column": 25
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 6188,
                          "end": 6192,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 28
                            },
                            "end": {
                              "line": 128,
                              "column": 32
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6202,
                      "end": 6231,
                      "loc": {
                        "start": {
                          "line": 129,
                          "column": 8
                        },
                        "end": {
                          "line": 129,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6202,
                        "end": 6230,
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 8
                          },
                          "end": {
                            "line": 129,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6202,
                          "end": 6216,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 8
                            },
                            "end": {
                              "line": 129,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6202,
                            "end": 6212,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 8
                              },
                              "end": {
                                "line": 129,
                                "column": 18
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6202,
                              "end": 6206,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 8
                                },
                                "end": {
                                  "line": 129,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6207,
                              "end": 6212,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 13
                                },
                                "end": {
                                  "line": 129,
                                  "column": 18
                                }
                              },
                              "name": "scene"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6213,
                            "end": 6216,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 19
                              },
                              "end": {
                                "line": 129,
                                "column": 22
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 6217,
                            "end": 6229,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 23
                              },
                              "end": {
                                "line": 129,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6217,
                              "end": 6221,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 23
                                },
                                "end": {
                                  "line": 129,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6222,
                              "end": 6229,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 28
                                },
                                "end": {
                                  "line": 129,
                                  "column": 35
                                }
                              },
                              "name": "ambient"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6241,
                      "end": 6273,
                      "loc": {
                        "start": {
                          "line": 131,
                          "column": 8
                        },
                        "end": {
                          "line": 131,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6241,
                        "end": 6272,
                        "loc": {
                          "start": {
                            "line": 131,
                            "column": 8
                          },
                          "end": {
                            "line": 131,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6241,
                          "end": 6252,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 8
                            },
                            "end": {
                              "line": 131,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6241,
                            "end": 6245,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 8
                              },
                              "end": {
                                "line": 131,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6246,
                            "end": 6252,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 13
                              },
                              "end": {
                                "line": 131,
                                "column": 19
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6255,
                          "end": 6272,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 22
                            },
                            "end": {
                              "line": 131,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 6259,
                            "end": 6270,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 26
                              },
                              "end": {
                                "line": 131,
                                "column": 37
                              }
                            },
                            "name": "Perspective"
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6282,
                      "end": 6422,
                      "loc": {
                        "start": {
                          "line": 132,
                          "column": 8
                        },
                        "end": {
                          "line": 136,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6282,
                        "end": 6421,
                        "loc": {
                          "start": {
                            "line": 132,
                            "column": 8
                          },
                          "end": {
                            "line": 136,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6282,
                          "end": 6295,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 8
                            },
                            "end": {
                              "line": 132,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6282,
                            "end": 6286,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 8
                              },
                              "end": {
                                "line": 132,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6287,
                            "end": 6295,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 13
                              },
                              "end": {
                                "line": 132,
                                "column": 21
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6298,
                          "end": 6421,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 24
                            },
                            "end": {
                              "line": 136,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 6302,
                            "end": 6307,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 28
                              },
                              "end": {
                                "line": 132,
                                "column": 33
                              }
                            },
                            "name": "Orbit"
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 6308,
                              "end": 6312,
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 34
                                },
                                "end": {
                                  "line": 132,
                                  "column": 38
                                }
                              }
                            },
                            {
                              "type": "ObjectExpression",
                              "start": 6314,
                              "end": 6420,
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 40
                                },
                                "end": {
                                  "line": 136,
                                  "column": 9
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 6328,
                                  "end": 6350,
                                  "loc": {
                                    "start": {
                                      "line": 133,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 133,
                                      "column": 34
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 6328,
                                    "end": 6341,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 25
                                      }
                                    },
                                    "name": "maxPolarAngle"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 6343,
                                    "end": 6350,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 6343,
                                      "end": 6347,
                                      "loc": {
                                        "start": {
                                          "line": 133,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 133,
                                          "column": 31
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 6348,
                                      "end": 6350,
                                      "loc": {
                                        "start": {
                                          "line": 133,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 133,
                                          "column": 34
                                        }
                                      },
                                      "name": "PI"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 6364,
                                  "end": 6378,
                                  "loc": {
                                    "start": {
                                      "line": 134,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 134,
                                      "column": 26
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 6364,
                                    "end": 6375,
                                    "loc": {
                                      "start": {
                                        "line": 134,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 134,
                                        "column": 23
                                      }
                                    },
                                    "name": "minDistance"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 6377,
                                    "end": 6378,
                                    "loc": {
                                      "start": {
                                        "line": 134,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 134,
                                        "column": 26
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 6392,
                                  "end": 6410,
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 30
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 6392,
                                    "end": 6403,
                                    "loc": {
                                      "start": {
                                        "line": 135,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 135,
                                        "column": 23
                                      }
                                    },
                                    "name": "maxDistance"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 6405,
                                    "end": 6410,
                                    "loc": {
                                      "start": {
                                        "line": 135,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 135,
                                        "column": 30
                                      }
                                    },
                                    "value": 20000,
                                    "rawValue": 20000,
                                    "raw": "20000"
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6432,
                      "end": 6449,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 8
                        },
                        "end": {
                          "line": 138,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6432,
                        "end": 6448,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 8
                          },
                          "end": {
                            "line": 138,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6432,
                          "end": 6440,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 8
                            },
                            "end": {
                              "line": 138,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6432,
                            "end": 6436,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 8
                              },
                              "end": {
                                "line": 138,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6437,
                            "end": 6440,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 13
                              },
                              "end": {
                                "line": 138,
                                "column": 16
                              }
                            },
                            "name": "hud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 6443,
                          "end": 6448,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 19
                            },
                            "end": {
                              "line": 138,
                              "column": 24
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6458,
                      "end": 6492,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 8
                        },
                        "end": {
                          "line": 139,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6458,
                        "end": 6491,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 8
                          },
                          "end": {
                            "line": 139,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6458,
                          "end": 6471,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 8
                            },
                            "end": {
                              "line": 139,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6458,
                            "end": 6462,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 8
                              },
                              "end": {
                                "line": 139,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6463,
                            "end": 6471,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 13
                              },
                              "end": {
                                "line": 139,
                                "column": 21
                              }
                            },
                            "name": "sceneHud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6474,
                          "end": 6491,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 24
                            },
                            "end": {
                              "line": 139,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6478,
                            "end": 6489,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 28
                              },
                              "end": {
                                "line": 139,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6478,
                              "end": 6483,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 28
                                },
                                "end": {
                                  "line": 139,
                                  "column": 33
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6484,
                              "end": 6489,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 34
                                },
                                "end": {
                                  "line": 139,
                                  "column": 39
                                }
                              },
                              "name": "Scene"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6501,
                      "end": 6531,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 8
                        },
                        "end": {
                          "line": 140,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6501,
                        "end": 6530,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 8
                          },
                          "end": {
                            "line": 140,
                            "column": 37
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6501,
                          "end": 6521,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 8
                            },
                            "end": {
                              "line": 140,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6501,
                            "end": 6514,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 8
                              },
                              "end": {
                                "line": 140,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6501,
                              "end": 6505,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 8
                                },
                                "end": {
                                  "line": 140,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6506,
                              "end": 6514,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 13
                                },
                                "end": {
                                  "line": 140,
                                  "column": 21
                                }
                              },
                              "name": "sceneHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6515,
                            "end": 6521,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 22
                              },
                              "end": {
                                "line": 140,
                                "column": 28
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 6524,
                          "end": 6530,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 31
                            },
                            "end": {
                              "line": 140,
                              "column": 37
                            }
                          },
                          "name": "canvas"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6540,
                      "end": 6566,
                      "loc": {
                        "start": {
                          "line": 141,
                          "column": 8
                        },
                        "end": {
                          "line": 141,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6540,
                        "end": 6565,
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 8
                          },
                          "end": {
                            "line": 141,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6540,
                          "end": 6558,
                          "loc": {
                            "start": {
                              "line": 141,
                              "column": 8
                            },
                            "end": {
                              "line": 141,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6540,
                            "end": 6553,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 8
                              },
                              "end": {
                                "line": 141,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6540,
                              "end": 6544,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 8
                                },
                                "end": {
                                  "line": 141,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6545,
                              "end": 6553,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 13
                                },
                                "end": {
                                  "line": 141,
                                  "column": 21
                                }
                              },
                              "name": "sceneHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6554,
                            "end": 6558,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 22
                              },
                              "end": {
                                "line": 141,
                                "column": 26
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 6561,
                          "end": 6565,
                          "loc": {
                            "start": {
                              "line": 141,
                              "column": 29
                            },
                            "end": {
                              "line": 141,
                              "column": 33
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6575,
                      "end": 6604,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 8
                        },
                        "end": {
                          "line": 142,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6575,
                        "end": 6603,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 8
                          },
                          "end": {
                            "line": 142,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6575,
                          "end": 6589,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 8
                            },
                            "end": {
                              "line": 142,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6575,
                            "end": 6579,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 8
                              },
                              "end": {
                                "line": 142,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6580,
                            "end": 6589,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 13
                              },
                              "end": {
                                "line": 142,
                                "column": 22
                              }
                            },
                            "name": "cameraHud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 6592,
                          "end": 6603,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 25
                            },
                            "end": {
                              "line": 142,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6592,
                            "end": 6596,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 25
                              },
                              "end": {
                                "line": 142,
                                "column": 29
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6597,
                            "end": 6603,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 30
                              },
                              "end": {
                                "line": 142,
                                "column": 36
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6613,
                      "end": 6646,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 8
                        },
                        "end": {
                          "line": 143,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6613,
                        "end": 6645,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 8
                          },
                          "end": {
                            "line": 143,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6613,
                          "end": 6629,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 8
                            },
                            "end": {
                              "line": 143,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6613,
                            "end": 6617,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 8
                              },
                              "end": {
                                "line": 143,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6618,
                            "end": 6629,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 13
                              },
                              "end": {
                                "line": 143,
                                "column": 24
                              }
                            },
                            "name": "controlsHud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 6632,
                          "end": 6645,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 27
                            },
                            "end": {
                              "line": 143,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6632,
                            "end": 6636,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 27
                              },
                              "end": {
                                "line": 143,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6637,
                            "end": 6645,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 32
                              },
                              "end": {
                                "line": 143,
                                "column": 40
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6656,
                      "end": 6753,
                      "loc": {
                        "start": {
                          "line": 145,
                          "column": 8
                        },
                        "end": {
                          "line": 145,
                          "column": 105
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6656,
                        "end": 6752,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 8
                          },
                          "end": {
                            "line": 145,
                            "column": 104
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6656,
                          "end": 6671,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 8
                            },
                            "end": {
                              "line": 145,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6656,
                            "end": 6660,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 8
                              },
                              "end": {
                                "line": 145,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6661,
                            "end": 6671,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 13
                              },
                              "end": {
                                "line": 145,
                                "column": 23
                              }
                            },
                            "name": "ambientHud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6674,
                          "end": 6752,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 26
                            },
                            "end": {
                              "line": 145,
                              "column": 104
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6678,
                            "end": 6696,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 30
                              },
                              "end": {
                                "line": 145,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6678,
                              "end": 6683,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 30
                                },
                                "end": {
                                  "line": 145,
                                  "column": 35
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6684,
                              "end": 6696,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 36
                                },
                                "end": {
                                  "line": 145,
                                  "column": 48
                                }
                              },
                              "name": "AmbientLight"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ConditionalExpression",
                              "start": 6697,
                              "end": 6751,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 49
                                },
                                "end": {
                                  "line": 145,
                                  "column": 103
                                }
                              },
                              "test": {
                                "type": "MemberExpression",
                                "start": 6697,
                                "end": 6717,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 69
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6697,
                                  "end": 6704,
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 56
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6705,
                                  "end": 6717,
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 69
                                    }
                                  },
                                  "name": "ambientColor"
                                },
                                "computed": false
                              },
                              "consequent": {
                                "type": "MemberExpression",
                                "start": 6720,
                                "end": 6740,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 92
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6720,
                                  "end": 6727,
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 72
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 79
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6728,
                                  "end": 6740,
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 80
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 92
                                    }
                                  },
                                  "name": "ambientColor"
                                },
                                "computed": false
                              },
                              "alternate": {
                                "type": "Literal",
                                "start": 6743,
                                "end": 6751,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 95
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 103
                                  }
                                },
                                "value": 16777215,
                                "rawValue": 16777215,
                                "raw": "0xffffff"
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6762,
                      "end": 6871,
                      "loc": {
                        "start": {
                          "line": 146,
                          "column": 8
                        },
                        "end": {
                          "line": 146,
                          "column": 117
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6762,
                        "end": 6870,
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 8
                          },
                          "end": {
                            "line": 146,
                            "column": 116
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6762,
                          "end": 6787,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 8
                            },
                            "end": {
                              "line": 146,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6762,
                            "end": 6777,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 8
                              },
                              "end": {
                                "line": 146,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6762,
                              "end": 6766,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 8
                                },
                                "end": {
                                  "line": 146,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6767,
                              "end": 6777,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 13
                                },
                                "end": {
                                  "line": 146,
                                  "column": 23
                                }
                              },
                              "name": "ambientHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6778,
                            "end": 6787,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 24
                              },
                              "end": {
                                "line": 146,
                                "column": 33
                              }
                            },
                            "name": "intensity"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 6790,
                          "end": 6870,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 36
                            },
                            "end": {
                              "line": 146,
                              "column": 116
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 6790,
                            "end": 6837,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 36
                              },
                              "end": {
                                "line": 146,
                                "column": 83
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 6790,
                              "end": 6821,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 36
                                },
                                "end": {
                                  "line": 146,
                                  "column": 67
                                }
                              },
                              "operator": "typeof",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 6797,
                                "end": 6821,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 67
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6797,
                                  "end": 6804,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 50
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6805,
                                  "end": 6821,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 67
                                    }
                                  },
                                  "name": "ambientIntensity"
                                },
                                "computed": false
                              }
                            },
                            "operator": "!==",
                            "right": {
                              "type": "Literal",
                              "start": 6826,
                              "end": 6837,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 72
                                },
                                "end": {
                                  "line": 146,
                                  "column": 83
                                }
                              },
                              "value": "undefined",
                              "rawValue": "undefined",
                              "raw": "'undefined'"
                            }
                          },
                          "consequent": {
                            "type": "MemberExpression",
                            "start": 6840,
                            "end": 6864,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 86
                              },
                              "end": {
                                "line": 146,
                                "column": 110
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6840,
                              "end": 6847,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 86
                                },
                                "end": {
                                  "line": 146,
                                  "column": 93
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6848,
                              "end": 6864,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 94
                                },
                                "end": {
                                  "line": 146,
                                  "column": 110
                                }
                              },
                              "name": "ambientIntensity"
                            },
                            "computed": false
                          },
                          "alternate": {
                            "type": "Literal",
                            "start": 6867,
                            "end": 6870,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 113
                              },
                              "end": {
                                "line": 146,
                                "column": 116
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1.0"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6880,
                      "end": 6908,
                      "loc": {
                        "start": {
                          "line": 147,
                          "column": 8
                        },
                        "end": {
                          "line": 147,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6880,
                        "end": 6907,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 8
                          },
                          "end": {
                            "line": 147,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6880,
                          "end": 6900,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 8
                            },
                            "end": {
                              "line": 147,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6880,
                            "end": 6895,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 8
                              },
                              "end": {
                                "line": 147,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6880,
                              "end": 6884,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 8
                                },
                                "end": {
                                  "line": 147,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6885,
                              "end": 6895,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 13
                                },
                                "end": {
                                  "line": 147,
                                  "column": 23
                                }
                              },
                              "name": "ambientHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6896,
                            "end": 6900,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 24
                              },
                              "end": {
                                "line": 147,
                                "column": 28
                              }
                            },
                            "name": "keep"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 6903,
                          "end": 6907,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 31
                            },
                            "end": {
                              "line": 147,
                              "column": 35
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6917,
                      "end": 6945,
                      "loc": {
                        "start": {
                          "line": 148,
                          "column": 8
                        },
                        "end": {
                          "line": 148,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6917,
                        "end": 6944,
                        "loc": {
                          "start": {
                            "line": 148,
                            "column": 8
                          },
                          "end": {
                            "line": 148,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6917,
                          "end": 6937,
                          "loc": {
                            "start": {
                              "line": 148,
                              "column": 8
                            },
                            "end": {
                              "line": 148,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6917,
                            "end": 6932,
                            "loc": {
                              "start": {
                                "line": 148,
                                "column": 8
                              },
                              "end": {
                                "line": 148,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6917,
                              "end": 6921,
                              "loc": {
                                "start": {
                                  "line": 148,
                                  "column": 8
                                },
                                "end": {
                                  "line": 148,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6922,
                              "end": 6932,
                              "loc": {
                                "start": {
                                  "line": 148,
                                  "column": 13
                                },
                                "end": {
                                  "line": 148,
                                  "column": 23
                                }
                              },
                              "name": "ambientHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6933,
                            "end": 6937,
                            "loc": {
                              "start": {
                                "line": 148,
                                "column": 24
                              },
                              "end": {
                                "line": 148,
                                "column": 28
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 6940,
                          "end": 6944,
                          "loc": {
                            "start": {
                              "line": 148,
                              "column": 31
                            },
                            "end": {
                              "line": 148,
                              "column": 35
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6954,
                      "end": 6989,
                      "loc": {
                        "start": {
                          "line": 149,
                          "column": 8
                        },
                        "end": {
                          "line": 149,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6954,
                        "end": 6988,
                        "loc": {
                          "start": {
                            "line": 149,
                            "column": 8
                          },
                          "end": {
                            "line": 149,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6954,
                          "end": 6971,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 8
                            },
                            "end": {
                              "line": 149,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6954,
                            "end": 6967,
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 8
                              },
                              "end": {
                                "line": 149,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6954,
                              "end": 6958,
                              "loc": {
                                "start": {
                                  "line": 149,
                                  "column": 8
                                },
                                "end": {
                                  "line": 149,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6959,
                              "end": 6967,
                              "loc": {
                                "start": {
                                  "line": 149,
                                  "column": 13
                                },
                                "end": {
                                  "line": 149,
                                  "column": 21
                                }
                              },
                              "name": "sceneHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6968,
                            "end": 6971,
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 22
                              },
                              "end": {
                                "line": 149,
                                "column": 25
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 6972,
                            "end": 6987,
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 26
                              },
                              "end": {
                                "line": 149,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6972,
                              "end": 6976,
                              "loc": {
                                "start": {
                                  "line": 149,
                                  "column": 26
                                },
                                "end": {
                                  "line": 149,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6977,
                              "end": 6987,
                              "loc": {
                                "start": {
                                  "line": 149,
                                  "column": 31
                                },
                                "end": {
                                  "line": 149,
                                  "column": 41
                                }
                              },
                              "name": "ambientHud"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6999,
                      "end": 7040,
                      "loc": {
                        "start": {
                          "line": 151,
                          "column": 8
                        },
                        "end": {
                          "line": 151,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6999,
                        "end": 7039,
                        "loc": {
                          "start": {
                            "line": 151,
                            "column": 8
                          },
                          "end": {
                            "line": 151,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6999,
                          "end": 7015,
                          "loc": {
                            "start": {
                              "line": 151,
                              "column": 8
                            },
                            "end": {
                              "line": 151,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6999,
                            "end": 7003,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 8
                              },
                              "end": {
                                "line": 151,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7004,
                            "end": 7015,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 13
                              },
                              "end": {
                                "line": 151,
                                "column": 24
                              }
                            },
                            "name": "interaction"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 7018,
                          "end": 7039,
                          "loc": {
                            "start": {
                              "line": 151,
                              "column": 27
                            },
                            "end": {
                              "line": 151,
                              "column": 48
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 7022,
                            "end": 7033,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 31
                              },
                              "end": {
                                "line": 151,
                                "column": 42
                              }
                            },
                            "name": "Interaction"
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 7034,
                              "end": 7038,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 43
                                },
                                "end": {
                                  "line": 151,
                                  "column": 47
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7050,
                      "end": 7070,
                      "loc": {
                        "start": {
                          "line": 153,
                          "column": 8
                        },
                        "end": {
                          "line": 153,
                          "column": 28
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7050,
                        "end": 7069,
                        "loc": {
                          "start": {
                            "line": 153,
                            "column": 8
                          },
                          "end": {
                            "line": 153,
                            "column": 27
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7050,
                          "end": 7067,
                          "loc": {
                            "start": {
                              "line": 153,
                              "column": 8
                            },
                            "end": {
                              "line": 153,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7050,
                            "end": 7054,
                            "loc": {
                              "start": {
                                "line": 153,
                                "column": 8
                              },
                              "end": {
                                "line": 153,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7055,
                            "end": 7067,
                            "loc": {
                              "start": {
                                "line": 153,
                                "column": 13
                              },
                              "end": {
                                "line": 153,
                                "column": 25
                              }
                            },
                            "name": "updateScopes"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7079,
                      "end": 7108,
                      "loc": {
                        "start": {
                          "line": 154,
                          "column": 8
                        },
                        "end": {
                          "line": 154,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7079,
                        "end": 7107,
                        "loc": {
                          "start": {
                            "line": 154,
                            "column": 8
                          },
                          "end": {
                            "line": 154,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7079,
                          "end": 7101,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 8
                            },
                            "end": {
                              "line": 154,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7079,
                            "end": 7096,
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 8
                              },
                              "end": {
                                "line": 154,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7079,
                              "end": 7090,
                              "loc": {
                                "start": {
                                  "line": 154,
                                  "column": 8
                                },
                                "end": {
                                  "line": 154,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 7079,
                                "end": 7083,
                                "loc": {
                                  "start": {
                                    "line": 154,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 154,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7084,
                                "end": 7090,
                                "loc": {
                                  "start": {
                                    "line": 154,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 154,
                                    "column": 19
                                  }
                                },
                                "name": "canvas"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7091,
                              "end": 7096,
                              "loc": {
                                "start": {
                                  "line": 154,
                                  "column": 20
                                },
                                "end": {
                                  "line": 154,
                                  "column": 25
                                }
                              },
                              "name": "views"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7097,
                            "end": 7101,
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 26
                              },
                              "end": {
                                "line": 154,
                                "column": 30
                              }
                            },
                            "name": "push"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 7102,
                            "end": 7106,
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 31
                              },
                              "end": {
                                "line": 154,
                                "column": 35
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7117,
                      "end": 7140,
                      "loc": {
                        "start": {
                          "line": 155,
                          "column": 8
                        },
                        "end": {
                          "line": 155,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7117,
                        "end": 7139,
                        "loc": {
                          "start": {
                            "line": 155,
                            "column": 8
                          },
                          "end": {
                            "line": 155,
                            "column": 30
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7117,
                          "end": 7137,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 8
                            },
                            "end": {
                              "line": 155,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7117,
                            "end": 7130,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 8
                              },
                              "end": {
                                "line": 155,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7117,
                              "end": 7121,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 8
                                },
                                "end": {
                                  "line": 155,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7122,
                              "end": 7130,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 13
                                },
                                "end": {
                                  "line": 155,
                                  "column": 21
                                }
                              },
                              "name": "renderer"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7131,
                            "end": 7137,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 22
                              },
                              "end": {
                                "line": 155,
                                "column": 28
                              }
                            },
                            "name": "resize"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7150,
                      "end": 7199,
                      "loc": {
                        "start": {
                          "line": 157,
                          "column": 8
                        },
                        "end": {
                          "line": 157,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7150,
                        "end": 7198,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 8
                          },
                          "end": {
                            "line": 157,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 7150,
                          "end": 7161,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 8
                            },
                            "end": {
                              "line": 157,
                              "column": 19
                            }
                          },
                          "name": "checkResize"
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 7162,
                            "end": 7170,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 20
                              },
                              "end": {
                                "line": 157,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7162,
                              "end": 7166,
                              "loc": {
                                "start": {
                                  "line": 157,
                                  "column": 20
                                },
                                "end": {
                                  "line": 157,
                                  "column": 24
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7167,
                              "end": 7170,
                              "loc": {
                                "start": {
                                  "line": 157,
                                  "column": 25
                                },
                                "end": {
                                  "line": 157,
                                  "column": 28
                                }
                              },
                              "name": "dom"
                            },
                            "computed": false
                          },
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 7172,
                            "end": 7197,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 30
                              },
                              "end": {
                                "line": 157,
                                "column": 55
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "CallExpression",
                              "start": 7178,
                              "end": 7197,
                              "loc": {
                                "start": {
                                  "line": 157,
                                  "column": 36
                                },
                                "end": {
                                  "line": 157,
                                  "column": 55
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7178,
                                "end": 7193,
                                "loc": {
                                  "start": {
                                    "line": 157,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 157,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 7178,
                                  "end": 7182,
                                  "loc": {
                                    "start": {
                                      "line": 157,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 157,
                                      "column": 40
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7183,
                                  "end": 7193,
                                  "loc": {
                                    "start": {
                                      "line": 157,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 157,
                                      "column": 51
                                    }
                                  },
                                  "name": "invalidate"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 7194,
                                  "end": 7196,
                                  "loc": {
                                    "start": {
                                      "line": 157,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 157,
                                      "column": 54
                                    }
                                  },
                                  "value": 30,
                                  "rawValue": 30,
                                  "raw": "30"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              },
              "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": 623,
                  "end": 2090,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 4
                    },
                    "end": {
                      "line": 37,
                      "column": 49
                    }
                  },
                  "range": [
                    623,
                    2090
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 7211,
              "end": 7467,
              "loc": {
                "start": {
                  "line": 160,
                  "column": 4
                },
                "end": {
                  "line": 171,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7215,
                "end": 7224,
                "loc": {
                  "start": {
                    "line": 160,
                    "column": 8
                  },
                  "end": {
                    "line": 160,
                    "column": 17
                  }
                },
                "name": "showStats"
              },
              "static": false,
              "kind": "set",
              "value": {
                "type": "FunctionExpression",
                "start": 7224,
                "end": 7467,
                "loc": {
                  "start": {
                    "line": 160,
                    "column": 17
                  },
                  "end": {
                    "line": 171,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 7225,
                    "end": 7230,
                    "loc": {
                      "start": {
                        "line": 160,
                        "column": 18
                      },
                      "end": {
                        "line": 160,
                        "column": 23
                      }
                    },
                    "name": "value"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7232,
                  "end": 7467,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 25
                    },
                    "end": {
                      "line": 171,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 7243,
                      "end": 7339,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 165,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 7247,
                        "end": 7257,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 12
                          },
                          "end": {
                            "line": 162,
                            "column": 22
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 7247,
                          "end": 7251,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 12
                            },
                            "end": {
                              "line": 162,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7252,
                          "end": 7257,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 17
                            },
                            "end": {
                              "line": 162,
                              "column": 22
                            }
                          },
                          "name": "stats"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7259,
                        "end": 7339,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 24
                          },
                          "end": {
                            "line": 165,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7273,
                            "end": 7293,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 12
                              },
                              "end": {
                                "line": 163,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 7273,
                              "end": 7292,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 12
                                },
                                "end": {
                                  "line": 163,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7273,
                                "end": 7290,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7273,
                                  "end": 7283,
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 22
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7273,
                                    "end": 7277,
                                    "loc": {
                                      "start": {
                                        "line": 163,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 163,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7278,
                                    "end": 7283,
                                    "loc": {
                                      "start": {
                                        "line": 163,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 163,
                                        "column": 22
                                      }
                                    },
                                    "name": "stats"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7284,
                                  "end": 7290,
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 29
                                    }
                                  },
                                  "name": "remove"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 7306,
                            "end": 7329,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 12
                              },
                              "end": {
                                "line": 164,
                                "column": 35
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7306,
                              "end": 7328,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 12
                                },
                                "end": {
                                  "line": 164,
                                  "column": 34
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 7306,
                                "end": 7316,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 7306,
                                  "end": 7310,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7311,
                                  "end": 7316,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 22
                                    }
                                  },
                                  "name": "stats"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 7319,
                                "end": 7328,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 34
                                  }
                                },
                                "name": "undefined"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 7349,
                      "end": 7461,
                      "loc": {
                        "start": {
                          "line": 167,
                          "column": 8
                        },
                        "end": {
                          "line": 170,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 7353,
                        "end": 7358,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 12
                          },
                          "end": {
                            "line": 167,
                            "column": 17
                          }
                        },
                        "name": "value"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7360,
                        "end": 7461,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 19
                          },
                          "end": {
                            "line": 170,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7374,
                            "end": 7399,
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 12
                              },
                              "end": {
                                "line": 168,
                                "column": 37
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7374,
                              "end": 7398,
                              "loc": {
                                "start": {
                                  "line": 168,
                                  "column": 12
                                },
                                "end": {
                                  "line": 168,
                                  "column": 36
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 7374,
                                "end": 7384,
                                "loc": {
                                  "start": {
                                    "line": 168,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 168,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 7374,
                                  "end": 7378,
                                  "loc": {
                                    "start": {
                                      "line": 168,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7379,
                                  "end": 7384,
                                  "loc": {
                                    "start": {
                                      "line": 168,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 22
                                    }
                                  },
                                  "name": "stats"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "NewExpression",
                                "start": 7387,
                                "end": 7398,
                                "loc": {
                                  "start": {
                                    "line": 168,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 168,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 7391,
                                  "end": 7396,
                                  "loc": {
                                    "start": {
                                      "line": 168,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 34
                                    }
                                  },
                                  "name": "Stats"
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 7412,
                            "end": 7451,
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 12
                              },
                              "end": {
                                "line": 169,
                                "column": 51
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 7412,
                              "end": 7450,
                              "loc": {
                                "start": {
                                  "line": 169,
                                  "column": 12
                                },
                                "end": {
                                  "line": 169,
                                  "column": 50
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7412,
                                "end": 7432,
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7412,
                                  "end": 7420,
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 20
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7412,
                                    "end": 7416,
                                    "loc": {
                                      "start": {
                                        "line": 169,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 169,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7417,
                                    "end": 7420,
                                    "loc": {
                                      "start": {
                                        "line": 169,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 169,
                                        "column": 20
                                      }
                                    },
                                    "name": "dom"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7421,
                                  "end": 7432,
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 32
                                    }
                                  },
                                  "name": "appendChild"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 7434,
                                  "end": 7448,
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 7434,
                                    "end": 7444,
                                    "loc": {
                                      "start": {
                                        "line": 169,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 169,
                                        "column": 44
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 7434,
                                      "end": 7438,
                                      "loc": {
                                        "start": {
                                          "line": 169,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 169,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7439,
                                      "end": 7444,
                                      "loc": {
                                        "start": {
                                          "line": 169,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 169,
                                          "column": 44
                                        }
                                      },
                                      "name": "stats"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7445,
                                    "end": 7448,
                                    "loc": {
                                      "start": {
                                        "line": 169,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 169,
                                        "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": 7473,
                  "end": 7815,
                  "loc": {
                    "start": {
                      "line": 173,
                      "column": 4
                    },
                    "end": {
                      "line": 178,
                      "column": 42
                    }
                  },
                  "range": [
                    7473,
                    7815
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 7820,
              "end": 8040,
              "loc": {
                "start": {
                  "line": 179,
                  "column": 4
                },
                "end": {
                  "line": 185,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7820,
                "end": 7829,
                "loc": {
                  "start": {
                    "line": 179,
                    "column": 4
                  },
                  "end": {
                    "line": 179,
                    "column": 13
                  }
                },
                "name": "setCursor",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7829,
                "end": 8040,
                "loc": {
                  "start": {
                    "line": 179,
                    "column": 13
                  },
                  "end": {
                    "line": 185,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 7830,
                    "end": 7854,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 14
                      },
                      "end": {
                        "line": 179,
                        "column": 38
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 7830,
                      "end": 7835,
                      "loc": {
                        "start": {
                          "line": 179,
                          "column": 14
                        },
                        "end": {
                          "line": 179,
                          "column": 19
                        }
                      },
                      "name": "style"
                    },
                    "right": {
                      "type": "MemberExpression",
                      "start": 7836,
                      "end": 7854,
                      "loc": {
                        "start": {
                          "line": 179,
                          "column": 20
                        },
                        "end": {
                          "line": 179,
                          "column": 38
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 7836,
                        "end": 7840,
                        "loc": {
                          "start": {
                            "line": 179,
                            "column": 20
                          },
                          "end": {
                            "line": 179,
                            "column": 24
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7841,
                        "end": 7854,
                        "loc": {
                          "start": {
                            "line": 179,
                            "column": 25
                          },
                          "end": {
                            "line": 179,
                            "column": 38
                          }
                        },
                        "name": "defaultCursor"
                      },
                      "computed": false
                    }
                  },
                  {
                    "type": "Identifier",
                    "start": 7856,
                    "end": 7864,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 40
                      },
                      "end": {
                        "line": 179,
                        "column": 48
                      }
                    },
                    "name": "fallback"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7866,
                  "end": 8040,
                  "loc": {
                    "start": {
                      "line": 179,
                      "column": 50
                    },
                    "end": {
                      "line": 185,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 7876,
                      "end": 8013,
                      "loc": {
                        "start": {
                          "line": 180,
                          "column": 8
                        },
                        "end": {
                          "line": 183,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 7880,
                        "end": 7900,
                        "loc": {
                          "start": {
                            "line": 180,
                            "column": 12
                          },
                          "end": {
                            "line": 180,
                            "column": 32
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 7880,
                          "end": 7885,
                          "loc": {
                            "start": {
                              "line": 180,
                              "column": 12
                            },
                            "end": {
                              "line": 180,
                              "column": 17
                            }
                          },
                          "name": "style"
                        },
                        "operator": "!=",
                        "right": {
                          "type": "MemberExpression",
                          "start": 7889,
                          "end": 7900,
                          "loc": {
                            "start": {
                              "line": 180,
                              "column": 21
                            },
                            "end": {
                              "line": 180,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7889,
                            "end": 7893,
                            "loc": {
                              "start": {
                                "line": 180,
                                "column": 21
                              },
                              "end": {
                                "line": 180,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7894,
                            "end": 7900,
                            "loc": {
                              "start": {
                                "line": 180,
                                "column": 26
                              },
                              "end": {
                                "line": 180,
                                "column": 32
                              }
                            },
                            "name": "cursor"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7902,
                        "end": 8013,
                        "loc": {
                          "start": {
                            "line": 180,
                            "column": 34
                          },
                          "end": {
                            "line": 183,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7916,
                            "end": 7970,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 12
                              },
                              "end": {
                                "line": 181,
                                "column": 66
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 7916,
                              "end": 7969,
                              "loc": {
                                "start": {
                                  "line": 181,
                                  "column": 12
                                },
                                "end": {
                                  "line": 181,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 7916,
                                "end": 7932,
                                "loc": {
                                  "start": {
                                    "line": 181,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 181,
                                    "column": 28
                                  }
                                },
                                "name": "setPrefixedValue"
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 7933,
                                  "end": 7941,
                                  "loc": {
                                    "start": {
                                      "line": 181,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 181,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7933,
                                    "end": 7937,
                                    "loc": {
                                      "start": {
                                        "line": 181,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 181,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7938,
                                    "end": 7941,
                                    "loc": {
                                      "start": {
                                        "line": 181,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 181,
                                        "column": 37
                                      }
                                    },
                                    "name": "dom"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "Literal",
                                  "start": 7943,
                                  "end": 7951,
                                  "loc": {
                                    "start": {
                                      "line": 181,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 181,
                                      "column": 47
                                    }
                                  },
                                  "value": "cursor",
                                  "rawValue": "cursor",
                                  "raw": "\"cursor\""
                                },
                                {
                                  "type": "Identifier",
                                  "start": 7953,
                                  "end": 7958,
                                  "loc": {
                                    "start": {
                                      "line": 181,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 181,
                                      "column": 54
                                    }
                                  },
                                  "name": "style"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 7960,
                                  "end": 7968,
                                  "loc": {
                                    "start": {
                                      "line": 181,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 181,
                                      "column": 64
                                    }
                                  },
                                  "name": "fallback"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 7983,
                            "end": 8003,
                            "loc": {
                              "start": {
                                "line": 182,
                                "column": 12
                              },
                              "end": {
                                "line": 182,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7983,
                              "end": 8002,
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 12
                                },
                                "end": {
                                  "line": 182,
                                  "column": 31
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 7983,
                                "end": 7994,
                                "loc": {
                                  "start": {
                                    "line": 182,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 182,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 7983,
                                  "end": 7987,
                                  "loc": {
                                    "start": {
                                      "line": 182,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 182,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7988,
                                  "end": 7994,
                                  "loc": {
                                    "start": {
                                      "line": 182,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 182,
                                      "column": 23
                                    }
                                  },
                                  "name": "cursor"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 7997,
                                "end": 8002,
                                "loc": {
                                  "start": {
                                    "line": 182,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 182,
                                    "column": 31
                                  }
                                },
                                "name": "style"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 8022,
                      "end": 8034,
                      "loc": {
                        "start": {
                          "line": 184,
                          "column": 8
                        },
                        "end": {
                          "line": 184,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "ThisExpression",
                        "start": 8029,
                        "end": 8033,
                        "loc": {
                          "start": {
                            "line": 184,
                            "column": 15
                          },
                          "end": {
                            "line": 184,
                            "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": 7473,
                  "end": 7815,
                  "loc": {
                    "start": {
                      "line": 173,
                      "column": 4
                    },
                    "end": {
                      "line": 178,
                      "column": 42
                    }
                  },
                  "range": [
                    7473,
                    7815
                  ]
                }
              ],
              "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": 8046,
                  "end": 8384,
                  "loc": {
                    "start": {
                      "line": 187,
                      "column": 4
                    },
                    "end": {
                      "line": 192,
                      "column": 55
                    }
                  },
                  "range": [
                    8046,
                    8384
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 8389,
              "end": 8670,
              "loc": {
                "start": {
                  "line": 193,
                  "column": 4
                },
                "end": {
                  "line": 199,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8389,
                "end": 8398,
                "loc": {
                  "start": {
                    "line": 193,
                    "column": 4
                  },
                  "end": {
                    "line": 193,
                    "column": 13
                  }
                },
                "name": "getPoint2",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8398,
                "end": 8670,
                "loc": {
                  "start": {
                    "line": 193,
                    "column": 13
                  },
                  "end": {
                    "line": 199,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8399,
                    "end": 8405,
                    "loc": {
                      "start": {
                        "line": 193,
                        "column": 14
                      },
                      "end": {
                        "line": 193,
                        "column": 20
                      }
                    },
                    "name": "point3"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8407,
                  "end": 8670,
                  "loc": {
                    "start": {
                      "line": 193,
                      "column": 22
                    },
                    "end": {
                      "line": 199,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 8417,
                      "end": 8478,
                      "loc": {
                        "start": {
                          "line": 194,
                          "column": 8
                        },
                        "end": {
                          "line": 194,
                          "column": 69
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8421,
                          "end": 8447,
                          "loc": {
                            "start": {
                              "line": 194,
                              "column": 12
                            },
                            "end": {
                              "line": 194,
                              "column": 38
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8421,
                            "end": 8430,
                            "loc": {
                              "start": {
                                "line": 194,
                                "column": 12
                              },
                              "end": {
                                "line": 194,
                                "column": 21
                              }
                            },
                            "name": "widthHalf"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 8433,
                            "end": 8447,
                            "loc": {
                              "start": {
                                "line": 194,
                                "column": 24
                              },
                              "end": {
                                "line": 194,
                                "column": 38
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 8433,
                              "end": 8443,
                              "loc": {
                                "start": {
                                  "line": 194,
                                  "column": 24
                                },
                                "end": {
                                  "line": 194,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8433,
                                "end": 8437,
                                "loc": {
                                  "start": {
                                    "line": 194,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 194,
                                    "column": 28
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8438,
                                "end": 8443,
                                "loc": {
                                  "start": {
                                    "line": 194,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 194,
                                    "column": 34
                                  }
                                },
                                "name": "width"
                              },
                              "computed": false
                            },
                            "operator": "/",
                            "right": {
                              "type": "Literal",
                              "start": 8446,
                              "end": 8447,
                              "loc": {
                                "start": {
                                  "line": 194,
                                  "column": 37
                                },
                                "end": {
                                  "line": 194,
                                  "column": 38
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            }
                          }
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 8449,
                          "end": 8477,
                          "loc": {
                            "start": {
                              "line": 194,
                              "column": 40
                            },
                            "end": {
                              "line": 194,
                              "column": 68
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8449,
                            "end": 8459,
                            "loc": {
                              "start": {
                                "line": 194,
                                "column": 40
                              },
                              "end": {
                                "line": 194,
                                "column": 50
                              }
                            },
                            "name": "heightHalf"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 8462,
                            "end": 8477,
                            "loc": {
                              "start": {
                                "line": 194,
                                "column": 53
                              },
                              "end": {
                                "line": 194,
                                "column": 68
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 8462,
                              "end": 8473,
                              "loc": {
                                "start": {
                                  "line": 194,
                                  "column": 53
                                },
                                "end": {
                                  "line": 194,
                                  "column": 64
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8462,
                                "end": 8466,
                                "loc": {
                                  "start": {
                                    "line": 194,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 194,
                                    "column": 57
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8467,
                                "end": 8473,
                                "loc": {
                                  "start": {
                                    "line": 194,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 194,
                                    "column": 64
                                  }
                                },
                                "name": "height"
                              },
                              "computed": false
                            },
                            "operator": "/",
                            "right": {
                              "type": "Literal",
                              "start": 8476,
                              "end": 8477,
                              "loc": {
                                "start": {
                                  "line": 194,
                                  "column": 67
                                },
                                "end": {
                                  "line": 194,
                                  "column": 68
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 8487,
                      "end": 8528,
                      "loc": {
                        "start": {
                          "line": 195,
                          "column": 8
                        },
                        "end": {
                          "line": 195,
                          "column": 49
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8491,
                          "end": 8527,
                          "loc": {
                            "start": {
                              "line": 195,
                              "column": 12
                            },
                            "end": {
                              "line": 195,
                              "column": 48
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8491,
                            "end": 8497,
                            "loc": {
                              "start": {
                                "line": 195,
                                "column": 12
                              },
                              "end": {
                                "line": 195,
                                "column": 18
                              }
                            },
                            "name": "vector"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 8500,
                            "end": 8527,
                            "loc": {
                              "start": {
                                "line": 195,
                                "column": 21
                              },
                              "end": {
                                "line": 195,
                                "column": 48
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8500,
                              "end": 8514,
                              "loc": {
                                "start": {
                                  "line": 195,
                                  "column": 21
                                },
                                "end": {
                                  "line": 195,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8500,
                                "end": 8506,
                                "loc": {
                                  "start": {
                                    "line": 195,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 195,
                                    "column": 27
                                  }
                                },
                                "name": "point3"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8507,
                                "end": 8514,
                                "loc": {
                                  "start": {
                                    "line": 195,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 195,
                                    "column": 35
                                  }
                                },
                                "name": "project"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 8515,
                                "end": 8526,
                                "loc": {
                                  "start": {
                                    "line": 195,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 195,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 8515,
                                  "end": 8519,
                                  "loc": {
                                    "start": {
                                      "line": 195,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 195,
                                      "column": 40
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8520,
                                  "end": 8526,
                                  "loc": {
                                    "start": {
                                      "line": 195,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 195,
                                      "column": 47
                                    }
                                  },
                                  "name": "camera"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8537,
                      "end": 8583,
                      "loc": {
                        "start": {
                          "line": 196,
                          "column": 8
                        },
                        "end": {
                          "line": 196,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 8537,
                        "end": 8582,
                        "loc": {
                          "start": {
                            "line": 196,
                            "column": 8
                          },
                          "end": {
                            "line": 196,
                            "column": 53
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 8537,
                          "end": 8545,
                          "loc": {
                            "start": {
                              "line": 196,
                              "column": 8
                            },
                            "end": {
                              "line": 196,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8537,
                            "end": 8543,
                            "loc": {
                              "start": {
                                "line": 196,
                                "column": 8
                              },
                              "end": {
                                "line": 196,
                                "column": 14
                              }
                            },
                            "name": "vector"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8544,
                            "end": 8545,
                            "loc": {
                              "start": {
                                "line": 196,
                                "column": 15
                              },
                              "end": {
                                "line": 196,
                                "column": 16
                              }
                            },
                            "name": "x"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 8548,
                          "end": 8582,
                          "loc": {
                            "start": {
                              "line": 196,
                              "column": 19
                            },
                            "end": {
                              "line": 196,
                              "column": 53
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 8549,
                            "end": 8569,
                            "loc": {
                              "start": {
                                "line": 196,
                                "column": 20
                              },
                              "end": {
                                "line": 196,
                                "column": 40
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 8549,
                              "end": 8557,
                              "loc": {
                                "start": {
                                  "line": 196,
                                  "column": 20
                                },
                                "end": {
                                  "line": 196,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8549,
                                "end": 8555,
                                "loc": {
                                  "start": {
                                    "line": 196,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 196,
                                    "column": 26
                                  }
                                },
                                "name": "vector"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8556,
                                "end": 8557,
                                "loc": {
                                  "start": {
                                    "line": 196,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 196,
                                    "column": 28
                                  }
                                },
                                "name": "x"
                              },
                              "computed": false
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 8560,
                              "end": 8569,
                              "loc": {
                                "start": {
                                  "line": 196,
                                  "column": 31
                                },
                                "end": {
                                  "line": 196,
                                  "column": 40
                                }
                              },
                              "name": "widthHalf"
                            },
                            "parenthesizedExpression": true
                          },
                          "operator": "+",
                          "right": {
                            "type": "Identifier",
                            "start": 8573,
                            "end": 8582,
                            "loc": {
                              "start": {
                                "line": 196,
                                "column": 44
                              },
                              "end": {
                                "line": 196,
                                "column": 53
                              }
                            },
                            "name": "widthHalf"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8592,
                      "end": 8641,
                      "loc": {
                        "start": {
                          "line": 197,
                          "column": 8
                        },
                        "end": {
                          "line": 197,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 8592,
                        "end": 8640,
                        "loc": {
                          "start": {
                            "line": 197,
                            "column": 8
                          },
                          "end": {
                            "line": 197,
                            "column": 56
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 8592,
                          "end": 8600,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 8
                            },
                            "end": {
                              "line": 197,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8592,
                            "end": 8598,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 8
                              },
                              "end": {
                                "line": 197,
                                "column": 14
                              }
                            },
                            "name": "vector"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8599,
                            "end": 8600,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 15
                              },
                              "end": {
                                "line": 197,
                                "column": 16
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 8603,
                          "end": 8640,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 19
                            },
                            "end": {
                              "line": 197,
                              "column": 56
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 8603,
                            "end": 8627,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 19
                              },
                              "end": {
                                "line": 197,
                                "column": 43
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "BinaryExpression",
                              "start": 8605,
                              "end": 8626,
                              "loc": {
                                "start": {
                                  "line": 197,
                                  "column": 21
                                },
                                "end": {
                                  "line": 197,
                                  "column": 42
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 8605,
                                "end": 8613,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8605,
                                  "end": 8611,
                                  "loc": {
                                    "start": {
                                      "line": 197,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 197,
                                      "column": 27
                                    }
                                  },
                                  "name": "vector"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8612,
                                  "end": 8613,
                                  "loc": {
                                    "start": {
                                      "line": 197,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 197,
                                      "column": 29
                                    }
                                  },
                                  "name": "y"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "Identifier",
                                "start": 8616,
                                "end": 8626,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 42
                                  }
                                },
                                "name": "heightHalf"
                              },
                              "parenthesizedExpression": true
                            }
                          },
                          "operator": "+",
                          "right": {
                            "type": "Identifier",
                            "start": 8630,
                            "end": 8640,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 46
                              },
                              "end": {
                                "line": 197,
                                "column": 56
                              }
                            },
                            "name": "heightHalf"
                          }
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 8650,
                      "end": 8664,
                      "loc": {
                        "start": {
                          "line": 198,
                          "column": 8
                        },
                        "end": {
                          "line": 198,
                          "column": 22
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 8657,
                        "end": 8663,
                        "loc": {
                          "start": {
                            "line": 198,
                            "column": 15
                          },
                          "end": {
                            "line": 198,
                            "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": 8046,
                  "end": 8384,
                  "loc": {
                    "start": {
                      "line": 187,
                      "column": 4
                    },
                    "end": {
                      "line": 192,
                      "column": 55
                    }
                  },
                  "range": [
                    8046,
                    8384
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "/Note: maximal depth is used, so the point is on the \"far\" frustum (with huge coordinates)",
                  "start": 8676,
                  "end": 8768,
                  "loc": {
                    "start": {
                      "line": 201,
                      "column": 4
                    },
                    "end": {
                      "line": 201,
                      "column": 96
                    }
                  },
                  "range": [
                    8676,
                    8768
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 8773,
              "end": 8971,
              "loc": {
                "start": {
                  "line": 202,
                  "column": 4
                },
                "end": {
                  "line": 206,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8773,
                "end": 8782,
                "loc": {
                  "start": {
                    "line": 202,
                    "column": 4
                  },
                  "end": {
                    "line": 202,
                    "column": 13
                  }
                },
                "name": "getPoint3",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8782,
                "end": 8971,
                "loc": {
                  "start": {
                    "line": 202,
                    "column": 13
                  },
                  "end": {
                    "line": 206,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8783,
                    "end": 8789,
                    "loc": {
                      "start": {
                        "line": 202,
                        "column": 14
                      },
                      "end": {
                        "line": 202,
                        "column": 20
                      }
                    },
                    "name": "point2"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8791,
                  "end": 8971,
                  "loc": {
                    "start": {
                      "line": 202,
                      "column": 22
                    },
                    "end": {
                      "line": 206,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 8801,
                      "end": 8903,
                      "loc": {
                        "start": {
                          "line": 203,
                          "column": 8
                        },
                        "end": {
                          "line": 203,
                          "column": 110
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8805,
                          "end": 8902,
                          "loc": {
                            "start": {
                              "line": 203,
                              "column": 12
                            },
                            "end": {
                              "line": 203,
                              "column": 109
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8805,
                            "end": 8811,
                            "loc": {
                              "start": {
                                "line": 203,
                                "column": 12
                              },
                              "end": {
                                "line": 203,
                                "column": 18
                              }
                            },
                            "name": "vector"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 8814,
                            "end": 8902,
                            "loc": {
                              "start": {
                                "line": 203,
                                "column": 21
                              },
                              "end": {
                                "line": 203,
                                "column": 109
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8818,
                              "end": 8831,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 25
                                },
                                "end": {
                                  "line": 203,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8818,
                                "end": 8823,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 30
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8824,
                                "end": 8831,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 38
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 8832,
                                "end": 8863,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 70
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8832,
                                  "end": 8859,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 66
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 8833,
                                    "end": 8854,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 61
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 8833,
                                      "end": 8841,
                                      "loc": {
                                        "start": {
                                          "line": 203,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 203,
                                          "column": 48
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8833,
                                        "end": 8839,
                                        "loc": {
                                          "start": {
                                            "line": 203,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 203,
                                            "column": 46
                                          }
                                        },
                                        "name": "point2"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8840,
                                        "end": 8841,
                                        "loc": {
                                          "start": {
                                            "line": 203,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 203,
                                            "column": 48
                                          }
                                        },
                                        "name": "x"
                                      },
                                      "computed": false
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 8844,
                                      "end": 8854,
                                      "loc": {
                                        "start": {
                                          "line": 203,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 203,
                                          "column": 61
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8844,
                                        "end": 8848,
                                        "loc": {
                                          "start": {
                                            "line": 203,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 203,
                                            "column": 55
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8849,
                                        "end": 8854,
                                        "loc": {
                                          "start": {
                                            "line": 203,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 203,
                                            "column": 61
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 8858,
                                    "end": 8859,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 66
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "-",
                                "right": {
                                  "type": "Literal",
                                  "start": 8862,
                                  "end": 8863,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 70
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "BinaryExpression",
                                "start": 8865,
                                "end": 8898,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 105
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8865,
                                  "end": 8894,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 72
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 101
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 8865,
                                    "end": 8890,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 72
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 97
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "BinaryExpression",
                                      "start": 8867,
                                      "end": 8889,
                                      "loc": {
                                        "start": {
                                          "line": 203,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 203,
                                          "column": 96
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 8867,
                                        "end": 8875,
                                        "loc": {
                                          "start": {
                                            "line": 203,
                                            "column": 74
                                          },
                                          "end": {
                                            "line": 203,
                                            "column": 82
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8867,
                                          "end": 8873,
                                          "loc": {
                                            "start": {
                                              "line": 203,
                                              "column": 74
                                            },
                                            "end": {
                                              "line": 203,
                                              "column": 80
                                            }
                                          },
                                          "name": "point2"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8874,
                                          "end": 8875,
                                          "loc": {
                                            "start": {
                                              "line": 203,
                                              "column": 81
                                            },
                                            "end": {
                                              "line": 203,
                                              "column": 82
                                            }
                                          },
                                          "name": "y"
                                        },
                                        "computed": false
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 8878,
                                        "end": 8889,
                                        "loc": {
                                          "start": {
                                            "line": 203,
                                            "column": 85
                                          },
                                          "end": {
                                            "line": 203,
                                            "column": 96
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8878,
                                          "end": 8882,
                                          "loc": {
                                            "start": {
                                              "line": 203,
                                              "column": 85
                                            },
                                            "end": {
                                              "line": 203,
                                              "column": 89
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8883,
                                          "end": 8889,
                                          "loc": {
                                            "start": {
                                              "line": 203,
                                              "column": 90
                                            },
                                            "end": {
                                              "line": 203,
                                              "column": 96
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "computed": false
                                      },
                                      "parenthesizedExpression": true
                                    }
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 8893,
                                    "end": 8894,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 100
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 101
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Literal",
                                  "start": 8897,
                                  "end": 8898,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 104
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 105
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "Literal",
                                "start": 8900,
                                "end": 8901,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 107
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 108
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8912,
                      "end": 8942,
                      "loc": {
                        "start": {
                          "line": 204,
                          "column": 8
                        },
                        "end": {
                          "line": 204,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8912,
                        "end": 8941,
                        "loc": {
                          "start": {
                            "line": 204,
                            "column": 8
                          },
                          "end": {
                            "line": 204,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8912,
                          "end": 8928,
                          "loc": {
                            "start": {
                              "line": 204,
                              "column": 8
                            },
                            "end": {
                              "line": 204,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8912,
                            "end": 8918,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 8
                              },
                              "end": {
                                "line": 204,
                                "column": 14
                              }
                            },
                            "name": "vector"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8919,
                            "end": 8928,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 15
                              },
                              "end": {
                                "line": 204,
                                "column": 24
                              }
                            },
                            "name": "unproject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 8929,
                            "end": 8940,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 25
                              },
                              "end": {
                                "line": 204,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8929,
                              "end": 8933,
                              "loc": {
                                "start": {
                                  "line": 204,
                                  "column": 25
                                },
                                "end": {
                                  "line": 204,
                                  "column": 29
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8934,
                              "end": 8940,
                              "loc": {
                                "start": {
                                  "line": 204,
                                  "column": 30
                                },
                                "end": {
                                  "line": 204,
                                  "column": 36
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 8951,
                      "end": 8965,
                      "loc": {
                        "start": {
                          "line": 205,
                          "column": 8
                        },
                        "end": {
                          "line": 205,
                          "column": 22
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 8958,
                        "end": 8964,
                        "loc": {
                          "start": {
                            "line": 205,
                            "column": 15
                          },
                          "end": {
                            "line": 205,
                            "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": 8676,
                  "end": 8768,
                  "loc": {
                    "start": {
                      "line": 201,
                      "column": 4
                    },
                    "end": {
                      "line": 201,
                      "column": 96
                    }
                  },
                  "range": [
                    8676,
                    8768
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "/returns a line of all the points corresponding to given 2D view coords",
                  "start": 8977,
                  "end": 9050,
                  "loc": {
                    "start": {
                      "line": 208,
                      "column": 4
                    },
                    "end": {
                      "line": 208,
                      "column": 77
                    }
                  },
                  "range": [
                    8977,
                    9050
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 9055,
              "end": 9417,
              "loc": {
                "start": {
                  "line": 209,
                  "column": 4
                },
                "end": {
                  "line": 215,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9055,
                "end": 9067,
                "loc": {
                  "start": {
                    "line": 209,
                    "column": 4
                  },
                  "end": {
                    "line": 209,
                    "column": 16
                  }
                },
                "name": "getViewLine3",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9067,
                "end": 9417,
                "loc": {
                  "start": {
                    "line": 209,
                    "column": 16
                  },
                  "end": {
                    "line": 215,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9068,
                    "end": 9074,
                    "loc": {
                      "start": {
                        "line": 209,
                        "column": 17
                      },
                      "end": {
                        "line": 209,
                        "column": 23
                      }
                    },
                    "name": "point2"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9076,
                  "end": 9417,
                  "loc": {
                    "start": {
                      "line": 209,
                      "column": 25
                    },
                    "end": {
                      "line": 215,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 9086,
                      "end": 9186,
                      "loc": {
                        "start": {
                          "line": 210,
                          "column": 8
                        },
                        "end": {
                          "line": 210,
                          "column": 108
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9090,
                          "end": 9185,
                          "loc": {
                            "start": {
                              "line": 210,
                              "column": 12
                            },
                            "end": {
                              "line": 210,
                              "column": 107
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9090,
                            "end": 9094,
                            "loc": {
                              "start": {
                                "line": 210,
                                "column": 12
                              },
                              "end": {
                                "line": 210,
                                "column": 16
                              }
                            },
                            "name": "near"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 9097,
                            "end": 9185,
                            "loc": {
                              "start": {
                                "line": 210,
                                "column": 19
                              },
                              "end": {
                                "line": 210,
                                "column": 107
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9101,
                              "end": 9114,
                              "loc": {
                                "start": {
                                  "line": 210,
                                  "column": 23
                                },
                                "end": {
                                  "line": 210,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9101,
                                "end": 9106,
                                "loc": {
                                  "start": {
                                    "line": 210,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 210,
                                    "column": 28
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9107,
                                "end": 9114,
                                "loc": {
                                  "start": {
                                    "line": 210,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 210,
                                    "column": 36
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 9115,
                                "end": 9146,
                                "loc": {
                                  "start": {
                                    "line": 210,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 210,
                                    "column": 68
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 9115,
                                  "end": 9142,
                                  "loc": {
                                    "start": {
                                      "line": 210,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 210,
                                      "column": 64
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 9116,
                                    "end": 9137,
                                    "loc": {
                                      "start": {
                                        "line": 210,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 210,
                                        "column": 59
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 9116,
                                      "end": 9124,
                                      "loc": {
                                        "start": {
                                          "line": 210,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 210,
                                          "column": 46
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 9116,
                                        "end": 9122,
                                        "loc": {
                                          "start": {
                                            "line": 210,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 210,
                                            "column": 44
                                          }
                                        },
                                        "name": "point2"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9123,
                                        "end": 9124,
                                        "loc": {
                                          "start": {
                                            "line": 210,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 210,
                                            "column": 46
                                          }
                                        },
                                        "name": "x"
                                      },
                                      "computed": false
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 9127,
                                      "end": 9137,
                                      "loc": {
                                        "start": {
                                          "line": 210,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 210,
                                          "column": 59
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9127,
                                        "end": 9131,
                                        "loc": {
                                          "start": {
                                            "line": 210,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 210,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9132,
                                        "end": 9137,
                                        "loc": {
                                          "start": {
                                            "line": 210,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 210,
                                            "column": 59
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 9141,
                                    "end": 9142,
                                    "loc": {
                                      "start": {
                                        "line": 210,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 210,
                                        "column": 64
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "-",
                                "right": {
                                  "type": "Literal",
                                  "start": 9145,
                                  "end": 9146,
                                  "loc": {
                                    "start": {
                                      "line": 210,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 210,
                                      "column": 68
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "BinaryExpression",
                                "start": 9148,
                                "end": 9181,
                                "loc": {
                                  "start": {
                                    "line": 210,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 210,
                                    "column": 103
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 9148,
                                  "end": 9177,
                                  "loc": {
                                    "start": {
                                      "line": 210,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 210,
                                      "column": 99
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 9148,
                                    "end": 9173,
                                    "loc": {
                                      "start": {
                                        "line": 210,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 210,
                                        "column": 95
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "BinaryExpression",
                                      "start": 9150,
                                      "end": 9172,
                                      "loc": {
                                        "start": {
                                          "line": 210,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 210,
                                          "column": 94
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 9150,
                                        "end": 9158,
                                        "loc": {
                                          "start": {
                                            "line": 210,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 210,
                                            "column": 80
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 9150,
                                          "end": 9156,
                                          "loc": {
                                            "start": {
                                              "line": 210,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 210,
                                              "column": 78
                                            }
                                          },
                                          "name": "point2"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9157,
                                          "end": 9158,
                                          "loc": {
                                            "start": {
                                              "line": 210,
                                              "column": 79
                                            },
                                            "end": {
                                              "line": 210,
                                              "column": 80
                                            }
                                          },
                                          "name": "y"
                                        },
                                        "computed": false
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 9161,
                                        "end": 9172,
                                        "loc": {
                                          "start": {
                                            "line": 210,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 210,
                                            "column": 94
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9161,
                                          "end": 9165,
                                          "loc": {
                                            "start": {
                                              "line": 210,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 210,
                                              "column": 87
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9166,
                                          "end": 9172,
                                          "loc": {
                                            "start": {
                                              "line": 210,
                                              "column": 88
                                            },
                                            "end": {
                                              "line": 210,
                                              "column": 94
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "computed": false
                                      },
                                      "parenthesizedExpression": true
                                    }
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 9176,
                                    "end": 9177,
                                    "loc": {
                                      "start": {
                                        "line": 210,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 210,
                                        "column": 99
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Literal",
                                  "start": 9180,
                                  "end": 9181,
                                  "loc": {
                                    "start": {
                                      "line": 210,
                                      "column": 102
                                    },
                                    "end": {
                                      "line": 210,
                                      "column": 103
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "Literal",
                                "start": 9183,
                                "end": 9184,
                                "loc": {
                                  "start": {
                                    "line": 210,
                                    "column": 105
                                  },
                                  "end": {
                                    "line": 210,
                                    "column": 106
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9195,
                      "end": 9295,
                      "loc": {
                        "start": {
                          "line": 211,
                          "column": 8
                        },
                        "end": {
                          "line": 211,
                          "column": 108
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9200,
                          "end": 9294,
                          "loc": {
                            "start": {
                              "line": 211,
                              "column": 13
                            },
                            "end": {
                              "line": 211,
                              "column": 107
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9200,
                            "end": 9203,
                            "loc": {
                              "start": {
                                "line": 211,
                                "column": 13
                              },
                              "end": {
                                "line": 211,
                                "column": 16
                              }
                            },
                            "name": "far"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 9206,
                            "end": 9294,
                            "loc": {
                              "start": {
                                "line": 211,
                                "column": 19
                              },
                              "end": {
                                "line": 211,
                                "column": 107
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9210,
                              "end": 9223,
                              "loc": {
                                "start": {
                                  "line": 211,
                                  "column": 23
                                },
                                "end": {
                                  "line": 211,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9210,
                                "end": 9215,
                                "loc": {
                                  "start": {
                                    "line": 211,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 28
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9216,
                                "end": 9223,
                                "loc": {
                                  "start": {
                                    "line": 211,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 36
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 9224,
                                "end": 9255,
                                "loc": {
                                  "start": {
                                    "line": 211,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 68
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 9224,
                                  "end": 9251,
                                  "loc": {
                                    "start": {
                                      "line": 211,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 211,
                                      "column": 64
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 9225,
                                    "end": 9246,
                                    "loc": {
                                      "start": {
                                        "line": 211,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 211,
                                        "column": 59
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 9225,
                                      "end": 9233,
                                      "loc": {
                                        "start": {
                                          "line": 211,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 211,
                                          "column": 46
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 9225,
                                        "end": 9231,
                                        "loc": {
                                          "start": {
                                            "line": 211,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 211,
                                            "column": 44
                                          }
                                        },
                                        "name": "point2"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9232,
                                        "end": 9233,
                                        "loc": {
                                          "start": {
                                            "line": 211,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 211,
                                            "column": 46
                                          }
                                        },
                                        "name": "x"
                                      },
                                      "computed": false
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 9236,
                                      "end": 9246,
                                      "loc": {
                                        "start": {
                                          "line": 211,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 211,
                                          "column": 59
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9236,
                                        "end": 9240,
                                        "loc": {
                                          "start": {
                                            "line": 211,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 211,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9241,
                                        "end": 9246,
                                        "loc": {
                                          "start": {
                                            "line": 211,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 211,
                                            "column": 59
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 9250,
                                    "end": 9251,
                                    "loc": {
                                      "start": {
                                        "line": 211,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 211,
                                        "column": 64
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "-",
                                "right": {
                                  "type": "Literal",
                                  "start": 9254,
                                  "end": 9255,
                                  "loc": {
                                    "start": {
                                      "line": 211,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 211,
                                      "column": 68
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "BinaryExpression",
                                "start": 9257,
                                "end": 9290,
                                "loc": {
                                  "start": {
                                    "line": 211,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 103
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 9257,
                                  "end": 9286,
                                  "loc": {
                                    "start": {
                                      "line": 211,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 211,
                                      "column": 99
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 9257,
                                    "end": 9282,
                                    "loc": {
                                      "start": {
                                        "line": 211,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 211,
                                        "column": 95
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "BinaryExpression",
                                      "start": 9259,
                                      "end": 9281,
                                      "loc": {
                                        "start": {
                                          "line": 211,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 211,
                                          "column": 94
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 9259,
                                        "end": 9267,
                                        "loc": {
                                          "start": {
                                            "line": 211,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 211,
                                            "column": 80
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 9259,
                                          "end": 9265,
                                          "loc": {
                                            "start": {
                                              "line": 211,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 211,
                                              "column": 78
                                            }
                                          },
                                          "name": "point2"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9266,
                                          "end": 9267,
                                          "loc": {
                                            "start": {
                                              "line": 211,
                                              "column": 79
                                            },
                                            "end": {
                                              "line": 211,
                                              "column": 80
                                            }
                                          },
                                          "name": "y"
                                        },
                                        "computed": false
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 9270,
                                        "end": 9281,
                                        "loc": {
                                          "start": {
                                            "line": 211,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 211,
                                            "column": 94
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9270,
                                          "end": 9274,
                                          "loc": {
                                            "start": {
                                              "line": 211,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 211,
                                              "column": 87
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9275,
                                          "end": 9281,
                                          "loc": {
                                            "start": {
                                              "line": 211,
                                              "column": 88
                                            },
                                            "end": {
                                              "line": 211,
                                              "column": 94
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "computed": false
                                      },
                                      "parenthesizedExpression": true
                                    }
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 9285,
                                    "end": 9286,
                                    "loc": {
                                      "start": {
                                        "line": 211,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 211,
                                        "column": 99
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Literal",
                                  "start": 9289,
                                  "end": 9290,
                                  "loc": {
                                    "start": {
                                      "line": 211,
                                      "column": 102
                                    },
                                    "end": {
                                      "line": 211,
                                      "column": 103
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "Literal",
                                "start": 9292,
                                "end": 9293,
                                "loc": {
                                  "start": {
                                    "line": 211,
                                    "column": 105
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 106
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9304,
                      "end": 9332,
                      "loc": {
                        "start": {
                          "line": 212,
                          "column": 8
                        },
                        "end": {
                          "line": 212,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9304,
                        "end": 9331,
                        "loc": {
                          "start": {
                            "line": 212,
                            "column": 8
                          },
                          "end": {
                            "line": 212,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9304,
                          "end": 9318,
                          "loc": {
                            "start": {
                              "line": 212,
                              "column": 8
                            },
                            "end": {
                              "line": 212,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9304,
                            "end": 9308,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 8
                              },
                              "end": {
                                "line": 212,
                                "column": 12
                              }
                            },
                            "name": "near"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9309,
                            "end": 9318,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 13
                              },
                              "end": {
                                "line": 212,
                                "column": 22
                              }
                            },
                            "name": "unproject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 9319,
                            "end": 9330,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 23
                              },
                              "end": {
                                "line": 212,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9319,
                              "end": 9323,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 23
                                },
                                "end": {
                                  "line": 212,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9324,
                              "end": 9330,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 28
                                },
                                "end": {
                                  "line": 212,
                                  "column": 34
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9341,
                      "end": 9368,
                      "loc": {
                        "start": {
                          "line": 213,
                          "column": 8
                        },
                        "end": {
                          "line": 213,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9341,
                        "end": 9367,
                        "loc": {
                          "start": {
                            "line": 213,
                            "column": 8
                          },
                          "end": {
                            "line": 213,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9341,
                          "end": 9354,
                          "loc": {
                            "start": {
                              "line": 213,
                              "column": 8
                            },
                            "end": {
                              "line": 213,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9341,
                            "end": 9344,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 8
                              },
                              "end": {
                                "line": 213,
                                "column": 11
                              }
                            },
                            "name": "far"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9345,
                            "end": 9354,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 12
                              },
                              "end": {
                                "line": 213,
                                "column": 21
                              }
                            },
                            "name": "unproject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 9355,
                            "end": 9366,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 22
                              },
                              "end": {
                                "line": 213,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9355,
                              "end": 9359,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 22
                                },
                                "end": {
                                  "line": 213,
                                  "column": 26
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9360,
                              "end": 9366,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 27
                                },
                                "end": {
                                  "line": 213,
                                  "column": 33
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 9377,
                      "end": 9411,
                      "loc": {
                        "start": {
                          "line": 214,
                          "column": 8
                        },
                        "end": {
                          "line": 214,
                          "column": 42
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 9384,
                        "end": 9410,
                        "loc": {
                          "start": {
                            "line": 214,
                            "column": 15
                          },
                          "end": {
                            "line": 214,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9388,
                          "end": 9399,
                          "loc": {
                            "start": {
                              "line": 214,
                              "column": 19
                            },
                            "end": {
                              "line": 214,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9388,
                            "end": 9393,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 19
                              },
                              "end": {
                                "line": 214,
                                "column": 24
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9394,
                            "end": 9399,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 25
                              },
                              "end": {
                                "line": 214,
                                "column": 30
                              }
                            },
                            "name": "Line3"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 9400,
                            "end": 9404,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 31
                              },
                              "end": {
                                "line": 214,
                                "column": 35
                              }
                            },
                            "name": "near"
                          },
                          {
                            "type": "Identifier",
                            "start": 9406,
                            "end": 9409,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 37
                              },
                              "end": {
                                "line": 214,
                                "column": 40
                              }
                            },
                            "name": "far"
                          }
                        ]
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "/returns a line of all the points corresponding to given 2D view coords",
                  "start": 8977,
                  "end": 9050,
                  "loc": {
                    "start": {
                      "line": 208,
                      "column": 4
                    },
                    "end": {
                      "line": 208,
                      "column": 77
                    }
                  },
                  "range": [
                    8977,
                    9050
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 9423,
              "end": 9448,
              "loc": {
                "start": {
                  "line": 217,
                  "column": 4
                },
                "end": {
                  "line": 219,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9423,
                "end": 9437,
                "loc": {
                  "start": {
                    "line": 217,
                    "column": 4
                  },
                  "end": {
                    "line": 217,
                    "column": 18
                  }
                },
                "name": "updateOverlays"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9437,
                "end": 9448,
                "loc": {
                  "start": {
                    "line": 217,
                    "column": 18
                  },
                  "end": {
                    "line": 219,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9440,
                  "end": 9448,
                  "loc": {
                    "start": {
                      "line": 217,
                      "column": 21
                    },
                    "end": {
                      "line": 219,
                      "column": 5
                    }
                  },
                  "body": []
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9454,
              "end": 9799,
              "loc": {
                "start": {
                  "line": 221,
                  "column": 4
                },
                "end": {
                  "line": 231,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9454,
                "end": 9466,
                "loc": {
                  "start": {
                    "line": 221,
                    "column": 4
                  },
                  "end": {
                    "line": 221,
                    "column": 16
                  }
                },
                "name": "updateScopes"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9466,
                "end": 9799,
                "loc": {
                  "start": {
                    "line": 221,
                    "column": 16
                  },
                  "end": {
                    "line": 231,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9469,
                  "end": 9799,
                  "loc": {
                    "start": {
                      "line": 221,
                      "column": 19
                    },
                    "end": {
                      "line": 231,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 9479,
                      "end": 9501,
                      "loc": {
                        "start": {
                          "line": 222,
                          "column": 8
                        },
                        "end": {
                          "line": 222,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9483,
                          "end": 9500,
                          "loc": {
                            "start": {
                              "line": 222,
                              "column": 12
                            },
                            "end": {
                              "line": 222,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9483,
                            "end": 9489,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 12
                              },
                              "end": {
                                "line": 222,
                                "column": 18
                              }
                            },
                            "name": "parent"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 9492,
                            "end": 9500,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 21
                              },
                              "end": {
                                "line": 222,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9492,
                              "end": 9496,
                              "loc": {
                                "start": {
                                  "line": 222,
                                  "column": 21
                                },
                                "end": {
                                  "line": 222,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9497,
                              "end": 9500,
                              "loc": {
                                "start": {
                                  "line": 222,
                                  "column": 26
                                },
                                "end": {
                                  "line": 222,
                                  "column": 29
                                }
                              },
                              "name": "dom"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "WhileStatement",
                      "start": 9510,
                      "end": 9793,
                      "loc": {
                        "start": {
                          "line": 223,
                          "column": 8
                        },
                        "end": {
                          "line": 230,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 9517,
                        "end": 9554,
                        "loc": {
                          "start": {
                            "line": 223,
                            "column": 15
                          },
                          "end": {
                            "line": 223,
                            "column": 52
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 9517,
                          "end": 9525,
                          "loc": {
                            "start": {
                              "line": 223,
                              "column": 15
                            },
                            "end": {
                              "line": 223,
                              "column": 23
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "UnaryExpression",
                            "start": 9518,
                            "end": 9525,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 16
                              },
                              "end": {
                                "line": 223,
                                "column": 23
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "Identifier",
                              "start": 9519,
                              "end": 9525,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 17
                                },
                                "end": {
                                  "line": 223,
                                  "column": 23
                                }
                              },
                              "name": "parent"
                            }
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 9529,
                          "end": 9554,
                          "loc": {
                            "start": {
                              "line": 223,
                              "column": 27
                            },
                            "end": {
                              "line": 223,
                              "column": 52
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 9529,
                            "end": 9535,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 27
                              },
                              "end": {
                                "line": 223,
                                "column": 33
                              }
                            },
                            "name": "parent"
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 9539,
                            "end": 9554,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 37
                              },
                              "end": {
                                "line": 223,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 9539,
                              "end": 9550,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 37
                                },
                                "end": {
                                  "line": 223,
                                  "column": 48
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9539,
                                "end": 9543,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 41
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9544,
                                "end": 9550,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 48
                                  }
                                },
                                "name": "canvas"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9551,
                              "end": 9554,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 49
                                },
                                "end": {
                                  "line": 223,
                                  "column": 52
                                }
                              },
                              "name": "dom"
                            },
                            "computed": false
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 9556,
                        "end": 9793,
                        "loc": {
                          "start": {
                            "line": 223,
                            "column": 54
                          },
                          "end": {
                            "line": 230,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 9570,
                            "end": 9613,
                            "loc": {
                              "start": {
                                "line": 224,
                                "column": 12
                              },
                              "end": {
                                "line": 224,
                                "column": 55
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 9574,
                                "end": 9612,
                                "loc": {
                                  "start": {
                                    "line": 224,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 224,
                                    "column": 54
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 9574,
                                  "end": 9579,
                                  "loc": {
                                    "start": {
                                      "line": 224,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 224,
                                      "column": 21
                                    }
                                  },
                                  "name": "scope"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 9582,
                                  "end": 9612,
                                  "loc": {
                                    "start": {
                                      "line": 224,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 224,
                                      "column": 54
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 9582,
                                    "end": 9604,
                                    "loc": {
                                      "start": {
                                        "line": 224,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 224,
                                        "column": 46
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 9582,
                                      "end": 9600,
                                      "loc": {
                                        "start": {
                                          "line": 224,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 224,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 9582,
                                        "end": 9593,
                                        "loc": {
                                          "start": {
                                            "line": 224,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 224,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9582,
                                          "end": 9586,
                                          "loc": {
                                            "start": {
                                              "line": 224,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 224,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9587,
                                          "end": 9593,
                                          "loc": {
                                            "start": {
                                              "line": 224,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 224,
                                              "column": 35
                                            }
                                          },
                                          "name": "canvas"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9594,
                                        "end": 9600,
                                        "loc": {
                                          "start": {
                                            "line": 224,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 224,
                                            "column": 42
                                          }
                                        },
                                        "name": "scopes"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9601,
                                      "end": 9604,
                                      "loc": {
                                        "start": {
                                          "line": 224,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 224,
                                          "column": 46
                                        }
                                      },
                                      "name": "get"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 9605,
                                      "end": 9611,
                                      "loc": {
                                        "start": {
                                          "line": 224,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 224,
                                          "column": 53
                                        }
                                      },
                                      "name": "parent"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "IfStatement",
                            "start": 9626,
                            "end": 9743,
                            "loc": {
                              "start": {
                                "line": 225,
                                "column": 12
                              },
                              "end": {
                                "line": 228,
                                "column": 55
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 9630,
                              "end": 9635,
                              "loc": {
                                "start": {
                                  "line": 225,
                                  "column": 16
                                },
                                "end": {
                                  "line": 225,
                                  "column": 21
                                }
                              },
                              "name": "scope"
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 9653,
                              "end": 9670,
                              "loc": {
                                "start": {
                                  "line": 226,
                                  "column": 16
                                },
                                "end": {
                                  "line": 226,
                                  "column": 33
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 9653,
                                "end": 9669,
                                "loc": {
                                  "start": {
                                    "line": 226,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 226,
                                    "column": 32
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9653,
                                  "end": 9663,
                                  "loc": {
                                    "start": {
                                      "line": 226,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 226,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9653,
                                    "end": 9658,
                                    "loc": {
                                      "start": {
                                        "line": 226,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 226,
                                        "column": 21
                                      }
                                    },
                                    "name": "scope"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9659,
                                    "end": 9663,
                                    "loc": {
                                      "start": {
                                        "line": 226,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 226,
                                        "column": 26
                                      }
                                    },
                                    "name": "push"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 9664,
                                    "end": 9668,
                                    "loc": {
                                      "start": {
                                        "line": 226,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 226,
                                        "column": 31
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "alternate": {
                              "type": "ExpressionStatement",
                              "start": 9704,
                              "end": 9743,
                              "loc": {
                                "start": {
                                  "line": 228,
                                  "column": 16
                                },
                                "end": {
                                  "line": 228,
                                  "column": 55
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 9704,
                                "end": 9742,
                                "loc": {
                                  "start": {
                                    "line": 228,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 228,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9704,
                                  "end": 9726,
                                  "loc": {
                                    "start": {
                                      "line": 228,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 228,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9704,
                                    "end": 9722,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 9704,
                                      "end": 9715,
                                      "loc": {
                                        "start": {
                                          "line": 228,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 228,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9704,
                                        "end": 9708,
                                        "loc": {
                                          "start": {
                                            "line": 228,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 228,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9709,
                                        "end": 9715,
                                        "loc": {
                                          "start": {
                                            "line": 228,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 228,
                                            "column": 27
                                          }
                                        },
                                        "name": "canvas"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9716,
                                      "end": 9722,
                                      "loc": {
                                        "start": {
                                          "line": 228,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 228,
                                          "column": 34
                                        }
                                      },
                                      "name": "scopes"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9723,
                                    "end": 9726,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 38
                                      }
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 9727,
                                    "end": 9733,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 45
                                      }
                                    },
                                    "name": "parent"
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 9735,
                                    "end": 9741,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 53
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "ThisExpression",
                                        "start": 9736,
                                        "end": 9740,
                                        "loc": {
                                          "start": {
                                            "line": 228,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 228,
                                            "column": 52
                                          }
                                        }
                                      }
                                    ]
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9756,
                            "end": 9783,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 12
                              },
                              "end": {
                                "line": 229,
                                "column": 39
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 9756,
                              "end": 9782,
                              "loc": {
                                "start": {
                                  "line": 229,
                                  "column": 12
                                },
                                "end": {
                                  "line": 229,
                                  "column": 38
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 9756,
                                "end": 9762,
                                "loc": {
                                  "start": {
                                    "line": 229,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 229,
                                    "column": 18
                                  }
                                },
                                "name": "parent"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 9765,
                                "end": 9782,
                                "loc": {
                                  "start": {
                                    "line": 229,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 229,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9765,
                                  "end": 9771,
                                  "loc": {
                                    "start": {
                                      "line": 229,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 229,
                                      "column": 27
                                    }
                                  },
                                  "name": "parent"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9772,
                                  "end": 9782,
                                  "loc": {
                                    "start": {
                                      "line": 229,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 229,
                                      "column": 38
                                    }
                                  },
                                  "name": "parentNode"
                                },
                                "computed": false
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9805,
              "end": 11124,
              "loc": {
                "start": {
                  "line": 233,
                  "column": 4
                },
                "end": {
                  "line": 265,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9805,
                "end": 9810,
                "loc": {
                  "start": {
                    "line": 233,
                    "column": 4
                  },
                  "end": {
                    "line": 233,
                    "column": 9
                  }
                },
                "name": "clear"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9810,
                "end": 11124,
                "loc": {
                  "start": {
                    "line": 233,
                    "column": 9
                  },
                  "end": {
                    "line": 265,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9811,
                    "end": 9815,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 10
                      },
                      "end": {
                        "line": 233,
                        "column": 14
                      }
                    },
                    "name": "time"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9817,
                  "end": 11124,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 16
                    },
                    "end": {
                      "line": 265,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 9891,
                      "end": 9948,
                      "loc": {
                        "start": {
                          "line": 235,
                          "column": 8
                        },
                        "end": {
                          "line": 235,
                          "column": 65
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9891,
                        "end": 9947,
                        "loc": {
                          "start": {
                            "line": 235,
                            "column": 8
                          },
                          "end": {
                            "line": 235,
                            "column": 64
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 9891,
                          "end": 9901,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 8
                            },
                            "end": {
                              "line": 235,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 9891,
                            "end": 9895,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 8
                              },
                              "end": {
                                "line": 235,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9896,
                            "end": 9901,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 13
                              },
                              "end": {
                                "line": 235,
                                "column": 18
                              }
                            },
                            "name": "dirty"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 9904,
                          "end": 9947,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 21
                            },
                            "end": {
                              "line": 235,
                              "column": 64
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 9904,
                            "end": 9929,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 21
                              },
                              "end": {
                                "line": 235,
                                "column": 46
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 9904,
                              "end": 9925,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 21
                                },
                                "end": {
                                  "line": 235,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9904,
                                "end": 9908,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 25
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9909,
                                "end": 9925,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 42
                                  }
                                },
                                "name": "invalidateFrames"
                              },
                              "computed": false
                            },
                            "operator": ">",
                            "right": {
                              "type": "Literal",
                              "start": 9928,
                              "end": 9929,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 45
                                },
                                "end": {
                                  "line": 235,
                                  "column": 46
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          },
                          "operator": "&&",
                          "right": {
                            "type": "CallExpression",
                            "start": 9933,
                            "end": 9947,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 50
                              },
                              "end": {
                                "line": 235,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9933,
                              "end": 9945,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 50
                                },
                                "end": {
                                  "line": 235,
                                  "column": 62
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9933,
                                "end": 9937,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 54
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9938,
                                "end": 9945,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 62
                                  }
                                },
                                "name": "measure"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Measure and check if dirty (size & position changed)",
                          "start": 9827,
                          "end": 9882,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 8
                            },
                            "end": {
                              "line": 234,
                              "column": 63
                            }
                          },
                          "range": [
                            9827,
                            9882
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 9957,
                      "end": 11000,
                      "loc": {
                        "start": {
                          "line": 236,
                          "column": 8
                        },
                        "end": {
                          "line": 259,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 9961,
                        "end": 9973,
                        "loc": {
                          "start": {
                            "line": 236,
                            "column": 12
                          },
                          "end": {
                            "line": 236,
                            "column": 24
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 9961,
                          "end": 9965,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 12
                            },
                            "end": {
                              "line": 236,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 9966,
                          "end": 9973,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 17
                            },
                            "end": {
                              "line": 236,
                              "column": 24
                            }
                          },
                          "name": "visible"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 9975,
                        "end": 11000,
                        "loc": {
                          "start": {
                            "line": 236,
                            "column": 26
                          },
                          "end": {
                            "line": 259,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 10025,
                            "end": 10045,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 12
                              },
                              "end": {
                                "line": 238,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 10025,
                              "end": 10044,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 12
                                },
                                "end": {
                                  "line": 238,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 10025,
                                "end": 10042,
                                "loc": {
                                  "start": {
                                    "line": 238,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 238,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10025,
                                  "end": 10035,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 22
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10025,
                                    "end": 10029,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10030,
                                    "end": 10035,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 22
                                      }
                                    },
                                    "name": "input"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10036,
                                  "end": 10042,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 29
                                    }
                                  },
                                  "name": "update"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Call event scheduler",
                                "start": 9989,
                                "end": 10012,
                                "loc": {
                                  "start": {
                                    "line": 237,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 237,
                                    "column": 35
                                  }
                                },
                                "range": [
                                  9989,
                                  10012
                                ]
                              }
                            ],
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Update controls",
                                "start": 10058,
                                "end": 10076,
                                "loc": {
                                  "start": {
                                    "line": 239,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 239,
                                    "column": 30
                                  }
                                },
                                "range": [
                                  10058,
                                  10076
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 10089,
                            "end": 10116,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 12
                              },
                              "end": {
                                "line": 240,
                                "column": 39
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 10089,
                              "end": 10115,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 12
                                },
                                "end": {
                                  "line": 240,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 10089,
                                "end": 10109,
                                "loc": {
                                  "start": {
                                    "line": 240,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 240,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10089,
                                  "end": 10102,
                                  "loc": {
                                    "start": {
                                      "line": 240,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 240,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10089,
                                    "end": 10093,
                                    "loc": {
                                      "start": {
                                        "line": 240,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 240,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10094,
                                    "end": 10102,
                                    "loc": {
                                      "start": {
                                        "line": 240,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 240,
                                        "column": 25
                                      }
                                    },
                                    "name": "controls"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10103,
                                  "end": 10109,
                                  "loc": {
                                    "start": {
                                      "line": 240,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 240,
                                      "column": 32
                                    }
                                  },
                                  "name": "update"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 10110,
                                  "end": 10114,
                                  "loc": {
                                    "start": {
                                      "line": 240,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 240,
                                      "column": 37
                                    }
                                  },
                                  "name": "time"
                                }
                              ],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Update controls",
                                "start": 10058,
                                "end": 10076,
                                "loc": {
                                  "start": {
                                    "line": 239,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 239,
                                    "column": 30
                                  }
                                },
                                "range": [
                                  10058,
                                  10076
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 10129,
                            "end": 10228,
                            "loc": {
                              "start": {
                                "line": 241,
                                "column": 12
                              },
                              "end": {
                                "line": 241,
                                "column": 111
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 10129,
                              "end": 10227,
                              "loc": {
                                "start": {
                                  "line": 241,
                                  "column": 12
                                },
                                "end": {
                                  "line": 241,
                                  "column": 110
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 10129,
                                "end": 10194,
                                "loc": {
                                  "start": {
                                    "line": 241,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 241,
                                    "column": 77
                                  }
                                },
                                "left": {
                                  "type": "LogicalExpression",
                                  "start": 10129,
                                  "end": 10157,
                                  "loc": {
                                    "start": {
                                      "line": 241,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 241,
                                      "column": 40
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 10129,
                                    "end": 10137,
                                    "loc": {
                                      "start": {
                                        "line": 241,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 241,
                                        "column": 20
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10129,
                                      "end": 10133,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10134,
                                      "end": 10137,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 20
                                        }
                                      },
                                      "name": "hud"
                                    },
                                    "computed": false
                                  },
                                  "operator": "&&",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 10141,
                                    "end": 10157,
                                    "loc": {
                                      "start": {
                                        "line": 241,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 241,
                                        "column": 40
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10141,
                                      "end": 10145,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10146,
                                      "end": 10157,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 40
                                        }
                                      },
                                      "name": "controlsHud"
                                    },
                                    "computed": false
                                  }
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 10161,
                                  "end": 10194,
                                  "loc": {
                                    "start": {
                                      "line": 241,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 241,
                                      "column": 77
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 10161,
                                    "end": 10177,
                                    "loc": {
                                      "start": {
                                        "line": 241,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 241,
                                        "column": 60
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10161,
                                      "end": 10165,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 48
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10166,
                                      "end": 10177,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 60
                                        }
                                      },
                                      "name": "controlsHud"
                                    },
                                    "computed": false
                                  },
                                  "operator": "!=",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 10181,
                                    "end": 10194,
                                    "loc": {
                                      "start": {
                                        "line": 241,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 241,
                                        "column": 77
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10181,
                                      "end": 10185,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 68
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10186,
                                      "end": 10194,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 77
                                        }
                                      },
                                      "name": "controls"
                                    },
                                    "computed": false
                                  }
                                }
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 10198,
                                "end": 10227,
                                "loc": {
                                  "start": {
                                    "line": 241,
                                    "column": 81
                                  },
                                  "end": {
                                    "line": 241,
                                    "column": 110
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10198,
                                  "end": 10221,
                                  "loc": {
                                    "start": {
                                      "line": 241,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 241,
                                      "column": 104
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10198,
                                    "end": 10214,
                                    "loc": {
                                      "start": {
                                        "line": 241,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 241,
                                        "column": 97
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10198,
                                      "end": 10202,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 85
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10203,
                                      "end": 10214,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 86
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 97
                                        }
                                      },
                                      "name": "controlsHud"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10215,
                                    "end": 10221,
                                    "loc": {
                                      "start": {
                                        "line": 241,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 241,
                                        "column": 104
                                      }
                                    },
                                    "name": "update"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 10222,
                                    "end": 10226,
                                    "loc": {
                                      "start": {
                                        "line": 241,
                                        "column": 105
                                      },
                                      "end": {
                                        "line": 241,
                                        "column": 109
                                      }
                                    },
                                    "name": "time"
                                  }
                                ]
                              }
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Update interaction",
                                "start": 10241,
                                "end": 10262,
                                "loc": {
                                  "start": {
                                    "line": 242,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 242,
                                    "column": 33
                                  }
                                },
                                "range": [
                                  10241,
                                  10262
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 10275,
                            "end": 10301,
                            "loc": {
                              "start": {
                                "line": 243,
                                "column": 12
                              },
                              "end": {
                                "line": 243,
                                "column": 38
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 10275,
                              "end": 10300,
                              "loc": {
                                "start": {
                                  "line": 243,
                                  "column": 12
                                },
                                "end": {
                                  "line": 243,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 10275,
                                "end": 10298,
                                "loc": {
                                  "start": {
                                    "line": 243,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 243,
                                    "column": 35
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10275,
                                  "end": 10291,
                                  "loc": {
                                    "start": {
                                      "line": 243,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 243,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10275,
                                    "end": 10279,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10280,
                                    "end": 10291,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 28
                                      }
                                    },
                                    "name": "interaction"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10292,
                                  "end": 10298,
                                  "loc": {
                                    "start": {
                                      "line": 243,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 243,
                                      "column": 35
                                    }
                                  },
                                  "name": "update"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Update interaction",
                                "start": 10241,
                                "end": 10262,
                                "loc": {
                                  "start": {
                                    "line": 242,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 242,
                                    "column": 33
                                  }
                                },
                                "range": [
                                  10241,
                                  10262
                                ]
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 10315,
                            "end": 10990,
                            "loc": {
                              "start": {
                                "line": 245,
                                "column": 12
                              },
                              "end": {
                                "line": 258,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 10319,
                              "end": 10453,
                              "loc": {
                                "start": {
                                  "line": 245,
                                  "column": 16
                                },
                                "end": {
                                  "line": 248,
                                  "column": 41
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 10319,
                                "end": 10408,
                                "loc": {
                                  "start": {
                                    "line": 245,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 247,
                                    "column": 38
                                  }
                                },
                                "left": {
                                  "type": "LogicalExpression",
                                  "start": 10319,
                                  "end": 10366,
                                  "loc": {
                                    "start": {
                                      "line": 245,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 246,
                                      "column": 33
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 10319,
                                    "end": 10329,
                                    "loc": {
                                      "start": {
                                        "line": 245,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 245,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10319,
                                      "end": 10323,
                                      "loc": {
                                        "start": {
                                          "line": 245,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 245,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10324,
                                      "end": 10329,
                                      "loc": {
                                        "start": {
                                          "line": 245,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 245,
                                          "column": 26
                                        }
                                      },
                                      "name": "dirty"
                                    },
                                    "computed": false
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 10349,
                                    "end": 10366,
                                    "loc": {
                                      "start": {
                                        "line": 246,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 246,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10349,
                                      "end": 10353,
                                      "loc": {
                                        "start": {
                                          "line": 246,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 246,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10354,
                                      "end": 10366,
                                      "loc": {
                                        "start": {
                                          "line": 246,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 246,
                                          "column": 33
                                        }
                                      },
                                      "name": "renderAlways"
                                    },
                                    "computed": false
                                  }
                                },
                                "operator": "||",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 10386,
                                  "end": 10408,
                                  "loc": {
                                    "start": {
                                      "line": 247,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 247,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10386,
                                    "end": 10399,
                                    "loc": {
                                      "start": {
                                        "line": 247,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 247,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10386,
                                      "end": 10390,
                                      "loc": {
                                        "start": {
                                          "line": 247,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 247,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10391,
                                      "end": 10399,
                                      "loc": {
                                        "start": {
                                          "line": 247,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 247,
                                          "column": 29
                                        }
                                      },
                                      "name": "controls"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10400,
                                    "end": 10408,
                                    "loc": {
                                      "start": {
                                        "line": 247,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 247,
                                        "column": 38
                                      }
                                    },
                                    "name": "inMotion"
                                  },
                                  "computed": false
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "MemberExpression",
                                "start": 10428,
                                "end": 10453,
                                "loc": {
                                  "start": {
                                    "line": 248,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 248,
                                    "column": 41
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10428,
                                  "end": 10444,
                                  "loc": {
                                    "start": {
                                      "line": 248,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 248,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10428,
                                    "end": 10432,
                                    "loc": {
                                      "start": {
                                        "line": 248,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 248,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10433,
                                    "end": 10444,
                                    "loc": {
                                      "start": {
                                        "line": 248,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 248,
                                        "column": 32
                                      }
                                    },
                                    "name": "controlsHud"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10445,
                                  "end": 10453,
                                  "loc": {
                                    "start": {
                                      "line": 248,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 248,
                                      "column": 41
                                    }
                                  },
                                  "name": "inMotion"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 10455,
                              "end": 10990,
                              "loc": {
                                "start": {
                                  "line": 248,
                                  "column": 43
                                },
                                "end": {
                                  "line": 258,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 10563,
                                  "end": 10976,
                                  "loc": {
                                    "start": {
                                      "line": 251,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 257,
                                      "column": 17
                                    }
                                  },
                                  "test": {
                                    "type": "MemberExpression",
                                    "start": 10567,
                                    "end": 10577,
                                    "loc": {
                                      "start": {
                                        "line": 251,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 251,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10567,
                                      "end": 10571,
                                      "loc": {
                                        "start": {
                                          "line": 251,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 251,
                                          "column": 24
                                        }
                                      },
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10572,
                                      "end": 10577,
                                      "loc": {
                                        "start": {
                                          "line": 251,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 251,
                                          "column": 30
                                        }
                                      },
                                      "name": "dirty"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 10579,
                                    "end": 10976,
                                    "loc": {
                                      "start": {
                                        "line": 251,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 257,
                                        "column": 17
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10601,
                                        "end": 10628,
                                        "loc": {
                                          "start": {
                                            "line": 252,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 252,
                                            "column": 47
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 10601,
                                          "end": 10627,
                                          "loc": {
                                            "start": {
                                              "line": 252,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 252,
                                              "column": 46
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 10601,
                                            "end": 10620,
                                            "loc": {
                                              "start": {
                                                "line": 252,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 252,
                                                "column": 39
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10601,
                                              "end": 10614,
                                              "loc": {
                                                "start": {
                                                  "line": 252,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 252,
                                                  "column": 33
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 10601,
                                                "end": 10605,
                                                "loc": {
                                                  "start": {
                                                    "line": 252,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 252,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10606,
                                                "end": 10614,
                                                "loc": {
                                                  "start": {
                                                    "line": 252,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 252,
                                                    "column": 33
                                                  }
                                                },
                                                "name": "renderer"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10615,
                                              "end": 10620,
                                              "loc": {
                                                "start": {
                                                  "line": 252,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 252,
                                                  "column": 39
                                                }
                                              },
                                              "name": "dirty"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 10623,
                                            "end": 10627,
                                            "loc": {
                                              "start": {
                                                "line": 252,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 252,
                                                "column": 46
                                              }
                                            },
                                            "value": true,
                                            "rawValue": true,
                                            "raw": "true"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10649,
                                        "end": 10730,
                                        "loc": {
                                          "start": {
                                            "line": 253,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 253,
                                            "column": 101
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10649,
                                          "end": 10729,
                                          "loc": {
                                            "start": {
                                              "line": 253,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 253,
                                              "column": 100
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10649,
                                            "end": 10677,
                                            "loc": {
                                              "start": {
                                                "line": 253,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 253,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10649,
                                              "end": 10665,
                                              "loc": {
                                                "start": {
                                                  "line": 253,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 253,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10649,
                                                "end": 10662,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10649,
                                                  "end": 10653,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10654,
                                                  "end": 10662,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10663,
                                                "end": 10665,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "gl"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10666,
                                              "end": 10677,
                                              "loc": {
                                                "start": {
                                                  "line": 253,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 253,
                                                  "column": 48
                                                }
                                              },
                                              "name": "setViewport"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 10678,
                                              "end": 10689,
                                              "loc": {
                                                "start": {
                                                  "line": 253,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 253,
                                                  "column": 60
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10678,
                                                "end": 10686,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 57
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10678,
                                                  "end": 10682,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 49
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 53
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10683,
                                                  "end": 10686,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 57
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10687,
                                                "end": 10688,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 59
                                                  }
                                                },
                                                "value": 0,
                                                "rawValue": 0,
                                                "raw": "0"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10691,
                                              "end": 10702,
                                              "loc": {
                                                "start": {
                                                  "line": 253,
                                                  "column": 62
                                                },
                                                "end": {
                                                  "line": 253,
                                                  "column": 73
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10691,
                                                "end": 10699,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 62
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 70
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10691,
                                                  "end": 10695,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 62
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 66
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10696,
                                                  "end": 10699,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 67
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 70
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10700,
                                                "end": 10701,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 71
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 72
                                                  }
                                                },
                                                "value": 1,
                                                "rawValue": 1,
                                                "raw": "1"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10704,
                                              "end": 10715,
                                              "loc": {
                                                "start": {
                                                  "line": 253,
                                                  "column": 75
                                                },
                                                "end": {
                                                  "line": 253,
                                                  "column": 86
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10704,
                                                "end": 10712,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 75
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 83
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10704,
                                                  "end": 10708,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 75
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 79
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10709,
                                                  "end": 10712,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 80
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 83
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10713,
                                                "end": 10714,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 84
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 85
                                                  }
                                                },
                                                "value": 2,
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10717,
                                              "end": 10728,
                                              "loc": {
                                                "start": {
                                                  "line": 253,
                                                  "column": 88
                                                },
                                                "end": {
                                                  "line": 253,
                                                  "column": 99
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10717,
                                                "end": 10725,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 88
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 96
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10717,
                                                  "end": 10721,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 88
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 92
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10722,
                                                  "end": 10725,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 93
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 96
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10726,
                                                "end": 10727,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 97
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 98
                                                  }
                                                },
                                                "value": 3,
                                                "rawValue": 3,
                                                "raw": "3"
                                              },
                                              "computed": true
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10751,
                                        "end": 10831,
                                        "loc": {
                                          "start": {
                                            "line": 254,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 254,
                                            "column": 100
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10751,
                                          "end": 10830,
                                          "loc": {
                                            "start": {
                                              "line": 254,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 254,
                                              "column": 99
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10751,
                                            "end": 10778,
                                            "loc": {
                                              "start": {
                                                "line": 254,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 254,
                                                "column": 47
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10751,
                                              "end": 10767,
                                              "loc": {
                                                "start": {
                                                  "line": 254,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 254,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10751,
                                                "end": 10764,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10751,
                                                  "end": 10755,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10756,
                                                  "end": 10764,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10765,
                                                "end": 10767,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "gl"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10768,
                                              "end": 10778,
                                              "loc": {
                                                "start": {
                                                  "line": 254,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 254,
                                                  "column": 47
                                                }
                                              },
                                              "name": "setScissor"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 10779,
                                              "end": 10790,
                                              "loc": {
                                                "start": {
                                                  "line": 254,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 254,
                                                  "column": 59
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10779,
                                                "end": 10787,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 56
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10779,
                                                  "end": 10783,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 52
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10784,
                                                  "end": 10787,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 56
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10788,
                                                "end": 10789,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 57
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 58
                                                  }
                                                },
                                                "value": 0,
                                                "rawValue": 0,
                                                "raw": "0"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10792,
                                              "end": 10803,
                                              "loc": {
                                                "start": {
                                                  "line": 254,
                                                  "column": 61
                                                },
                                                "end": {
                                                  "line": 254,
                                                  "column": 72
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10792,
                                                "end": 10800,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 61
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 69
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10792,
                                                  "end": 10796,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 61
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 65
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10797,
                                                  "end": 10800,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 66
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 69
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10801,
                                                "end": 10802,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 70
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 71
                                                  }
                                                },
                                                "value": 1,
                                                "rawValue": 1,
                                                "raw": "1"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10805,
                                              "end": 10816,
                                              "loc": {
                                                "start": {
                                                  "line": 254,
                                                  "column": 74
                                                },
                                                "end": {
                                                  "line": 254,
                                                  "column": 85
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10805,
                                                "end": 10813,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 74
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 82
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10805,
                                                  "end": 10809,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 74
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 78
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10810,
                                                  "end": 10813,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 79
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 82
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10814,
                                                "end": 10815,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 83
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 84
                                                  }
                                                },
                                                "value": 2,
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10818,
                                              "end": 10829,
                                              "loc": {
                                                "start": {
                                                  "line": 254,
                                                  "column": 87
                                                },
                                                "end": {
                                                  "line": 254,
                                                  "column": 98
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10818,
                                                "end": 10826,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 87
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 95
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10818,
                                                  "end": 10822,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 87
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 91
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10823,
                                                  "end": 10826,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 92
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 95
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10827,
                                                "end": 10828,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 96
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 97
                                                  }
                                                },
                                                "value": 3,
                                                "rawValue": 3,
                                                "raw": "3"
                                              },
                                              "computed": true
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10852,
                                        "end": 10912,
                                        "loc": {
                                          "start": {
                                            "line": 255,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 255,
                                            "column": 80
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10852,
                                          "end": 10911,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 79
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10852,
                                            "end": 10882,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 50
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10852,
                                              "end": 10868,
                                              "loc": {
                                                "start": {
                                                  "line": 255,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 255,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10852,
                                                "end": 10865,
                                                "loc": {
                                                  "start": {
                                                    "line": 255,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 255,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10852,
                                                  "end": 10856,
                                                  "loc": {
                                                    "start": {
                                                      "line": 255,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 255,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10857,
                                                  "end": 10865,
                                                  "loc": {
                                                    "start": {
                                                      "line": 255,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 255,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10866,
                                                "end": 10868,
                                                "loc": {
                                                  "start": {
                                                    "line": 255,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 255,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "gl"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10869,
                                              "end": 10882,
                                              "loc": {
                                                "start": {
                                                  "line": 255,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 255,
                                                  "column": 50
                                                }
                                              },
                                              "name": "setClearColor"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 10883,
                                              "end": 10907,
                                              "loc": {
                                                "start": {
                                                  "line": 255,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 255,
                                                  "column": 75
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10883,
                                                "end": 10896,
                                                "loc": {
                                                  "start": {
                                                    "line": 255,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 255,
                                                    "column": 64
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10883,
                                                  "end": 10887,
                                                  "loc": {
                                                    "start": {
                                                      "line": 255,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 255,
                                                      "column": 55
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10888,
                                                  "end": 10896,
                                                  "loc": {
                                                    "start": {
                                                      "line": 255,
                                                      "column": 56
                                                    },
                                                    "end": {
                                                      "line": 255,
                                                      "column": 64
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10897,
                                                "end": 10907,
                                                "loc": {
                                                  "start": {
                                                    "line": 255,
                                                    "column": 65
                                                  },
                                                  "end": {
                                                    "line": 255,
                                                    "column": 75
                                                  }
                                                },
                                                "name": "clearColor"
                                              },
                                              "computed": false
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 10909,
                                              "end": 10910,
                                              "loc": {
                                                "start": {
                                                  "line": 255,
                                                  "column": 77
                                                },
                                                "end": {
                                                  "line": 255,
                                                  "column": 78
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10933,
                                        "end": 10958,
                                        "loc": {
                                          "start": {
                                            "line": 256,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 256,
                                            "column": 45
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10933,
                                          "end": 10957,
                                          "loc": {
                                            "start": {
                                              "line": 256,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 256,
                                              "column": 44
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10933,
                                            "end": 10955,
                                            "loc": {
                                              "start": {
                                                "line": 256,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 256,
                                                "column": 42
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10933,
                                              "end": 10949,
                                              "loc": {
                                                "start": {
                                                  "line": 256,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 256,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10933,
                                                "end": 10946,
                                                "loc": {
                                                  "start": {
                                                    "line": 256,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 256,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10933,
                                                  "end": 10937,
                                                  "loc": {
                                                    "start": {
                                                      "line": 256,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 256,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10938,
                                                  "end": 10946,
                                                  "loc": {
                                                    "start": {
                                                      "line": 256,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 256,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10947,
                                                "end": 10949,
                                                "loc": {
                                                  "start": {
                                                    "line": 256,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 256,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "gl"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10950,
                                              "end": 10955,
                                              "loc": {
                                                "start": {
                                                  "line": 256,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 256,
                                                  "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": 10474,
                                      "end": 10546,
                                      "loc": {
                                        "start": {
                                          "line": 250,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 250,
                                          "column": 88
                                        }
                                      },
                                      "range": [
                                        10474,
                                        10546
                                      ]
                                    }
                                  ]
                                }
                              ]
                            },
                            "alternate": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Remove frames",
                          "start": 11010,
                          "end": 11026,
                          "loc": {
                            "start": {
                              "line": 261,
                              "column": 8
                            },
                            "end": {
                              "line": 261,
                              "column": 24
                            }
                          },
                          "range": [
                            11010,
                            11026
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 11035,
                      "end": 11090,
                      "loc": {
                        "start": {
                          "line": 262,
                          "column": 8
                        },
                        "end": {
                          "line": 262,
                          "column": 63
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 11039,
                        "end": 11064,
                        "loc": {
                          "start": {
                            "line": 262,
                            "column": 12
                          },
                          "end": {
                            "line": 262,
                            "column": 37
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 11039,
                          "end": 11060,
                          "loc": {
                            "start": {
                              "line": 262,
                              "column": 12
                            },
                            "end": {
                              "line": 262,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11039,
                            "end": 11043,
                            "loc": {
                              "start": {
                                "line": 262,
                                "column": 12
                              },
                              "end": {
                                "line": 262,
                                "column": 16
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11044,
                            "end": 11060,
                            "loc": {
                              "start": {
                                "line": 262,
                                "column": 17
                              },
                              "end": {
                                "line": 262,
                                "column": 33
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 11063,
                          "end": 11064,
                          "loc": {
                            "start": {
                              "line": 262,
                              "column": 36
                            },
                            "end": {
                              "line": 262,
                              "column": 37
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 11066,
                        "end": 11090,
                        "loc": {
                          "start": {
                            "line": 262,
                            "column": 39
                          },
                          "end": {
                            "line": 262,
                            "column": 63
                          }
                        },
                        "expression": {
                          "type": "UpdateExpression",
                          "start": 11066,
                          "end": 11089,
                          "loc": {
                            "start": {
                              "line": 262,
                              "column": 39
                            },
                            "end": {
                              "line": 262,
                              "column": 62
                            }
                          },
                          "operator": "--",
                          "prefix": false,
                          "argument": {
                            "type": "MemberExpression",
                            "start": 11066,
                            "end": 11087,
                            "loc": {
                              "start": {
                                "line": 262,
                                "column": 39
                              },
                              "end": {
                                "line": 262,
                                "column": 60
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11066,
                              "end": 11070,
                              "loc": {
                                "start": {
                                  "line": 262,
                                  "column": 39
                                },
                                "end": {
                                  "line": 262,
                                  "column": 43
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11071,
                              "end": 11087,
                              "loc": {
                                "start": {
                                  "line": 262,
                                  "column": 44
                                },
                                "end": {
                                  "line": 262,
                                  "column": 60
                                }
                              },
                              "name": "invalidateFrames"
                            },
                            "computed": false
                          }
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Remove frames",
                          "start": 11010,
                          "end": 11026,
                          "loc": {
                            "start": {
                              "line": 261,
                              "column": 8
                            },
                            "end": {
                              "line": 261,
                              "column": 24
                            }
                          },
                          "range": [
                            11010,
                            11026
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 11100,
                      "end": 11118,
                      "loc": {
                        "start": {
                          "line": 264,
                          "column": 8
                        },
                        "end": {
                          "line": 264,
                          "column": 26
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 11107,
                        "end": 11117,
                        "loc": {
                          "start": {
                            "line": 264,
                            "column": 15
                          },
                          "end": {
                            "line": 264,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 11107,
                          "end": 11111,
                          "loc": {
                            "start": {
                              "line": 264,
                              "column": 15
                            },
                            "end": {
                              "line": 264,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 11112,
                          "end": 11117,
                          "loc": {
                            "start": {
                              "line": 264,
                              "column": 20
                            },
                            "end": {
                              "line": 264,
                              "column": 25
                            }
                          },
                          "name": "dirty"
                        },
                        "computed": false
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11130,
              "end": 12161,
              "loc": {
                "start": {
                  "line": 267,
                  "column": 4
                },
                "end": {
                  "line": 294,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11130,
                "end": 11136,
                "loc": {
                  "start": {
                    "line": 267,
                    "column": 4
                  },
                  "end": {
                    "line": 267,
                    "column": 10
                  }
                },
                "name": "render"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11136,
                "end": 12161,
                "loc": {
                  "start": {
                    "line": 267,
                    "column": 10
                  },
                  "end": {
                    "line": 294,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 11137,
                    "end": 11141,
                    "loc": {
                      "start": {
                        "line": 267,
                        "column": 11
                      },
                      "end": {
                        "line": 267,
                        "column": 15
                      }
                    },
                    "name": "time"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11143,
                  "end": 12161,
                  "loc": {
                    "start": {
                      "line": 267,
                      "column": 17
                    },
                    "end": {
                      "line": 294,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 11153,
                      "end": 12155,
                      "loc": {
                        "start": {
                          "line": 268,
                          "column": 8
                        },
                        "end": {
                          "line": 293,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 11157,
                        "end": 11335,
                        "loc": {
                          "start": {
                            "line": 268,
                            "column": 12
                          },
                          "end": {
                            "line": 273,
                            "column": 22
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 11157,
                          "end": 11309,
                          "loc": {
                            "start": {
                              "line": 268,
                              "column": 12
                            },
                            "end": {
                              "line": 272,
                              "column": 37
                            }
                          },
                          "left": {
                            "type": "LogicalExpression",
                            "start": 11157,
                            "end": 11268,
                            "loc": {
                              "start": {
                                "line": 268,
                                "column": 12
                              },
                              "end": {
                                "line": 271,
                                "column": 34
                              }
                            },
                            "left": {
                              "type": "LogicalExpression",
                              "start": 11157,
                              "end": 11230,
                              "loc": {
                                "start": {
                                  "line": 268,
                                  "column": 12
                                },
                                "end": {
                                  "line": 270,
                                  "column": 29
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 11157,
                                "end": 11197,
                                "loc": {
                                  "start": {
                                    "line": 268,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 269,
                                    "column": 22
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 11157,
                                  "end": 11171,
                                  "loc": {
                                    "start": {
                                      "line": 268,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 268,
                                      "column": 26
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 11157,
                                    "end": 11167,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 22
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11157,
                                      "end": 11161,
                                      "loc": {
                                        "start": {
                                          "line": 268,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 268,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11162,
                                      "end": 11167,
                                      "loc": {
                                        "start": {
                                          "line": 268,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 268,
                                          "column": 22
                                        }
                                      },
                                      "name": "force"
                                    },
                                    "computed": false
                                  },
                                  "operator": ">",
                                  "right": {
                                    "type": "Literal",
                                    "start": 11170,
                                    "end": 11171,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 26
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                },
                                "operator": "||",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 11187,
                                  "end": 11197,
                                  "loc": {
                                    "start": {
                                      "line": 269,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 269,
                                      "column": 22
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11187,
                                    "end": 11191,
                                    "loc": {
                                      "start": {
                                        "line": 269,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 269,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11192,
                                    "end": 11197,
                                    "loc": {
                                      "start": {
                                        "line": 269,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 269,
                                        "column": 22
                                      }
                                    },
                                    "name": "dirty"
                                  },
                                  "computed": false
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "MemberExpression",
                                "start": 11213,
                                "end": 11230,
                                "loc": {
                                  "start": {
                                    "line": 270,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 270,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11213,
                                  "end": 11217,
                                  "loc": {
                                    "start": {
                                      "line": 270,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 270,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11218,
                                  "end": 11230,
                                  "loc": {
                                    "start": {
                                      "line": 270,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 270,
                                      "column": 29
                                    }
                                  },
                                  "name": "renderAlways"
                                },
                                "computed": false
                              }
                            },
                            "operator": "||",
                            "right": {
                              "type": "MemberExpression",
                              "start": 11246,
                              "end": 11268,
                              "loc": {
                                "start": {
                                  "line": 271,
                                  "column": 12
                                },
                                "end": {
                                  "line": 271,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 11246,
                                "end": 11259,
                                "loc": {
                                  "start": {
                                    "line": 271,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 271,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11246,
                                  "end": 11250,
                                  "loc": {
                                    "start": {
                                      "line": 271,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 271,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11251,
                                  "end": 11259,
                                  "loc": {
                                    "start": {
                                      "line": 271,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 271,
                                      "column": 25
                                    }
                                  },
                                  "name": "controls"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11260,
                                "end": 11268,
                                "loc": {
                                  "start": {
                                    "line": 271,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 271,
                                    "column": 34
                                  }
                                },
                                "name": "inMotion"
                              },
                              "computed": false
                            }
                          },
                          "operator": "||",
                          "right": {
                            "type": "MemberExpression",
                            "start": 11284,
                            "end": 11309,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 12
                              },
                              "end": {
                                "line": 272,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 11284,
                              "end": 11300,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 12
                                },
                                "end": {
                                  "line": 272,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 11284,
                                "end": 11288,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11289,
                                "end": 11300,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 28
                                  }
                                },
                                "name": "controlsHud"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11301,
                              "end": 11309,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 29
                                },
                                "end": {
                                  "line": 272,
                                  "column": 37
                                }
                              },
                              "name": "inMotion"
                            },
                            "computed": false
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "MemberExpression",
                          "start": 11325,
                          "end": 11335,
                          "loc": {
                            "start": {
                              "line": 273,
                              "column": 12
                            },
                            "end": {
                              "line": 273,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11325,
                            "end": 11329,
                            "loc": {
                              "start": {
                                "line": 273,
                                "column": 12
                              },
                              "end": {
                                "line": 273,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11330,
                            "end": 11335,
                            "loc": {
                              "start": {
                                "line": 273,
                                "column": 17
                              },
                              "end": {
                                "line": 273,
                                "column": 22
                              }
                            },
                            "name": "stats"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 11337,
                        "end": 12155,
                        "loc": {
                          "start": {
                            "line": 273,
                            "column": 24
                          },
                          "end": {
                            "line": 293,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 11352,
                            "end": 11397,
                            "loc": {
                              "start": {
                                "line": 275,
                                "column": 12
                              },
                              "end": {
                                "line": 275,
                                "column": 57
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 11352,
                              "end": 11396,
                              "loc": {
                                "start": {
                                  "line": 275,
                                  "column": 12
                                },
                                "end": {
                                  "line": 275,
                                  "column": 56
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 11352,
                                "end": 11371,
                                "loc": {
                                  "start": {
                                    "line": 275,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 275,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11352,
                                  "end": 11356,
                                  "loc": {
                                    "start": {
                                      "line": 275,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 275,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11357,
                                  "end": 11371,
                                  "loc": {
                                    "start": {
                                      "line": 275,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 275,
                                      "column": 31
                                    }
                                  },
                                  "name": "callbackBefore"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 11375,
                                "end": 11396,
                                "loc": {
                                  "start": {
                                    "line": 275,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 275,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11375,
                                  "end": 11394,
                                  "loc": {
                                    "start": {
                                      "line": 275,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 275,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11375,
                                    "end": 11379,
                                    "loc": {
                                      "start": {
                                        "line": 275,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 275,
                                        "column": 39
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11380,
                                    "end": 11394,
                                    "loc": {
                                      "start": {
                                        "line": 275,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 275,
                                        "column": 54
                                      }
                                    },
                                    "name": "callbackBefore"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11411,
                            "end": 11492,
                            "loc": {
                              "start": {
                                "line": 277,
                                "column": 12
                              },
                              "end": {
                                "line": 277,
                                "column": 93
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11411,
                              "end": 11491,
                              "loc": {
                                "start": {
                                  "line": 277,
                                  "column": 12
                                },
                                "end": {
                                  "line": 277,
                                  "column": 92
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11411,
                                "end": 11439,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11411,
                                  "end": 11427,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11411,
                                    "end": 11424,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11411,
                                      "end": 11415,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11416,
                                      "end": 11424,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 25
                                        }
                                      },
                                      "name": "renderer"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11425,
                                    "end": 11427,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 28
                                      }
                                    },
                                    "name": "gl"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11428,
                                  "end": 11439,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 40
                                    }
                                  },
                                  "name": "setViewport"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 11440,
                                  "end": 11451,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11440,
                                    "end": 11448,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 49
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11440,
                                      "end": 11444,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11445,
                                      "end": 11448,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 49
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11449,
                                    "end": 11450,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 51
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11453,
                                  "end": 11464,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 65
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11453,
                                    "end": 11461,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 62
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11453,
                                      "end": 11457,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 58
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11458,
                                      "end": 11461,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 62
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11462,
                                    "end": 11463,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 64
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11466,
                                  "end": 11477,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11466,
                                    "end": 11474,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 75
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11466,
                                      "end": 11470,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 67
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 71
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11471,
                                      "end": 11474,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 75
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11475,
                                    "end": 11476,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 76
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 77
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11479,
                                  "end": 11490,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 80
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 91
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11479,
                                    "end": 11487,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 80
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 88
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11479,
                                      "end": 11483,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 84
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11484,
                                      "end": 11487,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 85
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 88
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11488,
                                    "end": 11489,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 90
                                      }
                                    },
                                    "value": 3,
                                    "rawValue": 3,
                                    "raw": "3"
                                  },
                                  "computed": true
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11505,
                            "end": 11585,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 12
                              },
                              "end": {
                                "line": 278,
                                "column": 92
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11505,
                              "end": 11584,
                              "loc": {
                                "start": {
                                  "line": 278,
                                  "column": 12
                                },
                                "end": {
                                  "line": 278,
                                  "column": 91
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11505,
                                "end": 11532,
                                "loc": {
                                  "start": {
                                    "line": 278,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 278,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11505,
                                  "end": 11521,
                                  "loc": {
                                    "start": {
                                      "line": 278,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 278,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11505,
                                    "end": 11518,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11505,
                                      "end": 11509,
                                      "loc": {
                                        "start": {
                                          "line": 278,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 278,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11510,
                                      "end": 11518,
                                      "loc": {
                                        "start": {
                                          "line": 278,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 278,
                                          "column": 25
                                        }
                                      },
                                      "name": "renderer"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11519,
                                    "end": 11521,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 28
                                      }
                                    },
                                    "name": "gl"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11522,
                                  "end": 11532,
                                  "loc": {
                                    "start": {
                                      "line": 278,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 278,
                                      "column": 39
                                    }
                                  },
                                  "name": "setScissor"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 11533,
                                  "end": 11544,
                                  "loc": {
                                    "start": {
                                      "line": 278,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 278,
                                      "column": 51
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11533,
                                    "end": 11541,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 48
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11533,
                                      "end": 11537,
                                      "loc": {
                                        "start": {
                                          "line": 278,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 278,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11538,
                                      "end": 11541,
                                      "loc": {
                                        "start": {
                                          "line": 278,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 278,
                                          "column": 48
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11542,
                                    "end": 11543,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 50
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11546,
                                  "end": 11557,
                                  "loc": {
                                    "start": {
                                      "line": 278,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 278,
                                      "column": 64
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11546,
                                    "end": 11554,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 61
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11546,
                                      "end": 11550,
                                      "loc": {
                                        "start": {
                                          "line": 278,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 278,
                                          "column": 57
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11551,
                                      "end": 11554,
                                      "loc": {
                                        "start": {
                                          "line": 278,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 278,
                                          "column": 61
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11555,
                                    "end": 11556,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 63
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11559,
                                  "end": 11570,
                                  "loc": {
                                    "start": {
                                      "line": 278,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 278,
                                      "column": 77
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11559,
                                    "end": 11567,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 74
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11559,
                                      "end": 11563,
                                      "loc": {
                                        "start": {
                                          "line": 278,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 278,
                                          "column": 70
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11564,
                                      "end": 11567,
                                      "loc": {
                                        "start": {
                                          "line": 278,
                                          "column": 71
                                        },
                                        "end": {
                                          "line": 278,
                                          "column": 74
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11568,
                                    "end": 11569,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 75
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 76
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11572,
                                  "end": 11583,
                                  "loc": {
                                    "start": {
                                      "line": 278,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 278,
                                      "column": 90
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11572,
                                    "end": 11580,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 79
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 87
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11572,
                                      "end": 11576,
                                      "loc": {
                                        "start": {
                                          "line": 278,
                                          "column": 79
                                        },
                                        "end": {
                                          "line": 278,
                                          "column": 83
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11577,
                                      "end": 11580,
                                      "loc": {
                                        "start": {
                                          "line": 278,
                                          "column": 84
                                        },
                                        "end": {
                                          "line": 278,
                                          "column": 87
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11581,
                                    "end": 11582,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 88
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 89
                                      }
                                    },
                                    "value": 3,
                                    "rawValue": 3,
                                    "raw": "3"
                                  },
                                  "computed": true
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11598,
                            "end": 11660,
                            "loc": {
                              "start": {
                                "line": 279,
                                "column": 12
                              },
                              "end": {
                                "line": 279,
                                "column": 74
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11598,
                              "end": 11659,
                              "loc": {
                                "start": {
                                  "line": 279,
                                  "column": 12
                                },
                                "end": {
                                  "line": 279,
                                  "column": 73
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11598,
                                "end": 11628,
                                "loc": {
                                  "start": {
                                    "line": 279,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 279,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11598,
                                  "end": 11614,
                                  "loc": {
                                    "start": {
                                      "line": 279,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 279,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11598,
                                    "end": 11611,
                                    "loc": {
                                      "start": {
                                        "line": 279,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 279,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11598,
                                      "end": 11602,
                                      "loc": {
                                        "start": {
                                          "line": 279,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 279,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11603,
                                      "end": 11611,
                                      "loc": {
                                        "start": {
                                          "line": 279,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 279,
                                          "column": 25
                                        }
                                      },
                                      "name": "renderer"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11612,
                                    "end": 11614,
                                    "loc": {
                                      "start": {
                                        "line": 279,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 279,
                                        "column": 28
                                      }
                                    },
                                    "name": "gl"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11615,
                                  "end": 11628,
                                  "loc": {
                                    "start": {
                                      "line": 279,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 279,
                                      "column": 42
                                    }
                                  },
                                  "name": "setClearColor"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 11629,
                                  "end": 11644,
                                  "loc": {
                                    "start": {
                                      "line": 279,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 279,
                                      "column": 58
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11629,
                                    "end": 11633,
                                    "loc": {
                                      "start": {
                                        "line": 279,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 279,
                                        "column": 47
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11634,
                                    "end": 11644,
                                    "loc": {
                                      "start": {
                                        "line": 279,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 279,
                                        "column": 58
                                      }
                                    },
                                    "name": "background"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11646,
                                  "end": 11658,
                                  "loc": {
                                    "start": {
                                      "line": 279,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 279,
                                      "column": 72
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11646,
                                    "end": 11650,
                                    "loc": {
                                      "start": {
                                        "line": 279,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 279,
                                        "column": 64
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11651,
                                    "end": 11658,
                                    "loc": {
                                      "start": {
                                        "line": 279,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 279,
                                        "column": 72
                                      }
                                    },
                                    "name": "opacity"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11673,
                            "end": 11698,
                            "loc": {
                              "start": {
                                "line": 280,
                                "column": 12
                              },
                              "end": {
                                "line": 280,
                                "column": 37
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11673,
                              "end": 11697,
                              "loc": {
                                "start": {
                                  "line": 280,
                                  "column": 12
                                },
                                "end": {
                                  "line": 280,
                                  "column": 36
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11673,
                                "end": 11695,
                                "loc": {
                                  "start": {
                                    "line": 280,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 280,
                                    "column": 34
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11673,
                                  "end": 11689,
                                  "loc": {
                                    "start": {
                                      "line": 280,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 280,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11673,
                                    "end": 11686,
                                    "loc": {
                                      "start": {
                                        "line": 280,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 280,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11673,
                                      "end": 11677,
                                      "loc": {
                                        "start": {
                                          "line": 280,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 280,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11678,
                                      "end": 11686,
                                      "loc": {
                                        "start": {
                                          "line": 280,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 280,
                                          "column": 25
                                        }
                                      },
                                      "name": "renderer"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11687,
                                    "end": 11689,
                                    "loc": {
                                      "start": {
                                        "line": 280,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 280,
                                        "column": 28
                                      }
                                    },
                                    "name": "gl"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11690,
                                  "end": 11695,
                                  "loc": {
                                    "start": {
                                      "line": 280,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 280,
                                      "column": 34
                                    }
                                  },
                                  "name": "clear"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 11712,
                            "end": 11994,
                            "loc": {
                              "start": {
                                "line": 282,
                                "column": 12
                              },
                              "end": {
                                "line": 287,
                                "column": 38
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 11716,
                              "end": 11736,
                              "loc": {
                                "start": {
                                  "line": 282,
                                  "column": 16
                                },
                                "end": {
                                  "line": 282,
                                  "column": 36
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 11717,
                                "end": 11736,
                                "loc": {
                                  "start": {
                                    "line": 282,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 282,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11717,
                                  "end": 11721,
                                  "loc": {
                                    "start": {
                                      "line": 282,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 282,
                                      "column": 21
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11722,
                                  "end": 11736,
                                  "loc": {
                                    "start": {
                                      "line": 282,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 282,
                                      "column": 36
                                    }
                                  },
                                  "name": "callbackRender"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 11738,
                              "end": 11950,
                              "loc": {
                                "start": {
                                  "line": 282,
                                  "column": 38
                                },
                                "end": {
                                  "line": 286,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 11756,
                                  "end": 11805,
                                  "loc": {
                                    "start": {
                                      "line": 283,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 283,
                                      "column": 65
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 11756,
                                    "end": 11804,
                                    "loc": {
                                      "start": {
                                        "line": 283,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 283,
                                        "column": 64
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 11756,
                                      "end": 11779,
                                      "loc": {
                                        "start": {
                                          "line": 283,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 283,
                                          "column": 39
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 11756,
                                        "end": 11772,
                                        "loc": {
                                          "start": {
                                            "line": 283,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 283,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11756,
                                          "end": 11769,
                                          "loc": {
                                            "start": {
                                              "line": 283,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 283,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11756,
                                            "end": 11760,
                                            "loc": {
                                              "start": {
                                                "line": 283,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 283,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11761,
                                            "end": 11769,
                                            "loc": {
                                              "start": {
                                                "line": 283,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 283,
                                                "column": 29
                                              }
                                            },
                                            "name": "renderer"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11770,
                                          "end": 11772,
                                          "loc": {
                                            "start": {
                                              "line": 283,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 283,
                                              "column": 32
                                            }
                                          },
                                          "name": "gl"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11773,
                                        "end": 11779,
                                        "loc": {
                                          "start": {
                                            "line": 283,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 283,
                                            "column": 39
                                          }
                                        },
                                        "name": "render"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 11780,
                                        "end": 11790,
                                        "loc": {
                                          "start": {
                                            "line": 283,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 283,
                                            "column": 50
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 11780,
                                          "end": 11784,
                                          "loc": {
                                            "start": {
                                              "line": 283,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 283,
                                              "column": 44
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11785,
                                          "end": 11790,
                                          "loc": {
                                            "start": {
                                              "line": 283,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 283,
                                              "column": 50
                                            }
                                          },
                                          "name": "scene"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "start": 11792,
                                        "end": 11803,
                                        "loc": {
                                          "start": {
                                            "line": 283,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 283,
                                            "column": 63
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 11792,
                                          "end": 11796,
                                          "loc": {
                                            "start": {
                                              "line": 283,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 283,
                                              "column": 56
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11797,
                                          "end": 11803,
                                          "loc": {
                                            "start": {
                                              "line": 283,
                                              "column": 57
                                            },
                                            "end": {
                                              "line": 283,
                                              "column": 63
                                            }
                                          },
                                          "name": "camera"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 11822,
                                  "end": 11852,
                                  "loc": {
                                    "start": {
                                      "line": 284,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 284,
                                      "column": 46
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 11822,
                                    "end": 11851,
                                    "loc": {
                                      "start": {
                                        "line": 284,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 284,
                                        "column": 45
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 11822,
                                      "end": 11849,
                                      "loc": {
                                        "start": {
                                          "line": 284,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 284,
                                          "column": 43
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 11822,
                                        "end": 11838,
                                        "loc": {
                                          "start": {
                                            "line": 284,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 284,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11822,
                                          "end": 11835,
                                          "loc": {
                                            "start": {
                                              "line": 284,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 284,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11822,
                                            "end": 11826,
                                            "loc": {
                                              "start": {
                                                "line": 284,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 284,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11827,
                                            "end": 11835,
                                            "loc": {
                                              "start": {
                                                "line": 284,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 284,
                                                "column": 29
                                              }
                                            },
                                            "name": "renderer"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11836,
                                          "end": 11838,
                                          "loc": {
                                            "start": {
                                              "line": 284,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 284,
                                              "column": 32
                                            }
                                          },
                                          "name": "gl"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11839,
                                        "end": 11849,
                                        "loc": {
                                          "start": {
                                            "line": 284,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 284,
                                            "column": 43
                                          }
                                        },
                                        "name": "clearDepth"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 11869,
                                  "end": 11936,
                                  "loc": {
                                    "start": {
                                      "line": 285,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 285,
                                      "column": 83
                                    }
                                  },
                                  "expression": {
                                    "type": "LogicalExpression",
                                    "start": 11869,
                                    "end": 11935,
                                    "loc": {
                                      "start": {
                                        "line": 285,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 285,
                                        "column": 82
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 11869,
                                      "end": 11877,
                                      "loc": {
                                        "start": {
                                          "line": 285,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 285,
                                          "column": 24
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 11869,
                                        "end": 11873,
                                        "loc": {
                                          "start": {
                                            "line": 285,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 285,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11874,
                                        "end": 11877,
                                        "loc": {
                                          "start": {
                                            "line": 285,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 285,
                                            "column": 24
                                          }
                                        },
                                        "name": "hud"
                                      },
                                      "computed": false
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 11881,
                                      "end": 11935,
                                      "loc": {
                                        "start": {
                                          "line": 285,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 285,
                                          "column": 82
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 11881,
                                        "end": 11904,
                                        "loc": {
                                          "start": {
                                            "line": 285,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 285,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11881,
                                          "end": 11897,
                                          "loc": {
                                            "start": {
                                              "line": 285,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 285,
                                              "column": 44
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 11881,
                                            "end": 11894,
                                            "loc": {
                                              "start": {
                                                "line": 285,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 285,
                                                "column": 41
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 11881,
                                              "end": 11885,
                                              "loc": {
                                                "start": {
                                                  "line": 285,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 285,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 11886,
                                              "end": 11894,
                                              "loc": {
                                                "start": {
                                                  "line": 285,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 285,
                                                  "column": 41
                                                }
                                              },
                                              "name": "renderer"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11895,
                                            "end": 11897,
                                            "loc": {
                                              "start": {
                                                "line": 285,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 285,
                                                "column": 44
                                              }
                                            },
                                            "name": "gl"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11898,
                                          "end": 11904,
                                          "loc": {
                                            "start": {
                                              "line": 285,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 285,
                                              "column": 51
                                            }
                                          },
                                          "name": "render"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 11905,
                                          "end": 11918,
                                          "loc": {
                                            "start": {
                                              "line": 285,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 285,
                                              "column": 65
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11905,
                                            "end": 11909,
                                            "loc": {
                                              "start": {
                                                "line": 285,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 285,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11910,
                                            "end": 11918,
                                            "loc": {
                                              "start": {
                                                "line": 285,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 285,
                                                "column": 65
                                              }
                                            },
                                            "name": "sceneHud"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 11920,
                                          "end": 11934,
                                          "loc": {
                                            "start": {
                                              "line": 285,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 285,
                                              "column": 81
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11920,
                                            "end": 11924,
                                            "loc": {
                                              "start": {
                                                "line": 285,
                                                "column": 67
                                              },
                                              "end": {
                                                "line": 285,
                                                "column": 71
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11925,
                                            "end": 11934,
                                            "loc": {
                                              "start": {
                                                "line": 285,
                                                "column": 72
                                              },
                                              "end": {
                                                "line": 285,
                                                "column": 81
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  }
                                }
                              ]
                            },
                            "alternate": {
                              "type": "ExpressionStatement",
                              "start": 11972,
                              "end": 11994,
                              "loc": {
                                "start": {
                                  "line": 287,
                                  "column": 16
                                },
                                "end": {
                                  "line": 287,
                                  "column": 38
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 11972,
                                "end": 11993,
                                "loc": {
                                  "start": {
                                    "line": 287,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 287,
                                    "column": 37
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11972,
                                  "end": 11991,
                                  "loc": {
                                    "start": {
                                      "line": 287,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 287,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11972,
                                    "end": 11976,
                                    "loc": {
                                      "start": {
                                        "line": 287,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 287,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11977,
                                    "end": 11991,
                                    "loc": {
                                      "start": {
                                        "line": 287,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 287,
                                        "column": 35
                                      }
                                    },
                                    "name": "callbackRender"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12008,
                            "end": 12051,
                            "loc": {
                              "start": {
                                "line": 289,
                                "column": 12
                              },
                              "end": {
                                "line": 289,
                                "column": 55
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 12008,
                              "end": 12050,
                              "loc": {
                                "start": {
                                  "line": 289,
                                  "column": 12
                                },
                                "end": {
                                  "line": 289,
                                  "column": 54
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 12008,
                                "end": 12026,
                                "loc": {
                                  "start": {
                                    "line": 289,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 289,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12008,
                                  "end": 12012,
                                  "loc": {
                                    "start": {
                                      "line": 289,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 289,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12013,
                                  "end": 12026,
                                  "loc": {
                                    "start": {
                                      "line": 289,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 289,
                                      "column": 30
                                    }
                                  },
                                  "name": "callbackAfter"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 12030,
                                "end": 12050,
                                "loc": {
                                  "start": {
                                    "line": 289,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 289,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 12030,
                                  "end": 12048,
                                  "loc": {
                                    "start": {
                                      "line": 289,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 289,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 12030,
                                    "end": 12034,
                                    "loc": {
                                      "start": {
                                        "line": 289,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 289,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12035,
                                    "end": 12048,
                                    "loc": {
                                      "start": {
                                        "line": 289,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 289,
                                        "column": 52
                                      }
                                    },
                                    "name": "callbackAfter"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12064,
                            "end": 12098,
                            "loc": {
                              "start": {
                                "line": 290,
                                "column": 12
                              },
                              "end": {
                                "line": 290,
                                "column": 46
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 12064,
                              "end": 12097,
                              "loc": {
                                "start": {
                                  "line": 290,
                                  "column": 12
                                },
                                "end": {
                                  "line": 290,
                                  "column": 45
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 12064,
                                "end": 12074,
                                "loc": {
                                  "start": {
                                    "line": 290,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 290,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12064,
                                  "end": 12068,
                                  "loc": {
                                    "start": {
                                      "line": 290,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 290,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12069,
                                  "end": 12074,
                                  "loc": {
                                    "start": {
                                      "line": 290,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 290,
                                      "column": 22
                                    }
                                  },
                                  "name": "stats"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 12078,
                                "end": 12097,
                                "loc": {
                                  "start": {
                                    "line": 290,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 290,
                                    "column": 45
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 12078,
                                  "end": 12095,
                                  "loc": {
                                    "start": {
                                      "line": 290,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 290,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 12078,
                                    "end": 12088,
                                    "loc": {
                                      "start": {
                                        "line": 290,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 290,
                                        "column": 36
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 12078,
                                      "end": 12082,
                                      "loc": {
                                        "start": {
                                          "line": 290,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 290,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 12083,
                                      "end": 12088,
                                      "loc": {
                                        "start": {
                                          "line": 290,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 290,
                                          "column": 36
                                        }
                                      },
                                      "name": "stats"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12089,
                                    "end": 12095,
                                    "loc": {
                                      "start": {
                                        "line": 290,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 290,
                                        "column": 43
                                      }
                                    },
                                    "name": "update"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 12112,
                            "end": 12145,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 12
                              },
                              "end": {
                                "line": 292,
                                "column": 45
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 12116,
                              "end": 12130,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 16
                                },
                                "end": {
                                  "line": 292,
                                  "column": 30
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 12116,
                                "end": 12126,
                                "loc": {
                                  "start": {
                                    "line": 292,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 292,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12116,
                                  "end": 12120,
                                  "loc": {
                                    "start": {
                                      "line": 292,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 292,
                                      "column": 20
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12121,
                                  "end": 12126,
                                  "loc": {
                                    "start": {
                                      "line": 292,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 292,
                                      "column": 26
                                    }
                                  },
                                  "name": "force"
                                },
                                "computed": false
                              },
                              "operator": ">",
                              "right": {
                                "type": "Literal",
                                "start": 12129,
                                "end": 12130,
                                "loc": {
                                  "start": {
                                    "line": 292,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 292,
                                    "column": 30
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 12132,
                              "end": 12145,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 32
                                },
                                "end": {
                                  "line": 292,
                                  "column": 45
                                }
                              },
                              "expression": {
                                "type": "UpdateExpression",
                                "start": 12132,
                                "end": 12144,
                                "loc": {
                                  "start": {
                                    "line": 292,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 292,
                                    "column": 44
                                  }
                                },
                                "operator": "--",
                                "prefix": false,
                                "argument": {
                                  "type": "MemberExpression",
                                  "start": 12132,
                                  "end": 12142,
                                  "loc": {
                                    "start": {
                                      "line": 292,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 292,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 12132,
                                    "end": 12136,
                                    "loc": {
                                      "start": {
                                        "line": 292,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 292,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12137,
                                    "end": 12142,
                                    "loc": {
                                      "start": {
                                        "line": 292,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 292,
                                        "column": 42
                                      }
                                    },
                                    "name": "force"
                                  },
                                  "computed": false
                                }
                              }
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12167,
              "end": 12403,
              "loc": {
                "start": {
                  "line": 296,
                  "column": 4
                },
                "end": {
                  "line": 302,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12167,
                "end": 12177,
                "loc": {
                  "start": {
                    "line": 296,
                    "column": 4
                  },
                  "end": {
                    "line": 296,
                    "column": 14
                  }
                },
                "name": "invalidate"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12177,
                "end": 12403,
                "loc": {
                  "start": {
                    "line": 296,
                    "column": 14
                  },
                  "end": {
                    "line": 302,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 12178,
                    "end": 12188,
                    "loc": {
                      "start": {
                        "line": 296,
                        "column": 15
                      },
                      "end": {
                        "line": 296,
                        "column": 25
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 12178,
                      "end": 12184,
                      "loc": {
                        "start": {
                          "line": 296,
                          "column": 15
                        },
                        "end": {
                          "line": 296,
                          "column": 21
                        }
                      },
                      "name": "frames"
                    },
                    "right": {
                      "type": "Literal",
                      "start": 12187,
                      "end": 12188,
                      "loc": {
                        "start": {
                          "line": 296,
                          "column": 24
                        },
                        "end": {
                          "line": 296,
                          "column": 25
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 12190,
                  "end": 12403,
                  "loc": {
                    "start": {
                      "line": 296,
                      "column": 27
                    },
                    "end": {
                      "line": 302,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 12200,
                      "end": 12221,
                      "loc": {
                        "start": {
                          "line": 297,
                          "column": 8
                        },
                        "end": {
                          "line": 297,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12200,
                        "end": 12220,
                        "loc": {
                          "start": {
                            "line": 297,
                            "column": 8
                          },
                          "end": {
                            "line": 297,
                            "column": 28
                          }
                        },
                        "operator": "+=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12200,
                          "end": 12210,
                          "loc": {
                            "start": {
                              "line": 297,
                              "column": 8
                            },
                            "end": {
                              "line": 297,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12200,
                            "end": 12204,
                            "loc": {
                              "start": {
                                "line": 297,
                                "column": 8
                              },
                              "end": {
                                "line": 297,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12205,
                            "end": 12210,
                            "loc": {
                              "start": {
                                "line": 297,
                                "column": 13
                              },
                              "end": {
                                "line": 297,
                                "column": 18
                              }
                            },
                            "name": "force"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 12214,
                          "end": 12220,
                          "loc": {
                            "start": {
                              "line": 297,
                              "column": 22
                            },
                            "end": {
                              "line": 297,
                              "column": 28
                            }
                          },
                          "name": "frames"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 12230,
                      "end": 12267,
                      "loc": {
                        "start": {
                          "line": 298,
                          "column": 8
                        },
                        "end": {
                          "line": 298,
                          "column": 45
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 12234,
                        "end": 12249,
                        "loc": {
                          "start": {
                            "line": 298,
                            "column": 12
                          },
                          "end": {
                            "line": 298,
                            "column": 27
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 12234,
                          "end": 12244,
                          "loc": {
                            "start": {
                              "line": 298,
                              "column": 12
                            },
                            "end": {
                              "line": 298,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12234,
                            "end": 12238,
                            "loc": {
                              "start": {
                                "line": 298,
                                "column": 12
                              },
                              "end": {
                                "line": 298,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12239,
                            "end": 12244,
                            "loc": {
                              "start": {
                                "line": 298,
                                "column": 17
                              },
                              "end": {
                                "line": 298,
                                "column": 22
                              }
                            },
                            "name": "force"
                          },
                          "computed": false
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 12247,
                          "end": 12249,
                          "loc": {
                            "start": {
                              "line": 298,
                              "column": 25
                            },
                            "end": {
                              "line": 298,
                              "column": 27
                            }
                          },
                          "value": 60,
                          "rawValue": 60,
                          "raw": "60"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12251,
                        "end": 12267,
                        "loc": {
                          "start": {
                            "line": 298,
                            "column": 29
                          },
                          "end": {
                            "line": 298,
                            "column": 45
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 12251,
                          "end": 12266,
                          "loc": {
                            "start": {
                              "line": 298,
                              "column": 29
                            },
                            "end": {
                              "line": 298,
                              "column": 44
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 12251,
                            "end": 12261,
                            "loc": {
                              "start": {
                                "line": 298,
                                "column": 29
                              },
                              "end": {
                                "line": 298,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12251,
                              "end": 12255,
                              "loc": {
                                "start": {
                                  "line": 298,
                                  "column": 29
                                },
                                "end": {
                                  "line": 298,
                                  "column": 33
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12256,
                              "end": 12261,
                              "loc": {
                                "start": {
                                  "line": 298,
                                  "column": 34
                                },
                                "end": {
                                  "line": 298,
                                  "column": 39
                                }
                              },
                              "name": "force"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 12264,
                            "end": 12266,
                            "loc": {
                              "start": {
                                "line": 298,
                                "column": 42
                              },
                              "end": {
                                "line": 298,
                                "column": 44
                              }
                            },
                            "value": 60,
                            "rawValue": 60,
                            "raw": "60"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12276,
                      "end": 12308,
                      "loc": {
                        "start": {
                          "line": 299,
                          "column": 8
                        },
                        "end": {
                          "line": 299,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12276,
                        "end": 12307,
                        "loc": {
                          "start": {
                            "line": 299,
                            "column": 8
                          },
                          "end": {
                            "line": 299,
                            "column": 39
                          }
                        },
                        "operator": "+=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12276,
                          "end": 12297,
                          "loc": {
                            "start": {
                              "line": 299,
                              "column": 8
                            },
                            "end": {
                              "line": 299,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12276,
                            "end": 12280,
                            "loc": {
                              "start": {
                                "line": 299,
                                "column": 8
                              },
                              "end": {
                                "line": 299,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12281,
                            "end": 12297,
                            "loc": {
                              "start": {
                                "line": 299,
                                "column": 13
                              },
                              "end": {
                                "line": 299,
                                "column": 29
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 12301,
                          "end": 12307,
                          "loc": {
                            "start": {
                              "line": 299,
                              "column": 33
                            },
                            "end": {
                              "line": 299,
                              "column": 39
                            }
                          },
                          "name": "frames"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 12317,
                      "end": 12376,
                      "loc": {
                        "start": {
                          "line": 300,
                          "column": 8
                        },
                        "end": {
                          "line": 300,
                          "column": 67
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 12321,
                        "end": 12347,
                        "loc": {
                          "start": {
                            "line": 300,
                            "column": 12
                          },
                          "end": {
                            "line": 300,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 12321,
                          "end": 12342,
                          "loc": {
                            "start": {
                              "line": 300,
                              "column": 12
                            },
                            "end": {
                              "line": 300,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12321,
                            "end": 12325,
                            "loc": {
                              "start": {
                                "line": 300,
                                "column": 12
                              },
                              "end": {
                                "line": 300,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12326,
                            "end": 12342,
                            "loc": {
                              "start": {
                                "line": 300,
                                "column": 17
                              },
                              "end": {
                                "line": 300,
                                "column": 33
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 12345,
                          "end": 12347,
                          "loc": {
                            "start": {
                              "line": 300,
                              "column": 36
                            },
                            "end": {
                              "line": 300,
                              "column": 38
                            }
                          },
                          "value": 60,
                          "rawValue": 60,
                          "raw": "60"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12349,
                        "end": 12376,
                        "loc": {
                          "start": {
                            "line": 300,
                            "column": 40
                          },
                          "end": {
                            "line": 300,
                            "column": 67
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 12349,
                          "end": 12375,
                          "loc": {
                            "start": {
                              "line": 300,
                              "column": 40
                            },
                            "end": {
                              "line": 300,
                              "column": 66
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 12349,
                            "end": 12370,
                            "loc": {
                              "start": {
                                "line": 300,
                                "column": 40
                              },
                              "end": {
                                "line": 300,
                                "column": 61
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12349,
                              "end": 12353,
                              "loc": {
                                "start": {
                                  "line": 300,
                                  "column": 40
                                },
                                "end": {
                                  "line": 300,
                                  "column": 44
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12354,
                              "end": 12370,
                              "loc": {
                                "start": {
                                  "line": 300,
                                  "column": 45
                                },
                                "end": {
                                  "line": 300,
                                  "column": 61
                                }
                              },
                              "name": "invalidateFrames"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 12373,
                            "end": 12375,
                            "loc": {
                              "start": {
                                "line": 300,
                                "column": 64
                              },
                              "end": {
                                "line": 300,
                                "column": 66
                              }
                            },
                            "value": 60,
                            "rawValue": 60,
                            "raw": "60"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 12385,
                      "end": 12397,
                      "loc": {
                        "start": {
                          "line": 301,
                          "column": 8
                        },
                        "end": {
                          "line": 301,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "ThisExpression",
                        "start": 12392,
                        "end": 12396,
                        "loc": {
                          "start": {
                            "line": 301,
                            "column": 15
                          },
                          "end": {
                            "line": 301,
                            "column": 19
                          }
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12409,
              "end": 14389,
              "loc": {
                "start": {
                  "line": 304,
                  "column": 4
                },
                "end": {
                  "line": 363,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12409,
                "end": 12416,
                "loc": {
                  "start": {
                    "line": 304,
                    "column": 4
                  },
                  "end": {
                    "line": 304,
                    "column": 11
                  }
                },
                "name": "measure"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12416,
                "end": 14389,
                "loc": {
                  "start": {
                    "line": 304,
                    "column": 11
                  },
                  "end": {
                    "line": 363,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 12419,
                  "end": 14389,
                  "loc": {
                    "start": {
                      "line": 304,
                      "column": 14
                    },
                    "end": {
                      "line": 363,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 12429,
                      "end": 12447,
                      "loc": {
                        "start": {
                          "line": 305,
                          "column": 8
                        },
                        "end": {
                          "line": 305,
                          "column": 26
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12433,
                          "end": 12446,
                          "loc": {
                            "start": {
                              "line": 305,
                              "column": 12
                            },
                            "end": {
                              "line": 305,
                              "column": 25
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12433,
                            "end": 12438,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 12
                              },
                              "end": {
                                "line": 305,
                                "column": 17
                              }
                            },
                            "name": "dirty"
                          },
                          "init": {
                            "type": "Literal",
                            "start": 12441,
                            "end": 12446,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 20
                              },
                              "end": {
                                "line": 305,
                                "column": 25
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12456,
                      "end": 12502,
                      "loc": {
                        "start": {
                          "line": 306,
                          "column": 8
                        },
                        "end": {
                          "line": 306,
                          "column": 54
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12460,
                          "end": 12501,
                          "loc": {
                            "start": {
                              "line": 306,
                              "column": 12
                            },
                            "end": {
                              "line": 306,
                              "column": 53
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12460,
                            "end": 12466,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 12
                              },
                              "end": {
                                "line": 306,
                                "column": 18
                              }
                            },
                            "name": "bounds"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 12469,
                            "end": 12501,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 21
                              },
                              "end": {
                                "line": 306,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12469,
                              "end": 12499,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 21
                                },
                                "end": {
                                  "line": 306,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 12469,
                                "end": 12477,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12469,
                                  "end": 12473,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 25
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12474,
                                  "end": 12477,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 29
                                    }
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12478,
                                "end": 12499,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 51
                                  }
                                },
                                "name": "getBoundingClientRect"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12511,
                      "end": 12662,
                      "loc": {
                        "start": {
                          "line": 307,
                          "column": 8
                        },
                        "end": {
                          "line": 312,
                          "column": 9
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12515,
                          "end": 12662,
                          "loc": {
                            "start": {
                              "line": 307,
                              "column": 12
                            },
                            "end": {
                              "line": 312,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12515,
                            "end": 12521,
                            "loc": {
                              "start": {
                                "line": 307,
                                "column": 12
                              },
                              "end": {
                                "line": 307,
                                "column": 18
                              }
                            },
                            "name": "offset"
                          },
                          "init": {
                            "type": "ObjectExpression",
                            "start": 12524,
                            "end": 12662,
                            "loc": {
                              "start": {
                                "line": 307,
                                "column": 21
                              },
                              "end": {
                                "line": 312,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 12538,
                                "end": 12553,
                                "loc": {
                                  "start": {
                                    "line": 308,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 308,
                                    "column": 27
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12538,
                                  "end": 12541,
                                  "loc": {
                                    "start": {
                                      "line": 308,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 308,
                                      "column": 15
                                    }
                                  },
                                  "name": "top"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 12543,
                                  "end": 12553,
                                  "loc": {
                                    "start": {
                                      "line": 308,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 308,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12543,
                                    "end": 12549,
                                    "loc": {
                                      "start": {
                                        "line": 308,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 308,
                                        "column": 23
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12550,
                                    "end": 12553,
                                    "loc": {
                                      "start": {
                                        "line": 308,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 308,
                                        "column": 27
                                      }
                                    },
                                    "name": "top"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 12567,
                                "end": 12584,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 29
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12567,
                                  "end": 12571,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 16
                                    }
                                  },
                                  "name": "left"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 12573,
                                  "end": 12584,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12573,
                                    "end": 12579,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 24
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12580,
                                    "end": 12584,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 29
                                      }
                                    },
                                    "name": "left"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 12598,
                                "end": 12617,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 31
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12598,
                                  "end": 12603,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 17
                                    }
                                  },
                                  "name": "width"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 12605,
                                  "end": 12617,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12605,
                                    "end": 12611,
                                    "loc": {
                                      "start": {
                                        "line": 310,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 310,
                                        "column": 25
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12612,
                                    "end": 12617,
                                    "loc": {
                                      "start": {
                                        "line": 310,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 310,
                                        "column": 31
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 12631,
                                "end": 12652,
                                "loc": {
                                  "start": {
                                    "line": 311,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 311,
                                    "column": 33
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12631,
                                  "end": 12637,
                                  "loc": {
                                    "start": {
                                      "line": 311,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 311,
                                      "column": 18
                                    }
                                  },
                                  "name": "height"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 12639,
                                  "end": 12652,
                                  "loc": {
                                    "start": {
                                      "line": 311,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 311,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12639,
                                    "end": 12645,
                                    "loc": {
                                      "start": {
                                        "line": 311,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 311,
                                        "column": 26
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12646,
                                    "end": 12652,
                                    "loc": {
                                      "start": {
                                        "line": 311,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 311,
                                        "column": 33
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12672,
                      "end": 12711,
                      "loc": {
                        "start": {
                          "line": 314,
                          "column": 8
                        },
                        "end": {
                          "line": 314,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12672,
                        "end": 12710,
                        "loc": {
                          "start": {
                            "line": 314,
                            "column": 8
                          },
                          "end": {
                            "line": 314,
                            "column": 46
                          }
                        },
                        "operator": "-=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12672,
                          "end": 12682,
                          "loc": {
                            "start": {
                              "line": 314,
                              "column": 8
                            },
                            "end": {
                              "line": 314,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12672,
                            "end": 12678,
                            "loc": {
                              "start": {
                                "line": 314,
                                "column": 8
                              },
                              "end": {
                                "line": 314,
                                "column": 14
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12679,
                            "end": 12682,
                            "loc": {
                              "start": {
                                "line": 314,
                                "column": 15
                              },
                              "end": {
                                "line": 314,
                                "column": 18
                              }
                            },
                            "name": "top"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 12686,
                          "end": 12710,
                          "loc": {
                            "start": {
                              "line": 314,
                              "column": 22
                            },
                            "end": {
                              "line": 314,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12686,
                            "end": 12706,
                            "loc": {
                              "start": {
                                "line": 314,
                                "column": 22
                              },
                              "end": {
                                "line": 314,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12686,
                              "end": 12699,
                              "loc": {
                                "start": {
                                  "line": 314,
                                  "column": 22
                                },
                                "end": {
                                  "line": 314,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 12686,
                                "end": 12690,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 26
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12691,
                                "end": 12699,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 35
                                  }
                                },
                                "name": "renderer"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12700,
                              "end": 12706,
                              "loc": {
                                "start": {
                                  "line": 314,
                                  "column": 36
                                },
                                "end": {
                                  "line": 314,
                                  "column": 42
                                }
                              },
                              "name": "offset"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12707,
                            "end": 12710,
                            "loc": {
                              "start": {
                                "line": 314,
                                "column": 43
                              },
                              "end": {
                                "line": 314,
                                "column": 46
                              }
                            },
                            "name": "top"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12720,
                      "end": 12761,
                      "loc": {
                        "start": {
                          "line": 315,
                          "column": 8
                        },
                        "end": {
                          "line": 315,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12720,
                        "end": 12760,
                        "loc": {
                          "start": {
                            "line": 315,
                            "column": 8
                          },
                          "end": {
                            "line": 315,
                            "column": 48
                          }
                        },
                        "operator": "-=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12720,
                          "end": 12731,
                          "loc": {
                            "start": {
                              "line": 315,
                              "column": 8
                            },
                            "end": {
                              "line": 315,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12720,
                            "end": 12726,
                            "loc": {
                              "start": {
                                "line": 315,
                                "column": 8
                              },
                              "end": {
                                "line": 315,
                                "column": 14
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12727,
                            "end": 12731,
                            "loc": {
                              "start": {
                                "line": 315,
                                "column": 15
                              },
                              "end": {
                                "line": 315,
                                "column": 19
                              }
                            },
                            "name": "left"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 12735,
                          "end": 12760,
                          "loc": {
                            "start": {
                              "line": 315,
                              "column": 23
                            },
                            "end": {
                              "line": 315,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12735,
                            "end": 12755,
                            "loc": {
                              "start": {
                                "line": 315,
                                "column": 23
                              },
                              "end": {
                                "line": 315,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12735,
                              "end": 12748,
                              "loc": {
                                "start": {
                                  "line": 315,
                                  "column": 23
                                },
                                "end": {
                                  "line": 315,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 12735,
                                "end": 12739,
                                "loc": {
                                  "start": {
                                    "line": 315,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 315,
                                    "column": 27
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12740,
                                "end": 12748,
                                "loc": {
                                  "start": {
                                    "line": 315,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 315,
                                    "column": 36
                                  }
                                },
                                "name": "renderer"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12749,
                              "end": 12755,
                              "loc": {
                                "start": {
                                  "line": 315,
                                  "column": 37
                                },
                                "end": {
                                  "line": 315,
                                  "column": 43
                                }
                              },
                              "name": "offset"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12756,
                            "end": 12760,
                            "loc": {
                              "start": {
                                "line": 315,
                                "column": 44
                              },
                              "end": {
                                "line": 315,
                                "column": 48
                              }
                            },
                            "name": "left"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Size changed, calibrate & invalidate",
                          "start": 12771,
                          "end": 12810,
                          "loc": {
                            "start": {
                              "line": 317,
                              "column": 8
                            },
                            "end": {
                              "line": 317,
                              "column": 47
                            }
                          },
                          "range": [
                            12771,
                            12810
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 12819,
                      "end": 13010,
                      "loc": {
                        "start": {
                          "line": 318,
                          "column": 8
                        },
                        "end": {
                          "line": 322,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 12823,
                        "end": 12881,
                        "loc": {
                          "start": {
                            "line": 318,
                            "column": 12
                          },
                          "end": {
                            "line": 318,
                            "column": 70
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 12823,
                          "end": 12849,
                          "loc": {
                            "start": {
                              "line": 318,
                              "column": 12
                            },
                            "end": {
                              "line": 318,
                              "column": 38
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12823,
                            "end": 12835,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 12
                              },
                              "end": {
                                "line": 318,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12823,
                              "end": 12829,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 12
                                },
                                "end": {
                                  "line": 318,
                                  "column": 18
                                }
                              },
                              "name": "offset",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12830,
                              "end": 12835,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 19
                                },
                                "end": {
                                  "line": 318,
                                  "column": 24
                                }
                              },
                              "name": "width"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12839,
                            "end": 12849,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 28
                              },
                              "end": {
                                "line": 318,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12839,
                              "end": 12843,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 28
                                },
                                "end": {
                                  "line": 318,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12844,
                              "end": 12849,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 33
                                },
                                "end": {
                                  "line": 318,
                                  "column": 38
                                }
                              },
                              "name": "width"
                            },
                            "computed": false
                          },
                          "leadingComments": null
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 12853,
                          "end": 12881,
                          "loc": {
                            "start": {
                              "line": 318,
                              "column": 42
                            },
                            "end": {
                              "line": 318,
                              "column": 70
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12853,
                            "end": 12866,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 42
                              },
                              "end": {
                                "line": 318,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12853,
                              "end": 12859,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 42
                                },
                                "end": {
                                  "line": 318,
                                  "column": 48
                                }
                              },
                              "name": "offset"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12860,
                              "end": 12866,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 49
                                },
                                "end": {
                                  "line": 318,
                                  "column": 55
                                }
                              },
                              "name": "height"
                            },
                            "computed": false
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12870,
                            "end": 12881,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 59
                              },
                              "end": {
                                "line": 318,
                                "column": 70
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12870,
                              "end": 12874,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 59
                                },
                                "end": {
                                  "line": 318,
                                  "column": 63
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12875,
                              "end": 12881,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 64
                                },
                                "end": {
                                  "line": 318,
                                  "column": 70
                                }
                              },
                              "name": "height"
                            },
                            "computed": false
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 12883,
                        "end": 13010,
                        "loc": {
                          "start": {
                            "line": 318,
                            "column": 72
                          },
                          "end": {
                            "line": 322,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 12897,
                            "end": 12941,
                            "loc": {
                              "start": {
                                "line": 319,
                                "column": 12
                              },
                              "end": {
                                "line": 319,
                                "column": 56
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 12897,
                              "end": 12940,
                              "loc": {
                                "start": {
                                  "line": 319,
                                  "column": 12
                                },
                                "end": {
                                  "line": 319,
                                  "column": 55
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12897,
                                "end": 12911,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12897,
                                  "end": 12901,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12902,
                                  "end": 12911,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 26
                                    }
                                  },
                                  "name": "calibrate"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 12912,
                                  "end": 12924,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12912,
                                    "end": 12918,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 33
                                      }
                                    },
                                    "name": "offset"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12919,
                                    "end": 12924,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 39
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 12926,
                                  "end": 12939,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12926,
                                    "end": 12932,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 47
                                      }
                                    },
                                    "name": "offset"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12933,
                                    "end": 12939,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 54
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12954,
                            "end": 12974,
                            "loc": {
                              "start": {
                                "line": 320,
                                "column": 12
                              },
                              "end": {
                                "line": 320,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 12954,
                              "end": 12973,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 12
                                },
                                "end": {
                                  "line": 320,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12954,
                                "end": 12969,
                                "loc": {
                                  "start": {
                                    "line": 320,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 320,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12954,
                                  "end": 12958,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12959,
                                  "end": 12969,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 27
                                    }
                                  },
                                  "name": "invalidate"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 12970,
                                  "end": 12972,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 30
                                    }
                                  },
                                  "value": 10,
                                  "rawValue": 10,
                                  "raw": "10"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12987,
                            "end": 13000,
                            "loc": {
                              "start": {
                                "line": 321,
                                "column": 12
                              },
                              "end": {
                                "line": 321,
                                "column": 25
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 12987,
                              "end": 12999,
                              "loc": {
                                "start": {
                                  "line": 321,
                                  "column": 12
                                },
                                "end": {
                                  "line": 321,
                                  "column": 24
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 12987,
                                "end": 12992,
                                "loc": {
                                  "start": {
                                    "line": 321,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 321,
                                    "column": 17
                                  }
                                },
                                "name": "dirty"
                              },
                              "right": {
                                "type": "Literal",
                                "start": 12995,
                                "end": 12999,
                                "loc": {
                                  "start": {
                                    "line": 321,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 321,
                                    "column": 24
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Size changed, calibrate & invalidate",
                          "start": 12771,
                          "end": 12810,
                          "loc": {
                            "start": {
                              "line": 317,
                              "column": 8
                            },
                            "end": {
                              "line": 317,
                              "column": 47
                            }
                          },
                          "range": [
                            12771,
                            12810
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Position changed, invalidate!",
                          "start": 13020,
                          "end": 13052,
                          "loc": {
                            "start": {
                              "line": 324,
                              "column": 8
                            },
                            "end": {
                              "line": 324,
                              "column": 40
                            }
                          },
                          "range": [
                            13020,
                            13052
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 13061,
                      "end": 13187,
                      "loc": {
                        "start": {
                          "line": 325,
                          "column": 8
                        },
                        "end": {
                          "line": 328,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 13065,
                        "end": 13115,
                        "loc": {
                          "start": {
                            "line": 325,
                            "column": 12
                          },
                          "end": {
                            "line": 325,
                            "column": 62
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 13065,
                          "end": 13087,
                          "loc": {
                            "start": {
                              "line": 325,
                              "column": 12
                            },
                            "end": {
                              "line": 325,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 13065,
                            "end": 13075,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 12
                              },
                              "end": {
                                "line": 325,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13065,
                              "end": 13071,
                              "loc": {
                                "start": {
                                  "line": 325,
                                  "column": 12
                                },
                                "end": {
                                  "line": 325,
                                  "column": 18
                                }
                              },
                              "name": "offset",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13072,
                              "end": 13075,
                              "loc": {
                                "start": {
                                  "line": 325,
                                  "column": 19
                                },
                                "end": {
                                  "line": 325,
                                  "column": 22
                                }
                              },
                              "name": "top"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 13079,
                            "end": 13087,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 26
                              },
                              "end": {
                                "line": 325,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 13079,
                              "end": 13083,
                              "loc": {
                                "start": {
                                  "line": 325,
                                  "column": 26
                                },
                                "end": {
                                  "line": 325,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13084,
                              "end": 13087,
                              "loc": {
                                "start": {
                                  "line": 325,
                                  "column": 31
                                },
                                "end": {
                                  "line": 325,
                                  "column": 34
                                }
                              },
                              "name": "top"
                            },
                            "computed": false
                          },
                          "leadingComments": null
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 13091,
                          "end": 13115,
                          "loc": {
                            "start": {
                              "line": 325,
                              "column": 38
                            },
                            "end": {
                              "line": 325,
                              "column": 62
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 13091,
                            "end": 13102,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 38
                              },
                              "end": {
                                "line": 325,
                                "column": 49
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13091,
                              "end": 13097,
                              "loc": {
                                "start": {
                                  "line": 325,
                                  "column": 38
                                },
                                "end": {
                                  "line": 325,
                                  "column": 44
                                }
                              },
                              "name": "offset"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13098,
                              "end": 13102,
                              "loc": {
                                "start": {
                                  "line": 325,
                                  "column": 45
                                },
                                "end": {
                                  "line": 325,
                                  "column": 49
                                }
                              },
                              "name": "left"
                            },
                            "computed": false
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 13106,
                            "end": 13115,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 53
                              },
                              "end": {
                                "line": 325,
                                "column": 62
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 13106,
                              "end": 13110,
                              "loc": {
                                "start": {
                                  "line": 325,
                                  "column": 53
                                },
                                "end": {
                                  "line": 325,
                                  "column": 57
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13111,
                              "end": 13115,
                              "loc": {
                                "start": {
                                  "line": 325,
                                  "column": 58
                                },
                                "end": {
                                  "line": 325,
                                  "column": 62
                                }
                              },
                              "name": "left"
                            },
                            "computed": false
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 13117,
                        "end": 13187,
                        "loc": {
                          "start": {
                            "line": 325,
                            "column": 64
                          },
                          "end": {
                            "line": 328,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 13131,
                            "end": 13151,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 12
                              },
                              "end": {
                                "line": 326,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 13131,
                              "end": 13150,
                              "loc": {
                                "start": {
                                  "line": 326,
                                  "column": 12
                                },
                                "end": {
                                  "line": 326,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 13131,
                                "end": 13146,
                                "loc": {
                                  "start": {
                                    "line": 326,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 326,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13131,
                                  "end": 13135,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13136,
                                  "end": 13146,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 27
                                    }
                                  },
                                  "name": "invalidate"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 13147,
                                  "end": 13149,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 30
                                    }
                                  },
                                  "value": 10,
                                  "rawValue": 10,
                                  "raw": "10"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 13164,
                            "end": 13177,
                            "loc": {
                              "start": {
                                "line": 327,
                                "column": 12
                              },
                              "end": {
                                "line": 327,
                                "column": 25
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 13164,
                              "end": 13176,
                              "loc": {
                                "start": {
                                  "line": 327,
                                  "column": 12
                                },
                                "end": {
                                  "line": 327,
                                  "column": 24
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 13164,
                                "end": 13169,
                                "loc": {
                                  "start": {
                                    "line": 327,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 327,
                                    "column": 17
                                  }
                                },
                                "name": "dirty"
                              },
                              "right": {
                                "type": "Literal",
                                "start": 13172,
                                "end": 13176,
                                "loc": {
                                  "start": {
                                    "line": 327,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 327,
                                    "column": 24
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Position changed, invalidate!",
                          "start": 13020,
                          "end": 13052,
                          "loc": {
                            "start": {
                              "line": 324,
                              "column": 8
                            },
                            "end": {
                              "line": 324,
                              "column": 40
                            }
                          },
                          "range": [
                            13020,
                            13052
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Save old data",
                          "start": 13197,
                          "end": 13213,
                          "loc": {
                            "start": {
                              "line": 330,
                              "column": 8
                            },
                            "end": {
                              "line": 330,
                              "column": 24
                            }
                          },
                          "range": [
                            13197,
                            13213
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13222,
                      "end": 13424,
                      "loc": {
                        "start": {
                          "line": 331,
                          "column": 8
                        },
                        "end": {
                          "line": 334,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13222,
                        "end": 13423,
                        "loc": {
                          "start": {
                            "line": 331,
                            "column": 8
                          },
                          "end": {
                            "line": 334,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13222,
                          "end": 13230,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 8
                            },
                            "end": {
                              "line": 331,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13222,
                            "end": 13226,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 8
                              },
                              "end": {
                                "line": 331,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13227,
                            "end": 13230,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 13
                              },
                              "end": {
                                "line": 331,
                                "column": 16
                              }
                            },
                            "name": "old"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 13233,
                          "end": 13423,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 19
                            },
                            "end": {
                              "line": 334,
                              "column": 9
                            }
                          },
                          "elements": [
                            {
                              "type": "BinaryExpression",
                              "start": 13234,
                              "end": 13270,
                              "loc": {
                                "start": {
                                  "line": 331,
                                  "column": 20
                                },
                                "end": {
                                  "line": 331,
                                  "column": 56
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13234,
                                "end": 13243,
                                "loc": {
                                  "start": {
                                    "line": 331,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 331,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13234,
                                  "end": 13238,
                                  "loc": {
                                    "start": {
                                      "line": 331,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 331,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13239,
                                  "end": 13243,
                                  "loc": {
                                    "start": {
                                      "line": 331,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 331,
                                      "column": 29
                                    }
                                  },
                                  "name": "left"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13246,
                                "end": 13270,
                                "loc": {
                                  "start": {
                                    "line": 331,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 331,
                                    "column": 56
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13246,
                                  "end": 13259,
                                  "loc": {
                                    "start": {
                                      "line": 331,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 331,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13246,
                                    "end": 13250,
                                    "loc": {
                                      "start": {
                                        "line": 331,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 331,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13251,
                                    "end": 13259,
                                    "loc": {
                                      "start": {
                                        "line": 331,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 331,
                                        "column": 45
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13260,
                                  "end": 13270,
                                  "loc": {
                                    "start": {
                                      "line": 331,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 331,
                                      "column": 56
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13284,
                              "end": 13322,
                              "loc": {
                                "start": {
                                  "line": 332,
                                  "column": 12
                                },
                                "end": {
                                  "line": 332,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13284,
                                "end": 13295,
                                "loc": {
                                  "start": {
                                    "line": 332,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 332,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13284,
                                  "end": 13288,
                                  "loc": {
                                    "start": {
                                      "line": 332,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13289,
                                  "end": 13295,
                                  "loc": {
                                    "start": {
                                      "line": 332,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 23
                                    }
                                  },
                                  "name": "bottom"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13298,
                                "end": 13322,
                                "loc": {
                                  "start": {
                                    "line": 332,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 332,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13298,
                                  "end": 13311,
                                  "loc": {
                                    "start": {
                                      "line": 332,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13298,
                                    "end": 13302,
                                    "loc": {
                                      "start": {
                                        "line": 332,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 332,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13303,
                                    "end": 13311,
                                    "loc": {
                                      "start": {
                                        "line": 332,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 332,
                                        "column": 39
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13312,
                                  "end": 13322,
                                  "loc": {
                                    "start": {
                                      "line": 332,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 50
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13336,
                              "end": 13373,
                              "loc": {
                                "start": {
                                  "line": 333,
                                  "column": 12
                                },
                                "end": {
                                  "line": 333,
                                  "column": 49
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13336,
                                "end": 13346,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13336,
                                  "end": 13340,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13341,
                                  "end": 13346,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 22
                                    }
                                  },
                                  "name": "width"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13349,
                                "end": 13373,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 49
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13349,
                                  "end": 13362,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13349,
                                    "end": 13353,
                                    "loc": {
                                      "start": {
                                        "line": 333,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 333,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13354,
                                    "end": 13362,
                                    "loc": {
                                      "start": {
                                        "line": 333,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 333,
                                        "column": 38
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13363,
                                  "end": 13373,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 49
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13375,
                              "end": 13413,
                              "loc": {
                                "start": {
                                  "line": 333,
                                  "column": 51
                                },
                                "end": {
                                  "line": 333,
                                  "column": 89
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13375,
                                "end": 13386,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 62
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13375,
                                  "end": 13379,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 55
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13380,
                                  "end": 13386,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 62
                                    }
                                  },
                                  "name": "height"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13389,
                                "end": 13413,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 89
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13389,
                                  "end": 13402,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13389,
                                    "end": 13393,
                                    "loc": {
                                      "start": {
                                        "line": 333,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 333,
                                        "column": 69
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13394,
                                    "end": 13402,
                                    "loc": {
                                      "start": {
                                        "line": 333,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 333,
                                        "column": 78
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13403,
                                  "end": 13413,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 89
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Save old data",
                          "start": 13197,
                          "end": 13213,
                          "loc": {
                            "start": {
                              "line": 330,
                              "column": 8
                            },
                            "end": {
                              "line": 330,
                              "column": 24
                            }
                          },
                          "range": [
                            13197,
                            13213
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Apply new",
                          "start": 13434,
                          "end": 13446,
                          "loc": {
                            "start": {
                              "line": 336,
                              "column": 8
                            },
                            "end": {
                              "line": 336,
                              "column": 20
                            }
                          },
                          "range": [
                            13434,
                            13446
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13455,
                      "end": 13481,
                      "loc": {
                        "start": {
                          "line": 337,
                          "column": 8
                        },
                        "end": {
                          "line": 337,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13455,
                        "end": 13480,
                        "loc": {
                          "start": {
                            "line": 337,
                            "column": 8
                          },
                          "end": {
                            "line": 337,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13455,
                          "end": 13465,
                          "loc": {
                            "start": {
                              "line": 337,
                              "column": 8
                            },
                            "end": {
                              "line": 337,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13455,
                            "end": 13459,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 8
                              },
                              "end": {
                                "line": 337,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13460,
                            "end": 13465,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 13
                              },
                              "end": {
                                "line": 337,
                                "column": 18
                              }
                            },
                            "name": "width"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13468,
                          "end": 13480,
                          "loc": {
                            "start": {
                              "line": 337,
                              "column": 21
                            },
                            "end": {
                              "line": 337,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13468,
                            "end": 13474,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 21
                              },
                              "end": {
                                "line": 337,
                                "column": 27
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13475,
                            "end": 13480,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 28
                              },
                              "end": {
                                "line": 337,
                                "column": 33
                              }
                            },
                            "name": "width"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Apply new",
                          "start": 13434,
                          "end": 13446,
                          "loc": {
                            "start": {
                              "line": 336,
                              "column": 8
                            },
                            "end": {
                              "line": 336,
                              "column": 20
                            }
                          },
                          "range": [
                            13434,
                            13446
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13490,
                      "end": 13518,
                      "loc": {
                        "start": {
                          "line": 338,
                          "column": 8
                        },
                        "end": {
                          "line": 338,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13490,
                        "end": 13517,
                        "loc": {
                          "start": {
                            "line": 338,
                            "column": 8
                          },
                          "end": {
                            "line": 338,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13490,
                          "end": 13501,
                          "loc": {
                            "start": {
                              "line": 338,
                              "column": 8
                            },
                            "end": {
                              "line": 338,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13490,
                            "end": 13494,
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 8
                              },
                              "end": {
                                "line": 338,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13495,
                            "end": 13501,
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 13
                              },
                              "end": {
                                "line": 338,
                                "column": 19
                              }
                            },
                            "name": "height"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13504,
                          "end": 13517,
                          "loc": {
                            "start": {
                              "line": 338,
                              "column": 22
                            },
                            "end": {
                              "line": 338,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13504,
                            "end": 13510,
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 22
                              },
                              "end": {
                                "line": 338,
                                "column": 28
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13511,
                            "end": 13517,
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 29
                              },
                              "end": {
                                "line": 338,
                                "column": 35
                              }
                            },
                            "name": "height"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13527,
                      "end": 13549,
                      "loc": {
                        "start": {
                          "line": 339,
                          "column": 8
                        },
                        "end": {
                          "line": 339,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13527,
                        "end": 13548,
                        "loc": {
                          "start": {
                            "line": 339,
                            "column": 8
                          },
                          "end": {
                            "line": 339,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13527,
                          "end": 13535,
                          "loc": {
                            "start": {
                              "line": 339,
                              "column": 8
                            },
                            "end": {
                              "line": 339,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13527,
                            "end": 13531,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 8
                              },
                              "end": {
                                "line": 339,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13532,
                            "end": 13535,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 13
                              },
                              "end": {
                                "line": 339,
                                "column": 16
                              }
                            },
                            "name": "top"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13538,
                          "end": 13548,
                          "loc": {
                            "start": {
                              "line": 339,
                              "column": 19
                            },
                            "end": {
                              "line": 339,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13538,
                            "end": 13544,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 19
                              },
                              "end": {
                                "line": 339,
                                "column": 25
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13545,
                            "end": 13548,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 26
                              },
                              "end": {
                                "line": 339,
                                "column": 29
                              }
                            },
                            "name": "top"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13558,
                      "end": 13582,
                      "loc": {
                        "start": {
                          "line": 340,
                          "column": 8
                        },
                        "end": {
                          "line": 340,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13558,
                        "end": 13581,
                        "loc": {
                          "start": {
                            "line": 340,
                            "column": 8
                          },
                          "end": {
                            "line": 340,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13558,
                          "end": 13567,
                          "loc": {
                            "start": {
                              "line": 340,
                              "column": 8
                            },
                            "end": {
                              "line": 340,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13558,
                            "end": 13562,
                            "loc": {
                              "start": {
                                "line": 340,
                                "column": 8
                              },
                              "end": {
                                "line": 340,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13563,
                            "end": 13567,
                            "loc": {
                              "start": {
                                "line": 340,
                                "column": 13
                              },
                              "end": {
                                "line": 340,
                                "column": 17
                              }
                            },
                            "name": "left"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13570,
                          "end": 13581,
                          "loc": {
                            "start": {
                              "line": 340,
                              "column": 20
                            },
                            "end": {
                              "line": 340,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13570,
                            "end": 13576,
                            "loc": {
                              "start": {
                                "line": 340,
                                "column": 20
                              },
                              "end": {
                                "line": 340,
                                "column": 26
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13577,
                            "end": 13581,
                            "loc": {
                              "start": {
                                "line": 340,
                                "column": 27
                              },
                              "end": {
                                "line": 340,
                                "column": 31
                              }
                            },
                            "name": "left"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13591,
                      "end": 13662,
                      "loc": {
                        "start": {
                          "line": 341,
                          "column": 8
                        },
                        "end": {
                          "line": 341,
                          "column": 79
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13591,
                        "end": 13661,
                        "loc": {
                          "start": {
                            "line": 341,
                            "column": 8
                          },
                          "end": {
                            "line": 341,
                            "column": 78
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13591,
                          "end": 13602,
                          "loc": {
                            "start": {
                              "line": 341,
                              "column": 8
                            },
                            "end": {
                              "line": 341,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13591,
                            "end": 13595,
                            "loc": {
                              "start": {
                                "line": 341,
                                "column": 8
                              },
                              "end": {
                                "line": 341,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13596,
                            "end": 13602,
                            "loc": {
                              "start": {
                                "line": 341,
                                "column": 13
                              },
                              "end": {
                                "line": 341,
                                "column": 19
                              }
                            },
                            "name": "bottom"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 13605,
                          "end": 13661,
                          "loc": {
                            "start": {
                              "line": 341,
                              "column": 22
                            },
                            "end": {
                              "line": 341,
                              "column": 78
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 13605,
                            "end": 13648,
                            "loc": {
                              "start": {
                                "line": 341,
                                "column": 22
                              },
                              "end": {
                                "line": 341,
                                "column": 65
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 13605,
                              "end": 13632,
                              "loc": {
                                "start": {
                                  "line": 341,
                                  "column": 22
                                },
                                "end": {
                                  "line": 341,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 13605,
                                "end": 13625,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13605,
                                  "end": 13618,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13605,
                                    "end": 13609,
                                    "loc": {
                                      "start": {
                                        "line": 341,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 341,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13610,
                                    "end": 13618,
                                    "loc": {
                                      "start": {
                                        "line": 341,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 341,
                                        "column": 35
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13619,
                                  "end": 13625,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 42
                                    }
                                  },
                                  "name": "offset"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13626,
                                "end": 13632,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 49
                                  }
                                },
                                "name": "height"
                              },
                              "computed": false
                            },
                            "operator": "-",
                            "right": {
                              "type": "MemberExpression",
                              "start": 13635,
                              "end": 13648,
                              "loc": {
                                "start": {
                                  "line": 341,
                                  "column": 52
                                },
                                "end": {
                                  "line": 341,
                                  "column": 65
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 13635,
                                "end": 13641,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 58
                                  }
                                },
                                "name": "offset"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13642,
                                "end": 13648,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 65
                                  }
                                },
                                "name": "height"
                              },
                              "computed": false
                            }
                          },
                          "operator": "-",
                          "right": {
                            "type": "MemberExpression",
                            "start": 13651,
                            "end": 13661,
                            "loc": {
                              "start": {
                                "line": 341,
                                "column": 68
                              },
                              "end": {
                                "line": 341,
                                "column": 78
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13651,
                              "end": 13657,
                              "loc": {
                                "start": {
                                  "line": 341,
                                  "column": 68
                                },
                                "end": {
                                  "line": 341,
                                  "column": 74
                                }
                              },
                              "name": "offset"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13658,
                              "end": 13661,
                              "loc": {
                                "start": {
                                  "line": 341,
                                  "column": 75
                                },
                                "end": {
                                  "line": 341,
                                  "column": 78
                                }
                              },
                              "name": "top"
                            },
                            "computed": false
                          }
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Premultiply new",
                          "start": 13672,
                          "end": 13690,
                          "loc": {
                            "start": {
                              "line": 343,
                              "column": 8
                            },
                            "end": {
                              "line": 343,
                              "column": 26
                            }
                          },
                          "range": [
                            13672,
                            13690
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13699,
                      "end": 13901,
                      "loc": {
                        "start": {
                          "line": 344,
                          "column": 8
                        },
                        "end": {
                          "line": 347,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13699,
                        "end": 13900,
                        "loc": {
                          "start": {
                            "line": 344,
                            "column": 8
                          },
                          "end": {
                            "line": 347,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13699,
                          "end": 13707,
                          "loc": {
                            "start": {
                              "line": 344,
                              "column": 8
                            },
                            "end": {
                              "line": 344,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13699,
                            "end": 13703,
                            "loc": {
                              "start": {
                                "line": 344,
                                "column": 8
                              },
                              "end": {
                                "line": 344,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13704,
                            "end": 13707,
                            "loc": {
                              "start": {
                                "line": 344,
                                "column": 13
                              },
                              "end": {
                                "line": 344,
                                "column": 16
                              }
                            },
                            "name": "new"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 13710,
                          "end": 13900,
                          "loc": {
                            "start": {
                              "line": 344,
                              "column": 19
                            },
                            "end": {
                              "line": 347,
                              "column": 9
                            }
                          },
                          "elements": [
                            {
                              "type": "BinaryExpression",
                              "start": 13711,
                              "end": 13747,
                              "loc": {
                                "start": {
                                  "line": 344,
                                  "column": 20
                                },
                                "end": {
                                  "line": 344,
                                  "column": 56
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13711,
                                "end": 13720,
                                "loc": {
                                  "start": {
                                    "line": 344,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 344,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13711,
                                  "end": 13715,
                                  "loc": {
                                    "start": {
                                      "line": 344,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 344,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13716,
                                  "end": 13720,
                                  "loc": {
                                    "start": {
                                      "line": 344,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 344,
                                      "column": 29
                                    }
                                  },
                                  "name": "left"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13723,
                                "end": 13747,
                                "loc": {
                                  "start": {
                                    "line": 344,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 344,
                                    "column": 56
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13723,
                                  "end": 13736,
                                  "loc": {
                                    "start": {
                                      "line": 344,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 344,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13723,
                                    "end": 13727,
                                    "loc": {
                                      "start": {
                                        "line": 344,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 344,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13728,
                                    "end": 13736,
                                    "loc": {
                                      "start": {
                                        "line": 344,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 344,
                                        "column": 45
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13737,
                                  "end": 13747,
                                  "loc": {
                                    "start": {
                                      "line": 344,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 344,
                                      "column": 56
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13761,
                              "end": 13799,
                              "loc": {
                                "start": {
                                  "line": 345,
                                  "column": 12
                                },
                                "end": {
                                  "line": 345,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13761,
                                "end": 13772,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13761,
                                  "end": 13765,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 345,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13766,
                                  "end": 13772,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 345,
                                      "column": 23
                                    }
                                  },
                                  "name": "bottom"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13775,
                                "end": 13799,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13775,
                                  "end": 13788,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 345,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13775,
                                    "end": 13779,
                                    "loc": {
                                      "start": {
                                        "line": 345,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 345,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13780,
                                    "end": 13788,
                                    "loc": {
                                      "start": {
                                        "line": 345,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 345,
                                        "column": 39
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13789,
                                  "end": 13799,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 345,
                                      "column": 50
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13813,
                              "end": 13850,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 12
                                },
                                "end": {
                                  "line": 346,
                                  "column": 49
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13813,
                                "end": 13823,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13813,
                                  "end": 13817,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13818,
                                  "end": 13823,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 22
                                    }
                                  },
                                  "name": "width"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13826,
                                "end": 13850,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 49
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13826,
                                  "end": 13839,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13826,
                                    "end": 13830,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13831,
                                    "end": 13839,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 38
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13840,
                                  "end": 13850,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 49
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13852,
                              "end": 13890,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 51
                                },
                                "end": {
                                  "line": 346,
                                  "column": 89
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13852,
                                "end": 13863,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 62
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13852,
                                  "end": 13856,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 55
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13857,
                                  "end": 13863,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 62
                                    }
                                  },
                                  "name": "height"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13866,
                                "end": 13890,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 89
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13866,
                                  "end": 13879,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13866,
                                    "end": 13870,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 69
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13871,
                                    "end": 13879,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 78
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13880,
                                  "end": 13890,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 89
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Premultiply new",
                          "start": 13672,
                          "end": 13690,
                          "loc": {
                            "start": {
                              "line": 343,
                              "column": 8
                            },
                            "end": {
                              "line": 343,
                              "column": 26
                            }
                          },
                          "range": [
                            13672,
                            13690
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Check visibility",
                          "start": 13911,
                          "end": 13930,
                          "loc": {
                            "start": {
                              "line": 349,
                              "column": 8
                            },
                            "end": {
                              "line": 349,
                              "column": 27
                            }
                          },
                          "range": [
                            13911,
                            13930
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 13939,
                      "end": 14200,
                      "loc": {
                        "start": {
                          "line": 350,
                          "column": 8
                        },
                        "end": {
                          "line": 355,
                          "column": 41
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 13943,
                          "end": 14199,
                          "loc": {
                            "start": {
                              "line": 350,
                              "column": 12
                            },
                            "end": {
                              "line": 355,
                              "column": 40
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 13943,
                            "end": 13950,
                            "loc": {
                              "start": {
                                "line": 350,
                                "column": 12
                              },
                              "end": {
                                "line": 350,
                                "column": 19
                              }
                            },
                            "name": "visible",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "UnaryExpression",
                            "start": 13953,
                            "end": 14199,
                            "loc": {
                              "start": {
                                "line": 350,
                                "column": 22
                              },
                              "end": {
                                "line": 355,
                                "column": 40
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "LogicalExpression",
                              "start": 13955,
                              "end": 14198,
                              "loc": {
                                "start": {
                                  "line": 350,
                                  "column": 24
                                },
                                "end": {
                                  "line": 355,
                                  "column": 39
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 13955,
                                "end": 14155,
                                "loc": {
                                  "start": {
                                    "line": 350,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 354,
                                    "column": 39
                                  }
                                },
                                "left": {
                                  "type": "LogicalExpression",
                                  "start": 13955,
                                  "end": 14112,
                                  "loc": {
                                    "start": {
                                      "line": 350,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 353,
                                      "column": 51
                                    }
                                  },
                                  "left": {
                                    "type": "LogicalExpression",
                                    "start": 13955,
                                    "end": 14057,
                                    "loc": {
                                      "start": {
                                        "line": 350,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 352,
                                        "column": 51
                                      }
                                    },
                                    "left": {
                                      "type": "LogicalExpression",
                                      "start": 13955,
                                      "end": 14002,
                                      "loc": {
                                        "start": {
                                          "line": 350,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 351,
                                          "column": 27
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 13955,
                                        "end": 13971,
                                        "loc": {
                                          "start": {
                                            "line": 350,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 350,
                                            "column": 40
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 13955,
                                          "end": 13966,
                                          "loc": {
                                            "start": {
                                              "line": 350,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 350,
                                              "column": 35
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 13955,
                                            "end": 13959,
                                            "loc": {
                                              "start": {
                                                "line": 350,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 350,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 13960,
                                            "end": 13966,
                                            "loc": {
                                              "start": {
                                                "line": 350,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 350,
                                                "column": 35
                                              }
                                            },
                                            "name": "height"
                                          },
                                          "computed": false
                                        },
                                        "operator": "<=",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13970,
                                          "end": 13971,
                                          "loc": {
                                            "start": {
                                              "line": 350,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 350,
                                              "column": 40
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      },
                                      "operator": "||",
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 13987,
                                        "end": 14002,
                                        "loc": {
                                          "start": {
                                            "line": 351,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 351,
                                            "column": 27
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 13987,
                                          "end": 13997,
                                          "loc": {
                                            "start": {
                                              "line": 351,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 351,
                                              "column": 22
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 13987,
                                            "end": 13991,
                                            "loc": {
                                              "start": {
                                                "line": 351,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 351,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 13992,
                                            "end": 13997,
                                            "loc": {
                                              "start": {
                                                "line": 351,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 351,
                                                "column": 22
                                              }
                                            },
                                            "name": "width"
                                          },
                                          "computed": false
                                        },
                                        "operator": "<=",
                                        "right": {
                                          "type": "Literal",
                                          "start": 14001,
                                          "end": 14002,
                                          "loc": {
                                            "start": {
                                              "line": 351,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 351,
                                              "column": 27
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      }
                                    },
                                    "operator": "||",
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 14018,
                                      "end": 14057,
                                      "loc": {
                                        "start": {
                                          "line": 352,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 352,
                                          "column": 51
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 14018,
                                        "end": 14026,
                                        "loc": {
                                          "start": {
                                            "line": 352,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 352,
                                            "column": 20
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 14018,
                                          "end": 14022,
                                          "loc": {
                                            "start": {
                                              "line": 352,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 352,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14023,
                                          "end": 14026,
                                          "loc": {
                                            "start": {
                                              "line": 352,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 352,
                                              "column": 20
                                            }
                                          },
                                          "name": "top"
                                        },
                                        "computed": false
                                      },
                                      "operator": ">=",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 14030,
                                        "end": 14057,
                                        "loc": {
                                          "start": {
                                            "line": 352,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 352,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 14030,
                                          "end": 14050,
                                          "loc": {
                                            "start": {
                                              "line": 352,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 352,
                                              "column": 44
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 14030,
                                            "end": 14043,
                                            "loc": {
                                              "start": {
                                                "line": 352,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 352,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 14030,
                                              "end": 14034,
                                              "loc": {
                                                "start": {
                                                  "line": 352,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 352,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 14035,
                                              "end": 14043,
                                              "loc": {
                                                "start": {
                                                  "line": 352,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 352,
                                                  "column": 37
                                                }
                                              },
                                              "name": "renderer"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 14044,
                                            "end": 14050,
                                            "loc": {
                                              "start": {
                                                "line": 352,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 352,
                                                "column": 44
                                              }
                                            },
                                            "name": "offset"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14051,
                                          "end": 14057,
                                          "loc": {
                                            "start": {
                                              "line": 352,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 352,
                                              "column": 51
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "computed": false
                                      }
                                    }
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 14073,
                                    "end": 14112,
                                    "loc": {
                                      "start": {
                                        "line": 353,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 353,
                                        "column": 51
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 14073,
                                      "end": 14082,
                                      "loc": {
                                        "start": {
                                          "line": 353,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 353,
                                          "column": 21
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 14073,
                                        "end": 14077,
                                        "loc": {
                                          "start": {
                                            "line": 353,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 353,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14078,
                                        "end": 14082,
                                        "loc": {
                                          "start": {
                                            "line": 353,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 353,
                                            "column": 21
                                          }
                                        },
                                        "name": "left"
                                      },
                                      "computed": false
                                    },
                                    "operator": ">=",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 14086,
                                      "end": 14112,
                                      "loc": {
                                        "start": {
                                          "line": 353,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 353,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 14086,
                                        "end": 14106,
                                        "loc": {
                                          "start": {
                                            "line": 353,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 353,
                                            "column": 45
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 14086,
                                          "end": 14099,
                                          "loc": {
                                            "start": {
                                              "line": 353,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 353,
                                              "column": 38
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 14086,
                                            "end": 14090,
                                            "loc": {
                                              "start": {
                                                "line": 353,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 353,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 14091,
                                            "end": 14099,
                                            "loc": {
                                              "start": {
                                                "line": 353,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 353,
                                                "column": 38
                                              }
                                            },
                                            "name": "renderer"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14100,
                                          "end": 14106,
                                          "loc": {
                                            "start": {
                                              "line": 353,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 353,
                                              "column": 45
                                            }
                                          },
                                          "name": "offset"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14107,
                                        "end": 14112,
                                        "loc": {
                                          "start": {
                                            "line": 353,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 353,
                                            "column": 51
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    }
                                  }
                                },
                                "operator": "||",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 14128,
                                  "end": 14155,
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 354,
                                      "column": 39
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 14128,
                                    "end": 14150,
                                    "loc": {
                                      "start": {
                                        "line": 354,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 354,
                                        "column": 34
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 14128,
                                      "end": 14136,
                                      "loc": {
                                        "start": {
                                          "line": 354,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 354,
                                          "column": 20
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 14128,
                                        "end": 14132,
                                        "loc": {
                                          "start": {
                                            "line": 354,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 354,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14133,
                                        "end": 14136,
                                        "loc": {
                                          "start": {
                                            "line": 354,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 354,
                                            "column": 20
                                          }
                                        },
                                        "name": "top"
                                      },
                                      "computed": false
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 14139,
                                      "end": 14150,
                                      "loc": {
                                        "start": {
                                          "line": 354,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 354,
                                          "column": 34
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 14139,
                                        "end": 14143,
                                        "loc": {
                                          "start": {
                                            "line": 354,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 354,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14144,
                                        "end": 14150,
                                        "loc": {
                                          "start": {
                                            "line": 354,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 354,
                                            "column": 34
                                          }
                                        },
                                        "name": "height"
                                      },
                                      "computed": false
                                    }
                                  },
                                  "operator": "<=",
                                  "right": {
                                    "type": "Literal",
                                    "start": 14154,
                                    "end": 14155,
                                    "loc": {
                                      "start": {
                                        "line": 354,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 354,
                                        "column": 39
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 14171,
                                "end": 14198,
                                "loc": {
                                  "start": {
                                    "line": 355,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 355,
                                    "column": 39
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 14171,
                                  "end": 14193,
                                  "loc": {
                                    "start": {
                                      "line": 355,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 355,
                                      "column": 34
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 14171,
                                    "end": 14180,
                                    "loc": {
                                      "start": {
                                        "line": 355,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 355,
                                        "column": 21
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14171,
                                      "end": 14175,
                                      "loc": {
                                        "start": {
                                          "line": 355,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 355,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14176,
                                      "end": 14180,
                                      "loc": {
                                        "start": {
                                          "line": 355,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 355,
                                          "column": 21
                                        }
                                      },
                                      "name": "left"
                                    },
                                    "computed": false
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 14183,
                                    "end": 14193,
                                    "loc": {
                                      "start": {
                                        "line": 355,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 355,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14183,
                                      "end": 14187,
                                      "loc": {
                                        "start": {
                                          "line": 355,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 355,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14188,
                                      "end": 14193,
                                      "loc": {
                                        "start": {
                                          "line": 355,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 355,
                                          "column": 34
                                        }
                                      },
                                      "name": "width"
                                    },
                                    "computed": false
                                  }
                                },
                                "operator": "<=",
                                "right": {
                                  "type": "Literal",
                                  "start": 14197,
                                  "end": 14198,
                                  "loc": {
                                    "start": {
                                      "line": 355,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 355,
                                      "column": 39
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              },
                              "parenthesizedExpression": true
                            }
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "let",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Check visibility",
                          "start": 13911,
                          "end": 13930,
                          "loc": {
                            "start": {
                              "line": 349,
                              "column": 8
                            },
                            "end": {
                              "line": 349,
                              "column": 27
                            }
                          },
                          "range": [
                            13911,
                            13930
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 14209,
                      "end": 14360,
                      "loc": {
                        "start": {
                          "line": 356,
                          "column": 8
                        },
                        "end": {
                          "line": 360,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 14213,
                        "end": 14236,
                        "loc": {
                          "start": {
                            "line": 356,
                            "column": 12
                          },
                          "end": {
                            "line": 356,
                            "column": 35
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 14213,
                          "end": 14225,
                          "loc": {
                            "start": {
                              "line": 356,
                              "column": 12
                            },
                            "end": {
                              "line": 356,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14213,
                            "end": 14217,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 12
                              },
                              "end": {
                                "line": 356,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14218,
                            "end": 14225,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 17
                              },
                              "end": {
                                "line": 356,
                                "column": 24
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        },
                        "operator": "!=",
                        "right": {
                          "type": "Identifier",
                          "start": 14229,
                          "end": 14236,
                          "loc": {
                            "start": {
                              "line": 356,
                              "column": 28
                            },
                            "end": {
                              "line": 356,
                              "column": 35
                            }
                          },
                          "name": "visible"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 14238,
                        "end": 14360,
                        "loc": {
                          "start": {
                            "line": 356,
                            "column": 37
                          },
                          "end": {
                            "line": 360,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 14252,
                            "end": 14275,
                            "loc": {
                              "start": {
                                "line": 357,
                                "column": 12
                              },
                              "end": {
                                "line": 357,
                                "column": 35
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14252,
                              "end": 14274,
                              "loc": {
                                "start": {
                                  "line": 357,
                                  "column": 12
                                },
                                "end": {
                                  "line": 357,
                                  "column": 34
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 14252,
                                "end": 14264,
                                "loc": {
                                  "start": {
                                    "line": 357,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 357,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14252,
                                  "end": 14256,
                                  "loc": {
                                    "start": {
                                      "line": 357,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 357,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14257,
                                  "end": 14264,
                                  "loc": {
                                    "start": {
                                      "line": 357,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 357,
                                      "column": 24
                                    }
                                  },
                                  "name": "visible"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 14267,
                                "end": 14274,
                                "loc": {
                                  "start": {
                                    "line": 357,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 357,
                                    "column": 34
                                  }
                                },
                                "name": "visible"
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14288,
                            "end": 14324,
                            "loc": {
                              "start": {
                                "line": 358,
                                "column": 12
                              },
                              "end": {
                                "line": 358,
                                "column": 48
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 14288,
                              "end": 14323,
                              "loc": {
                                "start": {
                                  "line": 358,
                                  "column": 12
                                },
                                "end": {
                                  "line": 358,
                                  "column": 47
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 14288,
                                "end": 14300,
                                "loc": {
                                  "start": {
                                    "line": 358,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 358,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14288,
                                  "end": 14292,
                                  "loc": {
                                    "start": {
                                      "line": 358,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 358,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14293,
                                  "end": 14300,
                                  "loc": {
                                    "start": {
                                      "line": 358,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 358,
                                      "column": 24
                                    }
                                  },
                                  "name": "visible"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 14304,
                                "end": 14323,
                                "loc": {
                                  "start": {
                                    "line": 358,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 358,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 14304,
                                  "end": 14319,
                                  "loc": {
                                    "start": {
                                      "line": 358,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 358,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14304,
                                    "end": 14308,
                                    "loc": {
                                      "start": {
                                        "line": 358,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 358,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14309,
                                    "end": 14319,
                                    "loc": {
                                      "start": {
                                        "line": 358,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 358,
                                        "column": 43
                                      }
                                    },
                                    "name": "invalidate"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 14320,
                                    "end": 14322,
                                    "loc": {
                                      "start": {
                                        "line": 358,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 358,
                                        "column": 46
                                      }
                                    },
                                    "value": 10,
                                    "rawValue": 10,
                                    "raw": "10"
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14337,
                            "end": 14350,
                            "loc": {
                              "start": {
                                "line": 359,
                                "column": 12
                              },
                              "end": {
                                "line": 359,
                                "column": 25
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14337,
                              "end": 14349,
                              "loc": {
                                "start": {
                                  "line": 359,
                                  "column": 12
                                },
                                "end": {
                                  "line": 359,
                                  "column": 24
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 14337,
                                "end": 14342,
                                "loc": {
                                  "start": {
                                    "line": 359,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 359,
                                    "column": 17
                                  }
                                },
                                "name": "dirty"
                              },
                              "right": {
                                "type": "Literal",
                                "start": 14345,
                                "end": 14349,
                                "loc": {
                                  "start": {
                                    "line": 359,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 359,
                                    "column": 24
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 14370,
                      "end": 14383,
                      "loc": {
                        "start": {
                          "line": 362,
                          "column": 8
                        },
                        "end": {
                          "line": 362,
                          "column": 21
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 14377,
                        "end": 14382,
                        "loc": {
                          "start": {
                            "line": 362,
                            "column": 15
                          },
                          "end": {
                            "line": 362,
                            "column": 20
                          }
                        },
                        "name": "dirty"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 14395,
              "end": 15660,
              "loc": {
                "start": {
                  "line": 365,
                  "column": 4
                },
                "end": {
                  "line": 396,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 14395,
                "end": 14404,
                "loc": {
                  "start": {
                    "line": 365,
                    "column": 4
                  },
                  "end": {
                    "line": 365,
                    "column": 13
                  }
                },
                "name": "calibrate"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 14404,
                "end": 15660,
                "loc": {
                  "start": {
                    "line": 365,
                    "column": 13
                  },
                  "end": {
                    "line": 396,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 14405,
                    "end": 14410,
                    "loc": {
                      "start": {
                        "line": 365,
                        "column": 14
                      },
                      "end": {
                        "line": 365,
                        "column": 19
                      }
                    },
                    "name": "width"
                  },
                  {
                    "type": "Identifier",
                    "start": 14412,
                    "end": 14418,
                    "loc": {
                      "start": {
                        "line": 365,
                        "column": 21
                      },
                      "end": {
                        "line": 365,
                        "column": 27
                      }
                    },
                    "name": "height"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 14420,
                  "end": 15660,
                  "loc": {
                    "start": {
                      "line": 365,
                      "column": 29
                    },
                    "end": {
                      "line": 396,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 14430,
                      "end": 14459,
                      "loc": {
                        "start": {
                          "line": 366,
                          "column": 8
                        },
                        "end": {
                          "line": 366,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14430,
                        "end": 14458,
                        "loc": {
                          "start": {
                            "line": 366,
                            "column": 8
                          },
                          "end": {
                            "line": 366,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14430,
                          "end": 14441,
                          "loc": {
                            "start": {
                              "line": 366,
                              "column": 8
                            },
                            "end": {
                              "line": 366,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14430,
                            "end": 14434,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 8
                              },
                              "end": {
                                "line": 366,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14435,
                            "end": 14441,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 13
                              },
                              "end": {
                                "line": 366,
                                "column": 19
                              }
                            },
                            "name": "aspect"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 14444,
                          "end": 14458,
                          "loc": {
                            "start": {
                              "line": 366,
                              "column": 22
                            },
                            "end": {
                              "line": 366,
                              "column": 36
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 14444,
                            "end": 14449,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 22
                              },
                              "end": {
                                "line": 366,
                                "column": 27
                              }
                            },
                            "name": "width"
                          },
                          "operator": "/",
                          "right": {
                            "type": "Identifier",
                            "start": 14452,
                            "end": 14458,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 30
                              },
                              "end": {
                                "line": 366,
                                "column": 36
                              }
                            },
                            "name": "height"
                          }
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 14469,
                      "end": 15654,
                      "loc": {
                        "start": {
                          "line": 368,
                          "column": 8
                        },
                        "end": {
                          "line": 395,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 14473,
                        "end": 14519,
                        "loc": {
                          "start": {
                            "line": 368,
                            "column": 12
                          },
                          "end": {
                            "line": 368,
                            "column": 58
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 14473,
                          "end": 14484,
                          "loc": {
                            "start": {
                              "line": 368,
                              "column": 12
                            },
                            "end": {
                              "line": 368,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14473,
                            "end": 14477,
                            "loc": {
                              "start": {
                                "line": 368,
                                "column": 12
                              },
                              "end": {
                                "line": 368,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14478,
                            "end": 14484,
                            "loc": {
                              "start": {
                                "line": 368,
                                "column": 17
                              },
                              "end": {
                                "line": 368,
                                "column": 23
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        },
                        "operator": "instanceof",
                        "right": {
                          "type": "MemberExpression",
                          "start": 14496,
                          "end": 14519,
                          "loc": {
                            "start": {
                              "line": 368,
                              "column": 35
                            },
                            "end": {
                              "line": 368,
                              "column": 58
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 14496,
                            "end": 14501,
                            "loc": {
                              "start": {
                                "line": 368,
                                "column": 35
                              },
                              "end": {
                                "line": 368,
                                "column": 40
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14502,
                            "end": 14519,
                            "loc": {
                              "start": {
                                "line": 368,
                                "column": 41
                              },
                              "end": {
                                "line": 368,
                                "column": 58
                              }
                            },
                            "name": "PerspectiveCamera"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 14521,
                        "end": 14932,
                        "loc": {
                          "start": {
                            "line": 368,
                            "column": 60
                          },
                          "end": {
                            "line": 379,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 14535,
                            "end": 14568,
                            "loc": {
                              "start": {
                                "line": 369,
                                "column": 12
                              },
                              "end": {
                                "line": 369,
                                "column": 45
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14535,
                              "end": 14567,
                              "loc": {
                                "start": {
                                  "line": 369,
                                  "column": 12
                                },
                                "end": {
                                  "line": 369,
                                  "column": 44
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 14535,
                                "end": 14553,
                                "loc": {
                                  "start": {
                                    "line": 369,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 369,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14535,
                                  "end": 14546,
                                  "loc": {
                                    "start": {
                                      "line": 369,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 369,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14535,
                                    "end": 14539,
                                    "loc": {
                                      "start": {
                                        "line": 369,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 369,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14540,
                                    "end": 14546,
                                    "loc": {
                                      "start": {
                                        "line": 369,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 369,
                                        "column": 23
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14547,
                                  "end": 14553,
                                  "loc": {
                                    "start": {
                                      "line": 369,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 369,
                                      "column": 30
                                    }
                                  },
                                  "name": "aspect"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 14556,
                                "end": 14567,
                                "loc": {
                                  "start": {
                                    "line": 369,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 369,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14556,
                                  "end": 14560,
                                  "loc": {
                                    "start": {
                                      "line": 369,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 369,
                                      "column": 37
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14561,
                                  "end": 14567,
                                  "loc": {
                                    "start": {
                                      "line": 369,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 369,
                                      "column": 44
                                    }
                                  },
                                  "name": "aspect"
                                },
                                "computed": false
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14581,
                            "end": 14618,
                            "loc": {
                              "start": {
                                "line": 370,
                                "column": 12
                              },
                              "end": {
                                "line": 370,
                                "column": 49
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14581,
                              "end": 14617,
                              "loc": {
                                "start": {
                                  "line": 370,
                                  "column": 12
                                },
                                "end": {
                                  "line": 370,
                                  "column": 48
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 14581,
                                "end": 14615,
                                "loc": {
                                  "start": {
                                    "line": 370,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 370,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14581,
                                  "end": 14592,
                                  "loc": {
                                    "start": {
                                      "line": 370,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 370,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14581,
                                    "end": 14585,
                                    "loc": {
                                      "start": {
                                        "line": 370,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 370,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14586,
                                    "end": 14592,
                                    "loc": {
                                      "start": {
                                        "line": 370,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 370,
                                        "column": 23
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14593,
                                  "end": 14615,
                                  "loc": {
                                    "start": {
                                      "line": 370,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 370,
                                      "column": 46
                                    }
                                  },
                                  "name": "updateProjectionMatrix"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14631,
                            "end": 14673,
                            "loc": {
                              "start": {
                                "line": 371,
                                "column": 12
                              },
                              "end": {
                                "line": 371,
                                "column": 54
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14631,
                              "end": 14672,
                              "loc": {
                                "start": {
                                  "line": 371,
                                  "column": 12
                                },
                                "end": {
                                  "line": 371,
                                  "column": 53
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 14631,
                                "end": 14649,
                                "loc": {
                                  "start": {
                                    "line": 371,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 371,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14631,
                                  "end": 14642,
                                  "loc": {
                                    "start": {
                                      "line": 371,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 371,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14631,
                                    "end": 14635,
                                    "loc": {
                                      "start": {
                                        "line": 371,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 371,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14636,
                                    "end": 14642,
                                    "loc": {
                                      "start": {
                                        "line": 371,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 371,
                                        "column": 23
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14643,
                                  "end": 14649,
                                  "loc": {
                                    "start": {
                                      "line": 371,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 371,
                                      "column": 30
                                    }
                                  },
                                  "name": "radius"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "BinaryExpression",
                                "start": 14652,
                                "end": 14672,
                                "loc": {
                                  "start": {
                                    "line": 371,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 371,
                                    "column": 53
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 14653,
                                  "end": 14667,
                                  "loc": {
                                    "start": {
                                      "line": 371,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 371,
                                      "column": 48
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14653,
                                    "end": 14658,
                                    "loc": {
                                      "start": {
                                        "line": 371,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 371,
                                        "column": 39
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 14661,
                                    "end": 14667,
                                    "loc": {
                                      "start": {
                                        "line": 371,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 371,
                                        "column": 48
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "parenthesizedExpression": true
                                },
                                "operator": "/",
                                "right": {
                                  "type": "Literal",
                                  "start": 14671,
                                  "end": 14672,
                                  "loc": {
                                    "start": {
                                      "line": 371,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 371,
                                      "column": 53
                                    }
                                  },
                                  "value": 4,
                                  "rawValue": 4,
                                  "raw": "4"
                                }
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 14687,
                            "end": 14921,
                            "loc": {
                              "start": {
                                "line": 373,
                                "column": 12
                              },
                              "end": {
                                "line": 377,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 14691,
                              "end": 14732,
                              "loc": {
                                "start": {
                                  "line": 373,
                                  "column": 16
                                },
                                "end": {
                                  "line": 373,
                                  "column": 57
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 14691,
                                "end": 14699,
                                "loc": {
                                  "start": {
                                    "line": 373,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 373,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14691,
                                  "end": 14695,
                                  "loc": {
                                    "start": {
                                      "line": 373,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 373,
                                      "column": 20
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14696,
                                  "end": 14699,
                                  "loc": {
                                    "start": {
                                      "line": 373,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 373,
                                      "column": 24
                                    }
                                  },
                                  "name": "hud"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 14703,
                                "end": 14732,
                                "loc": {
                                  "start": {
                                    "line": 373,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 373,
                                    "column": 57
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 14703,
                                  "end": 14717,
                                  "loc": {
                                    "start": {
                                      "line": 373,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 373,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14703,
                                    "end": 14707,
                                    "loc": {
                                      "start": {
                                        "line": 373,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 373,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14708,
                                    "end": 14717,
                                    "loc": {
                                      "start": {
                                        "line": 373,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 373,
                                        "column": 42
                                      }
                                    },
                                    "name": "cameraHud"
                                  },
                                  "computed": false
                                },
                                "operator": "!=",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 14721,
                                  "end": 14732,
                                  "loc": {
                                    "start": {
                                      "line": 373,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 373,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14721,
                                    "end": 14725,
                                    "loc": {
                                      "start": {
                                        "line": 373,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 373,
                                        "column": 50
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14726,
                                    "end": 14732,
                                    "loc": {
                                      "start": {
                                        "line": 373,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 373,
                                        "column": 57
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 14734,
                              "end": 14921,
                              "loc": {
                                "start": {
                                  "line": 373,
                                  "column": 59
                                },
                                "end": {
                                  "line": 377,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 14752,
                                  "end": 14788,
                                  "loc": {
                                    "start": {
                                      "line": 374,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 374,
                                      "column": 52
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 14752,
                                    "end": 14787,
                                    "loc": {
                                      "start": {
                                        "line": 374,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 374,
                                        "column": 51
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 14752,
                                      "end": 14773,
                                      "loc": {
                                        "start": {
                                          "line": 374,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 374,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 14752,
                                        "end": 14766,
                                        "loc": {
                                          "start": {
                                            "line": 374,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 374,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 14752,
                                          "end": 14756,
                                          "loc": {
                                            "start": {
                                              "line": 374,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 374,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14757,
                                          "end": 14766,
                                          "loc": {
                                            "start": {
                                              "line": 374,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 374,
                                              "column": 30
                                            }
                                          },
                                          "name": "cameraHud"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14767,
                                        "end": 14773,
                                        "loc": {
                                          "start": {
                                            "line": 374,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 374,
                                            "column": 37
                                          }
                                        },
                                        "name": "aspect"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 14776,
                                      "end": 14787,
                                      "loc": {
                                        "start": {
                                          "line": 374,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 374,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 14776,
                                        "end": 14780,
                                        "loc": {
                                          "start": {
                                            "line": 374,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 374,
                                            "column": 44
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14781,
                                        "end": 14787,
                                        "loc": {
                                          "start": {
                                            "line": 374,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 374,
                                            "column": 51
                                          }
                                        },
                                        "name": "aspect"
                                      },
                                      "computed": false
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 14805,
                                  "end": 14845,
                                  "loc": {
                                    "start": {
                                      "line": 375,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 375,
                                      "column": 56
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 14805,
                                    "end": 14844,
                                    "loc": {
                                      "start": {
                                        "line": 375,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 375,
                                        "column": 55
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 14805,
                                      "end": 14842,
                                      "loc": {
                                        "start": {
                                          "line": 375,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 375,
                                          "column": 53
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 14805,
                                        "end": 14819,
                                        "loc": {
                                          "start": {
                                            "line": 375,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 375,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 14805,
                                          "end": 14809,
                                          "loc": {
                                            "start": {
                                              "line": 375,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 375,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14810,
                                          "end": 14819,
                                          "loc": {
                                            "start": {
                                              "line": 375,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 375,
                                              "column": 30
                                            }
                                          },
                                          "name": "cameraHud"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14820,
                                        "end": 14842,
                                        "loc": {
                                          "start": {
                                            "line": 375,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 375,
                                            "column": 53
                                          }
                                        },
                                        "name": "updateProjectionMatrix"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 14862,
                                  "end": 14907,
                                  "loc": {
                                    "start": {
                                      "line": 376,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 376,
                                      "column": 61
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 14862,
                                    "end": 14906,
                                    "loc": {
                                      "start": {
                                        "line": 376,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 376,
                                        "column": 60
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 14862,
                                      "end": 14883,
                                      "loc": {
                                        "start": {
                                          "line": 376,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 376,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 14862,
                                        "end": 14876,
                                        "loc": {
                                          "start": {
                                            "line": 376,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 376,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 14862,
                                          "end": 14866,
                                          "loc": {
                                            "start": {
                                              "line": 376,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 376,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14867,
                                          "end": 14876,
                                          "loc": {
                                            "start": {
                                              "line": 376,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 376,
                                              "column": 30
                                            }
                                          },
                                          "name": "cameraHud"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14877,
                                        "end": 14883,
                                        "loc": {
                                          "start": {
                                            "line": 376,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 376,
                                            "column": 37
                                          }
                                        },
                                        "name": "radius"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 14886,
                                      "end": 14906,
                                      "loc": {
                                        "start": {
                                          "line": 376,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 376,
                                          "column": 60
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 14887,
                                        "end": 14901,
                                        "loc": {
                                          "start": {
                                            "line": 376,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 376,
                                            "column": 55
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 14887,
                                          "end": 14892,
                                          "loc": {
                                            "start": {
                                              "line": 376,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 376,
                                              "column": 46
                                            }
                                          },
                                          "name": "width"
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 14895,
                                          "end": 14901,
                                          "loc": {
                                            "start": {
                                              "line": 376,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 376,
                                              "column": 55
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "parenthesizedExpression": true
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "Literal",
                                        "start": 14905,
                                        "end": 14906,
                                        "loc": {
                                          "start": {
                                            "line": 376,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 376,
                                            "column": 60
                                          }
                                        },
                                        "value": 4,
                                        "rawValue": 4,
                                        "raw": "4"
                                      }
                                    }
                                  }
                                }
                              ]
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 14938,
                        "end": 15654,
                        "loc": {
                          "start": {
                            "line": 379,
                            "column": 15
                          },
                          "end": {
                            "line": 395,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 14942,
                          "end": 14989,
                          "loc": {
                            "start": {
                              "line": 379,
                              "column": 19
                            },
                            "end": {
                              "line": 379,
                              "column": 66
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 14942,
                            "end": 14953,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 19
                              },
                              "end": {
                                "line": 379,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14942,
                              "end": 14946,
                              "loc": {
                                "start": {
                                  "line": 379,
                                  "column": 19
                                },
                                "end": {
                                  "line": 379,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14947,
                              "end": 14953,
                              "loc": {
                                "start": {
                                  "line": 379,
                                  "column": 24
                                },
                                "end": {
                                  "line": 379,
                                  "column": 30
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          },
                          "operator": "instanceof",
                          "right": {
                            "type": "MemberExpression",
                            "start": 14965,
                            "end": 14989,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 42
                              },
                              "end": {
                                "line": 379,
                                "column": 66
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 14965,
                              "end": 14970,
                              "loc": {
                                "start": {
                                  "line": 379,
                                  "column": 42
                                },
                                "end": {
                                  "line": 379,
                                  "column": 47
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14971,
                              "end": 14989,
                              "loc": {
                                "start": {
                                  "line": 379,
                                  "column": 48
                                },
                                "end": {
                                  "line": 379,
                                  "column": 66
                                }
                              },
                              "name": "OrthographicCamera"
                            },
                            "computed": false
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 14991,
                          "end": 15654,
                          "loc": {
                            "start": {
                              "line": 379,
                              "column": 68
                            },
                            "end": {
                              "line": 395,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 15005,
                              "end": 15044,
                              "loc": {
                                "start": {
                                  "line": 380,
                                  "column": 12
                                },
                                "end": {
                                  "line": 380,
                                  "column": 51
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 15005,
                                "end": 15043,
                                "loc": {
                                  "start": {
                                    "line": 380,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 380,
                                    "column": 50
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 15005,
                                  "end": 15010,
                                  "loc": {
                                    "start": {
                                      "line": 380,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 380,
                                      "column": 17
                                    }
                                  },
                                  "name": "width"
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 15013,
                                  "end": 15043,
                                  "loc": {
                                    "start": {
                                      "line": 380,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 380,
                                      "column": 50
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 15013,
                                    "end": 15029,
                                    "loc": {
                                      "start": {
                                        "line": 380,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 380,
                                        "column": 36
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 15013,
                                      "end": 15024,
                                      "loc": {
                                        "start": {
                                          "line": 380,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 380,
                                          "column": 31
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 15013,
                                        "end": 15017,
                                        "loc": {
                                          "start": {
                                            "line": 380,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 380,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 15018,
                                        "end": 15024,
                                        "loc": {
                                          "start": {
                                            "line": 380,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 380,
                                            "column": 31
                                          }
                                        },
                                        "name": "camera"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15025,
                                      "end": 15029,
                                      "loc": {
                                        "start": {
                                          "line": 380,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 380,
                                          "column": 36
                                        }
                                      },
                                      "name": "size"
                                    },
                                    "computed": false
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 15032,
                                    "end": 15043,
                                    "loc": {
                                      "start": {
                                        "line": 380,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 380,
                                        "column": 50
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15032,
                                      "end": 15036,
                                      "loc": {
                                        "start": {
                                          "line": 380,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 380,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15037,
                                      "end": 15043,
                                      "loc": {
                                        "start": {
                                          "line": 380,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 380,
                                          "column": 50
                                        }
                                      },
                                      "name": "aspect"
                                    },
                                    "computed": false
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 15057,
                              "end": 15083,
                              "loc": {
                                "start": {
                                  "line": 381,
                                  "column": 12
                                },
                                "end": {
                                  "line": 381,
                                  "column": 38
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 15057,
                                "end": 15082,
                                "loc": {
                                  "start": {
                                    "line": 381,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 381,
                                    "column": 37
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 15057,
                                  "end": 15063,
                                  "loc": {
                                    "start": {
                                      "line": 381,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 381,
                                      "column": 18
                                    }
                                  },
                                  "name": "height"
                                },
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 15066,
                                  "end": 15082,
                                  "loc": {
                                    "start": {
                                      "line": 381,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 381,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15066,
                                    "end": 15077,
                                    "loc": {
                                      "start": {
                                        "line": 381,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 381,
                                        "column": 32
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15066,
                                      "end": 15070,
                                      "loc": {
                                        "start": {
                                          "line": 381,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 381,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15071,
                                      "end": 15077,
                                      "loc": {
                                        "start": {
                                          "line": 381,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 381,
                                          "column": 32
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15078,
                                    "end": 15082,
                                    "loc": {
                                      "start": {
                                        "line": 381,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 381,
                                        "column": 37
                                      }
                                    },
                                    "name": "size"
                                  },
                                  "computed": false
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 15096,
                              "end": 15126,
                              "loc": {
                                "start": {
                                  "line": 382,
                                  "column": 12
                                },
                                "end": {
                                  "line": 382,
                                  "column": 42
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 15096,
                                "end": 15125,
                                "loc": {
                                  "start": {
                                    "line": 382,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 382,
                                    "column": 41
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 15096,
                                  "end": 15112,
                                  "loc": {
                                    "start": {
                                      "line": 382,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 382,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15096,
                                    "end": 15107,
                                    "loc": {
                                      "start": {
                                        "line": 382,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 382,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15096,
                                      "end": 15100,
                                      "loc": {
                                        "start": {
                                          "line": 382,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 382,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15101,
                                      "end": 15107,
                                      "loc": {
                                        "start": {
                                          "line": 382,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 382,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15108,
                                    "end": 15112,
                                    "loc": {
                                      "start": {
                                        "line": 382,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 382,
                                        "column": 28
                                      }
                                    },
                                    "name": "left"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 15115,
                                  "end": 15125,
                                  "loc": {
                                    "start": {
                                      "line": 382,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 382,
                                      "column": 41
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 15115,
                                    "end": 15120,
                                    "loc": {
                                      "start": {
                                        "line": 382,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 382,
                                        "column": 36
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 15123,
                                    "end": 15125,
                                    "loc": {
                                      "start": {
                                        "line": 382,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 382,
                                        "column": 41
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Literal",
                                      "start": 15124,
                                      "end": 15125,
                                      "loc": {
                                        "start": {
                                          "line": 382,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 382,
                                          "column": 41
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 15139,
                              "end": 15169,
                              "loc": {
                                "start": {
                                  "line": 383,
                                  "column": 12
                                },
                                "end": {
                                  "line": 383,
                                  "column": 42
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 15139,
                                "end": 15168,
                                "loc": {
                                  "start": {
                                    "line": 383,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 383,
                                    "column": 41
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 15139,
                                  "end": 15156,
                                  "loc": {
                                    "start": {
                                      "line": 383,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 383,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15139,
                                    "end": 15150,
                                    "loc": {
                                      "start": {
                                        "line": 383,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 383,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15139,
                                      "end": 15143,
                                      "loc": {
                                        "start": {
                                          "line": 383,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 383,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15144,
                                      "end": 15150,
                                      "loc": {
                                        "start": {
                                          "line": 383,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 383,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15151,
                                    "end": 15156,
                                    "loc": {
                                      "start": {
                                        "line": 383,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 383,
                                        "column": 29
                                      }
                                    },
                                    "name": "right"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 15159,
                                  "end": 15168,
                                  "loc": {
                                    "start": {
                                      "line": 383,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 383,
                                      "column": 41
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 15159,
                                    "end": 15164,
                                    "loc": {
                                      "start": {
                                        "line": 383,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 383,
                                        "column": 37
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "Literal",
                                    "start": 15167,
                                    "end": 15168,
                                    "loc": {
                                      "start": {
                                        "line": 383,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 383,
                                        "column": 41
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 15182,
                              "end": 15211,
                              "loc": {
                                "start": {
                                  "line": 384,
                                  "column": 12
                                },
                                "end": {
                                  "line": 384,
                                  "column": 41
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 15182,
                                "end": 15210,
                                "loc": {
                                  "start": {
                                    "line": 384,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 384,
                                    "column": 40
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 15182,
                                  "end": 15197,
                                  "loc": {
                                    "start": {
                                      "line": 384,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 384,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15182,
                                    "end": 15193,
                                    "loc": {
                                      "start": {
                                        "line": 384,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 384,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15182,
                                      "end": 15186,
                                      "loc": {
                                        "start": {
                                          "line": 384,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 384,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15187,
                                      "end": 15193,
                                      "loc": {
                                        "start": {
                                          "line": 384,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 384,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15194,
                                    "end": 15197,
                                    "loc": {
                                      "start": {
                                        "line": 384,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 384,
                                        "column": 27
                                      }
                                    },
                                    "name": "top"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 15200,
                                  "end": 15210,
                                  "loc": {
                                    "start": {
                                      "line": 384,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 384,
                                      "column": 40
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 15200,
                                    "end": 15206,
                                    "loc": {
                                      "start": {
                                        "line": 384,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 384,
                                        "column": 36
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "Literal",
                                    "start": 15209,
                                    "end": 15210,
                                    "loc": {
                                      "start": {
                                        "line": 384,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 384,
                                        "column": 40
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 15224,
                              "end": 15257,
                              "loc": {
                                "start": {
                                  "line": 385,
                                  "column": 12
                                },
                                "end": {
                                  "line": 385,
                                  "column": 45
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 15224,
                                "end": 15256,
                                "loc": {
                                  "start": {
                                    "line": 385,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 385,
                                    "column": 44
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 15224,
                                  "end": 15242,
                                  "loc": {
                                    "start": {
                                      "line": 385,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 385,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15224,
                                    "end": 15235,
                                    "loc": {
                                      "start": {
                                        "line": 385,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 385,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15224,
                                      "end": 15228,
                                      "loc": {
                                        "start": {
                                          "line": 385,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 385,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15229,
                                      "end": 15235,
                                      "loc": {
                                        "start": {
                                          "line": 385,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 385,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15236,
                                    "end": 15242,
                                    "loc": {
                                      "start": {
                                        "line": 385,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 385,
                                        "column": 30
                                      }
                                    },
                                    "name": "bottom"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 15245,
                                  "end": 15256,
                                  "loc": {
                                    "start": {
                                      "line": 385,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 385,
                                      "column": 44
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 15245,
                                    "end": 15251,
                                    "loc": {
                                      "start": {
                                        "line": 385,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 385,
                                        "column": 39
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 15254,
                                    "end": 15256,
                                    "loc": {
                                      "start": {
                                        "line": 385,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 385,
                                        "column": 44
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Literal",
                                      "start": 15255,
                                      "end": 15256,
                                      "loc": {
                                        "start": {
                                          "line": 385,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 385,
                                          "column": 44
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 15270,
                              "end": 15307,
                              "loc": {
                                "start": {
                                  "line": 386,
                                  "column": 12
                                },
                                "end": {
                                  "line": 386,
                                  "column": 49
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 15270,
                                "end": 15306,
                                "loc": {
                                  "start": {
                                    "line": 386,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 386,
                                    "column": 48
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 15270,
                                  "end": 15304,
                                  "loc": {
                                    "start": {
                                      "line": 386,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 386,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15270,
                                    "end": 15281,
                                    "loc": {
                                      "start": {
                                        "line": 386,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 386,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15270,
                                      "end": 15274,
                                      "loc": {
                                        "start": {
                                          "line": 386,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 386,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15275,
                                      "end": 15281,
                                      "loc": {
                                        "start": {
                                          "line": 386,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 386,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15282,
                                    "end": 15304,
                                    "loc": {
                                      "start": {
                                        "line": 386,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 386,
                                        "column": 46
                                      }
                                    },
                                    "name": "updateProjectionMatrix"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            },
                            {
                              "type": "IfStatement",
                              "start": 15321,
                              "end": 15644,
                              "loc": {
                                "start": {
                                  "line": 388,
                                  "column": 12
                                },
                                "end": {
                                  "line": 394,
                                  "column": 13
                                }
                              },
                              "test": {
                                "type": "LogicalExpression",
                                "start": 15325,
                                "end": 15366,
                                "loc": {
                                  "start": {
                                    "line": 388,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 388,
                                    "column": 57
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 15325,
                                  "end": 15333,
                                  "loc": {
                                    "start": {
                                      "line": 388,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 388,
                                      "column": 24
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 15325,
                                    "end": 15329,
                                    "loc": {
                                      "start": {
                                        "line": 388,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 388,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15330,
                                    "end": 15333,
                                    "loc": {
                                      "start": {
                                        "line": 388,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 388,
                                        "column": 24
                                      }
                                    },
                                    "name": "hud"
                                  },
                                  "computed": false
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 15337,
                                  "end": 15366,
                                  "loc": {
                                    "start": {
                                      "line": 388,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 388,
                                      "column": 57
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 15337,
                                    "end": 15351,
                                    "loc": {
                                      "start": {
                                        "line": 388,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 388,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15337,
                                      "end": 15341,
                                      "loc": {
                                        "start": {
                                          "line": 388,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 388,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15342,
                                      "end": 15351,
                                      "loc": {
                                        "start": {
                                          "line": 388,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 388,
                                          "column": 42
                                        }
                                      },
                                      "name": "cameraHud"
                                    },
                                    "computed": false
                                  },
                                  "operator": "!=",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 15355,
                                    "end": 15366,
                                    "loc": {
                                      "start": {
                                        "line": 388,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 388,
                                        "column": 57
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15355,
                                      "end": 15359,
                                      "loc": {
                                        "start": {
                                          "line": 388,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 388,
                                          "column": 50
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15360,
                                      "end": 15366,
                                      "loc": {
                                        "start": {
                                          "line": 388,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 388,
                                          "column": 57
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "start": 15368,
                                "end": 15644,
                                "loc": {
                                  "start": {
                                    "line": 388,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 394,
                                    "column": 13
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15386,
                                    "end": 15420,
                                    "loc": {
                                      "start": {
                                        "line": 389,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 389,
                                        "column": 50
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 15386,
                                      "end": 15419,
                                      "loc": {
                                        "start": {
                                          "line": 389,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 389,
                                          "column": 49
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 15386,
                                        "end": 15405,
                                        "loc": {
                                          "start": {
                                            "line": 389,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 389,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15386,
                                          "end": 15400,
                                          "loc": {
                                            "start": {
                                              "line": 389,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 389,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15386,
                                            "end": 15390,
                                            "loc": {
                                              "start": {
                                                "line": 389,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 389,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15391,
                                            "end": 15400,
                                            "loc": {
                                              "start": {
                                                "line": 389,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 389,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15401,
                                          "end": 15405,
                                          "loc": {
                                            "start": {
                                              "line": 389,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 389,
                                              "column": 35
                                            }
                                          },
                                          "name": "left"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 15408,
                                        "end": 15419,
                                        "loc": {
                                          "start": {
                                            "line": 389,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 389,
                                            "column": 49
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 15408,
                                          "end": 15413,
                                          "loc": {
                                            "start": {
                                              "line": 389,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 389,
                                              "column": 43
                                            }
                                          },
                                          "name": "width"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 15416,
                                          "end": 15419,
                                          "loc": {
                                            "start": {
                                              "line": 389,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 389,
                                              "column": 49
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Literal",
                                            "start": 15418,
                                            "end": 15419,
                                            "loc": {
                                              "start": {
                                                "line": 389,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 389,
                                                "column": 49
                                              }
                                            },
                                            "value": 2,
                                            "rawValue": 2,
                                            "raw": "2"
                                          }
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15437,
                                    "end": 15470,
                                    "loc": {
                                      "start": {
                                        "line": 390,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 390,
                                        "column": 49
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 15437,
                                      "end": 15469,
                                      "loc": {
                                        "start": {
                                          "line": 390,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 390,
                                          "column": 48
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 15437,
                                        "end": 15457,
                                        "loc": {
                                          "start": {
                                            "line": 390,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 390,
                                            "column": 36
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15437,
                                          "end": 15451,
                                          "loc": {
                                            "start": {
                                              "line": 390,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 390,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15437,
                                            "end": 15441,
                                            "loc": {
                                              "start": {
                                                "line": 390,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 390,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15442,
                                            "end": 15451,
                                            "loc": {
                                              "start": {
                                                "line": 390,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 390,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15452,
                                          "end": 15457,
                                          "loc": {
                                            "start": {
                                              "line": 390,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 390,
                                              "column": 36
                                            }
                                          },
                                          "name": "right"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 15460,
                                        "end": 15469,
                                        "loc": {
                                          "start": {
                                            "line": 390,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 390,
                                            "column": 48
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 15460,
                                          "end": 15465,
                                          "loc": {
                                            "start": {
                                              "line": 390,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 390,
                                              "column": 44
                                            }
                                          },
                                          "name": "width"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 15468,
                                          "end": 15469,
                                          "loc": {
                                            "start": {
                                              "line": 390,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 390,
                                              "column": 48
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15487,
                                    "end": 15519,
                                    "loc": {
                                      "start": {
                                        "line": 391,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 391,
                                        "column": 48
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 15487,
                                      "end": 15518,
                                      "loc": {
                                        "start": {
                                          "line": 391,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 391,
                                          "column": 47
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 15487,
                                        "end": 15505,
                                        "loc": {
                                          "start": {
                                            "line": 391,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 391,
                                            "column": 34
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15487,
                                          "end": 15501,
                                          "loc": {
                                            "start": {
                                              "line": 391,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 391,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15487,
                                            "end": 15491,
                                            "loc": {
                                              "start": {
                                                "line": 391,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 391,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15492,
                                            "end": 15501,
                                            "loc": {
                                              "start": {
                                                "line": 391,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 391,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15502,
                                          "end": 15505,
                                          "loc": {
                                            "start": {
                                              "line": 391,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 391,
                                              "column": 34
                                            }
                                          },
                                          "name": "top"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 15508,
                                        "end": 15518,
                                        "loc": {
                                          "start": {
                                            "line": 391,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 391,
                                            "column": 47
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 15508,
                                          "end": 15514,
                                          "loc": {
                                            "start": {
                                              "line": 391,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 391,
                                              "column": 43
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 15517,
                                          "end": 15518,
                                          "loc": {
                                            "start": {
                                              "line": 391,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 391,
                                              "column": 47
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15536,
                                    "end": 15573,
                                    "loc": {
                                      "start": {
                                        "line": 392,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 392,
                                        "column": 53
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 15536,
                                      "end": 15572,
                                      "loc": {
                                        "start": {
                                          "line": 392,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 392,
                                          "column": 52
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 15536,
                                        "end": 15557,
                                        "loc": {
                                          "start": {
                                            "line": 392,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 392,
                                            "column": 37
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15536,
                                          "end": 15550,
                                          "loc": {
                                            "start": {
                                              "line": 392,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 392,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15536,
                                            "end": 15540,
                                            "loc": {
                                              "start": {
                                                "line": 392,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 392,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15541,
                                            "end": 15550,
                                            "loc": {
                                              "start": {
                                                "line": 392,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 392,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15551,
                                          "end": 15557,
                                          "loc": {
                                            "start": {
                                              "line": 392,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 392,
                                              "column": 37
                                            }
                                          },
                                          "name": "bottom"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 15560,
                                        "end": 15572,
                                        "loc": {
                                          "start": {
                                            "line": 392,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 392,
                                            "column": 52
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 15560,
                                          "end": 15566,
                                          "loc": {
                                            "start": {
                                              "line": 392,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 392,
                                              "column": 46
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 15569,
                                          "end": 15572,
                                          "loc": {
                                            "start": {
                                              "line": 392,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 392,
                                              "column": 52
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Literal",
                                            "start": 15571,
                                            "end": 15572,
                                            "loc": {
                                              "start": {
                                                "line": 392,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 392,
                                                "column": 52
                                              }
                                            },
                                            "value": 2,
                                            "rawValue": 2,
                                            "raw": "2"
                                          }
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15590,
                                    "end": 15630,
                                    "loc": {
                                      "start": {
                                        "line": 393,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 393,
                                        "column": 56
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 15590,
                                      "end": 15629,
                                      "loc": {
                                        "start": {
                                          "line": 393,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 393,
                                          "column": 55
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 15590,
                                        "end": 15627,
                                        "loc": {
                                          "start": {
                                            "line": 393,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 393,
                                            "column": 53
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15590,
                                          "end": 15604,
                                          "loc": {
                                            "start": {
                                              "line": 393,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 393,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15590,
                                            "end": 15594,
                                            "loc": {
                                              "start": {
                                                "line": 393,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 393,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15595,
                                            "end": 15604,
                                            "loc": {
                                              "start": {
                                                "line": 393,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 393,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15605,
                                          "end": 15627,
                                          "loc": {
                                            "start": {
                                              "line": 393,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 393,
                                              "column": 53
                                            }
                                          },
                                          "name": "updateProjectionMatrix"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    }
                                  }
                                ]
                              },
                              "alternate": null
                            }
                          ]
                        },
                        "alternate": null
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 15666,
              "end": 15895,
              "loc": {
                "start": {
                  "line": 398,
                  "column": 4
                },
                "end": {
                  "line": 402,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 15666,
                "end": 15678,
                "loc": {
                  "start": {
                    "line": 398,
                    "column": 4
                  },
                  "end": {
                    "line": 398,
                    "column": 16
                  }
                },
                "name": "updateBounds"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 15678,
                "end": 15895,
                "loc": {
                  "start": {
                    "line": 398,
                    "column": 16
                  },
                  "end": {
                    "line": 402,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 15679,
                    "end": 15694,
                    "loc": {
                      "start": {
                        "line": 398,
                        "column": 17
                      },
                      "end": {
                        "line": 398,
                        "column": 32
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 15679,
                      "end": 15682,
                      "loc": {
                        "start": {
                          "line": 398,
                          "column": 17
                        },
                        "end": {
                          "line": 398,
                          "column": 20
                        }
                      },
                      "name": "box"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 15685,
                      "end": 15694,
                      "loc": {
                        "start": {
                          "line": 398,
                          "column": 23
                        },
                        "end": {
                          "line": 398,
                          "column": 32
                        }
                      },
                      "name": "undefined"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 15696,
                  "end": 15895,
                  "loc": {
                    "start": {
                      "line": 398,
                      "column": 34
                    },
                    "end": {
                      "line": 402,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 15706,
                      "end": 15802,
                      "loc": {
                        "start": {
                          "line": 399,
                          "column": 8
                        },
                        "end": {
                          "line": 399,
                          "column": 104
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 15706,
                        "end": 15801,
                        "loc": {
                          "start": {
                            "line": 399,
                            "column": 8
                          },
                          "end": {
                            "line": 399,
                            "column": 103
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 15706,
                          "end": 15721,
                          "loc": {
                            "start": {
                              "line": 399,
                              "column": 8
                            },
                            "end": {
                              "line": 399,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15706,
                            "end": 15717,
                            "loc": {
                              "start": {
                                "line": 399,
                                "column": 8
                              },
                              "end": {
                                "line": 399,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15706,
                              "end": 15710,
                              "loc": {
                                "start": {
                                  "line": 399,
                                  "column": 8
                                },
                                "end": {
                                  "line": 399,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15711,
                              "end": 15717,
                              "loc": {
                                "start": {
                                  "line": 399,
                                  "column": 13
                                },
                                "end": {
                                  "line": 399,
                                  "column": 19
                                }
                              },
                              "name": "bounds"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15718,
                            "end": 15721,
                            "loc": {
                              "start": {
                                "line": 399,
                                "column": 20
                              },
                              "end": {
                                "line": 399,
                                "column": 23
                              }
                            },
                            "name": "box"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 15724,
                          "end": 15801,
                          "loc": {
                            "start": {
                              "line": 399,
                              "column": 26
                            },
                            "end": {
                              "line": 399,
                              "column": 103
                            }
                          },
                          "test": {
                            "type": "Identifier",
                            "start": 15724,
                            "end": 15727,
                            "loc": {
                              "start": {
                                "line": 399,
                                "column": 26
                              },
                              "end": {
                                "line": 399,
                                "column": 29
                              }
                            },
                            "name": "box"
                          },
                          "consequent": {
                            "type": "CallExpression",
                            "start": 15730,
                            "end": 15756,
                            "loc": {
                              "start": {
                                "line": 399,
                                "column": 32
                              },
                              "end": {
                                "line": 399,
                                "column": 58
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 15730,
                              "end": 15751,
                              "loc": {
                                "start": {
                                  "line": 399,
                                  "column": 32
                                },
                                "end": {
                                  "line": 399,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 15730,
                                "end": 15745,
                                "loc": {
                                  "start": {
                                    "line": 399,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 399,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15730,
                                  "end": 15741,
                                  "loc": {
                                    "start": {
                                      "line": 399,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 399,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 15730,
                                    "end": 15734,
                                    "loc": {
                                      "start": {
                                        "line": 399,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 399,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15735,
                                    "end": 15741,
                                    "loc": {
                                      "start": {
                                        "line": 399,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 399,
                                        "column": 43
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15742,
                                  "end": 15745,
                                  "loc": {
                                    "start": {
                                      "line": 399,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 399,
                                      "column": 47
                                    }
                                  },
                                  "name": "box"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15746,
                                "end": 15751,
                                "loc": {
                                  "start": {
                                    "line": 399,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 399,
                                    "column": 53
                                  }
                                },
                                "name": "union"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 15752,
                                "end": 15755,
                                "loc": {
                                  "start": {
                                    "line": 399,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 399,
                                    "column": 57
                                  }
                                },
                                "name": "box"
                              }
                            ]
                          },
                          "alternate": {
                            "type": "CallExpression",
                            "start": 15759,
                            "end": 15801,
                            "loc": {
                              "start": {
                                "line": 399,
                                "column": 61
                              },
                              "end": {
                                "line": 399,
                                "column": 103
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 15759,
                              "end": 15789,
                              "loc": {
                                "start": {
                                  "line": 399,
                                  "column": 61
                                },
                                "end": {
                                  "line": 399,
                                  "column": 91
                                }
                              },
                              "object": {
                                "type": "NewExpression",
                                "start": 15759,
                                "end": 15775,
                                "loc": {
                                  "start": {
                                    "line": 399,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 399,
                                    "column": 77
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 15763,
                                  "end": 15773,
                                  "loc": {
                                    "start": {
                                      "line": 399,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 399,
                                      "column": 75
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15763,
                                    "end": 15768,
                                    "loc": {
                                      "start": {
                                        "line": 399,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 399,
                                        "column": 70
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15769,
                                    "end": 15773,
                                    "loc": {
                                      "start": {
                                        "line": 399,
                                        "column": 71
                                      },
                                      "end": {
                                        "line": 399,
                                        "column": 75
                                      }
                                    },
                                    "name": "Box3"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15776,
                                "end": 15789,
                                "loc": {
                                  "start": {
                                    "line": 399,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 399,
                                    "column": 91
                                  }
                                },
                                "name": "setFromObject"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 15790,
                                "end": 15800,
                                "loc": {
                                  "start": {
                                    "line": 399,
                                    "column": 92
                                  },
                                  "end": {
                                    "line": 399,
                                    "column": 102
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 15790,
                                  "end": 15794,
                                  "loc": {
                                    "start": {
                                      "line": 399,
                                      "column": 92
                                    },
                                    "end": {
                                      "line": 399,
                                      "column": 96
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15795,
                                  "end": 15800,
                                  "loc": {
                                    "start": {
                                      "line": 399,
                                      "column": 97
                                    },
                                    "end": {
                                      "line": 399,
                                      "column": 102
                                    }
                                  },
                                  "name": "scene"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15811,
                      "end": 15868,
                      "loc": {
                        "start": {
                          "line": 400,
                          "column": 8
                        },
                        "end": {
                          "line": 400,
                          "column": 65
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 15811,
                        "end": 15867,
                        "loc": {
                          "start": {
                            "line": 400,
                            "column": 8
                          },
                          "end": {
                            "line": 400,
                            "column": 64
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 15811,
                          "end": 15829,
                          "loc": {
                            "start": {
                              "line": 400,
                              "column": 8
                            },
                            "end": {
                              "line": 400,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15811,
                            "end": 15822,
                            "loc": {
                              "start": {
                                "line": 400,
                                "column": 8
                              },
                              "end": {
                                "line": 400,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15811,
                              "end": 15815,
                              "loc": {
                                "start": {
                                  "line": 400,
                                  "column": 8
                                },
                                "end": {
                                  "line": 400,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15816,
                              "end": 15822,
                              "loc": {
                                "start": {
                                  "line": 400,
                                  "column": 13
                                },
                                "end": {
                                  "line": 400,
                                  "column": 19
                                }
                              },
                              "name": "bounds"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15823,
                            "end": 15829,
                            "loc": {
                              "start": {
                                "line": 400,
                                "column": 20
                              },
                              "end": {
                                "line": 400,
                                "column": 26
                              }
                            },
                            "name": "sphere"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 15832,
                          "end": 15867,
                          "loc": {
                            "start": {
                              "line": 400,
                              "column": 29
                            },
                            "end": {
                              "line": 400,
                              "column": 64
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 15832,
                            "end": 15865,
                            "loc": {
                              "start": {
                                "line": 400,
                                "column": 29
                              },
                              "end": {
                                "line": 400,
                                "column": 62
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 15832,
                              "end": 15847,
                              "loc": {
                                "start": {
                                  "line": 400,
                                  "column": 29
                                },
                                "end": {
                                  "line": 400,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 15832,
                                "end": 15843,
                                "loc": {
                                  "start": {
                                    "line": 400,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 400,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 15832,
                                  "end": 15836,
                                  "loc": {
                                    "start": {
                                      "line": 400,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 400,
                                      "column": 33
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15837,
                                  "end": 15843,
                                  "loc": {
                                    "start": {
                                      "line": 400,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 400,
                                      "column": 40
                                    }
                                  },
                                  "name": "bounds"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15844,
                                "end": 15847,
                                "loc": {
                                  "start": {
                                    "line": 400,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 400,
                                    "column": 44
                                  }
                                },
                                "name": "box"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15848,
                              "end": 15865,
                              "loc": {
                                "start": {
                                  "line": 400,
                                  "column": 45
                                },
                                "end": {
                                  "line": 400,
                                  "column": 62
                                }
                              },
                              "name": "getBoundingSphere"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 15877,
                      "end": 15889,
                      "loc": {
                        "start": {
                          "line": 401,
                          "column": 8
                        },
                        "end": {
                          "line": 401,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "ThisExpression",
                        "start": 15884,
                        "end": 15888,
                        "loc": {
                          "start": {
                            "line": 401,
                            "column": 15
                          },
                          "end": {
                            "line": 401,
                            "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": 437,
            "end": 589,
            "loc": {
              "start": {
                "line": 13,
                "column": 0
              },
              "end": {
                "line": 14,
                "column": 85
              }
            },
            "range": [
              437,
              589
            ]
          }
        ],
        "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": 437,
          "end": 589,
          "loc": {
            "start": {
              "line": 13,
              "column": 0
            },
            "end": {
              "line": 14,
              "column": 85
            }
          },
          "range": [
            437,
            589
          ]
        }
      ]
    }
  ]
}