{
  "type": "Program",
  "start": 0,
  "end": 12093,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 282,
      "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": "ExportDefaultDeclaration",
      "start": 28,
      "end": 4080,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 111,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 43,
        "end": 4080,
        "loc": {
          "start": {
            "line": 3,
            "column": 15
          },
          "end": {
            "line": 111,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 49,
          "end": 58,
          "loc": {
            "start": {
              "line": 3,
              "column": 21
            },
            "end": {
              "line": 3,
              "column": 30
            }
          },
          "name": "Raycaster"
        },
        "superClass": {
          "type": "MemberExpression",
          "start": 67,
          "end": 82,
          "loc": {
            "start": {
              "line": 3,
              "column": 39
            },
            "end": {
              "line": 3,
              "column": 54
            }
          },
          "object": {
            "type": "Identifier",
            "start": 67,
            "end": 72,
            "loc": {
              "start": {
                "line": 3,
                "column": 39
              },
              "end": {
                "line": 3,
                "column": 44
              }
            },
            "name": "THREE"
          },
          "property": {
            "type": "Identifier",
            "start": 73,
            "end": 82,
            "loc": {
              "start": {
                "line": 3,
                "column": 45
              },
              "end": {
                "line": 3,
                "column": 54
              }
            },
            "name": "Raycaster"
          },
          "computed": false
        },
        "body": {
          "type": "ClassBody",
          "start": 83,
          "end": 4080,
          "loc": {
            "start": {
              "line": 3,
              "column": 55
            },
            "end": {
              "line": 111,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 89,
              "end": 937,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 4
                },
                "end": {
                  "line": 24,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 89,
                "end": 100,
                "loc": {
                  "start": {
                    "line": 4,
                    "column": 4
                  },
                  "end": {
                    "line": 4,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 100,
                "end": 937,
                "loc": {
                  "start": {
                    "line": 4,
                    "column": 15
                  },
                  "end": {
                    "line": 24,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 101,
                    "end": 112,
                    "loc": {
                      "start": {
                        "line": 4,
                        "column": 16
                      },
                      "end": {
                        "line": 4,
                        "column": 27
                      }
                    },
                    "name": "interaction"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 114,
                    "end": 167,
                    "loc": {
                      "start": {
                        "line": 4,
                        "column": 29
                      },
                      "end": {
                        "line": 4,
                        "column": 82
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 114,
                      "end": 121,
                      "loc": {
                        "start": {
                          "line": 4,
                          "column": 29
                        },
                        "end": {
                          "line": 4,
                          "column": 36
                        }
                      },
                      "name": "options"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 124,
                      "end": 167,
                      "loc": {
                        "start": {
                          "line": 4,
                          "column": 39
                        },
                        "end": {
                          "line": 4,
                          "column": 82
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 126,
                          "end": 165,
                          "loc": {
                            "start": {
                              "line": 4,
                              "column": 41
                            },
                            "end": {
                              "line": 4,
                              "column": 80
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 126,
                            "end": 134,
                            "loc": {
                              "start": {
                                "line": 4,
                                "column": 41
                              },
                              "end": {
                                "line": 4,
                                "column": 49
                              }
                            },
                            "name": "approach"
                          },
                          "value": {
                            "type": "MemberExpression",
                            "start": 136,
                            "end": 165,
                            "loc": {
                              "start": {
                                "line": 4,
                                "column": 51
                              },
                              "end": {
                                "line": 4,
                                "column": 80
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 136,
                              "end": 154,
                              "loc": {
                                "start": {
                                  "line": 4,
                                  "column": 51
                                },
                                "end": {
                                  "line": 4,
                                  "column": 69
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 136,
                                "end": 145,
                                "loc": {
                                  "start": {
                                    "line": 4,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 4,
                                    "column": 60
                                  }
                                },
                                "name": "Raycaster"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 146,
                                "end": 154,
                                "loc": {
                                  "start": {
                                    "line": 4,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 4,
                                    "column": 69
                                  }
                                },
                                "name": "Approach"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 155,
                              "end": 165,
                              "loc": {
                                "start": {
                                  "line": 4,
                                  "column": 70
                                },
                                "end": {
                                  "line": 4,
                                  "column": 80
                                }
                              },
                              "name": "FirstMatch"
                            },
                            "computed": false
                          },
                          "kind": "init"
                        }
                      ]
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 169,
                  "end": 937,
                  "loc": {
                    "start": {
                      "line": 4,
                      "column": 84
                    },
                    "end": {
                      "line": 24,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 179,
                      "end": 187,
                      "loc": {
                        "start": {
                          "line": 5,
                          "column": 8
                        },
                        "end": {
                          "line": 5,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 179,
                        "end": 186,
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 8
                          },
                          "end": {
                            "line": 5,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 179,
                          "end": 184,
                          "loc": {
                            "start": {
                              "line": 5,
                              "column": 8
                            },
                            "end": {
                              "line": 5,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 196,
                      "end": 227,
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 8
                        },
                        "end": {
                          "line": 6,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 196,
                        "end": 226,
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 8
                          },
                          "end": {
                            "line": 6,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 196,
                          "end": 212,
                          "loc": {
                            "start": {
                              "line": 6,
                              "column": 8
                            },
                            "end": {
                              "line": 6,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 196,
                            "end": 200,
                            "loc": {
                              "start": {
                                "line": 6,
                                "column": 8
                              },
                              "end": {
                                "line": 6,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 201,
                            "end": 212,
                            "loc": {
                              "start": {
                                "line": 6,
                                "column": 13
                              },
                              "end": {
                                "line": 6,
                                "column": 24
                              }
                            },
                            "name": "interaction"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 215,
                          "end": 226,
                          "loc": {
                            "start": {
                              "line": 6,
                              "column": 27
                            },
                            "end": {
                              "line": 6,
                              "column": 38
                            }
                          },
                          "name": "interaction"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 236,
                      "end": 265,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 8
                        },
                        "end": {
                          "line": 7,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 236,
                        "end": 264,
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 8
                          },
                          "end": {
                            "line": 7,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 236,
                          "end": 245,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 8
                            },
                            "end": {
                              "line": 7,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 236,
                            "end": 240,
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 8
                              },
                              "end": {
                                "line": 7,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 241,
                            "end": 245,
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 13
                              },
                              "end": {
                                "line": 7,
                                "column": 17
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 248,
                          "end": 264,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 20
                            },
                            "end": {
                              "line": 7,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 248,
                            "end": 259,
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 20
                              },
                              "end": {
                                "line": 7,
                                "column": 31
                              }
                            },
                            "name": "interaction"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 260,
                            "end": 264,
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 32
                              },
                              "end": {
                                "line": 7,
                                "column": 36
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 275,
                      "end": 317,
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 8
                        },
                        "end": {
                          "line": 9,
                          "column": 50
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 275,
                        "end": 316,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 8
                          },
                          "end": {
                            "line": 9,
                            "column": 49
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 275,
                          "end": 294,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 8
                            },
                            "end": {
                              "line": 9,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 275,
                            "end": 279,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 8
                              },
                              "end": {
                                "line": 9,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 280,
                            "end": 294,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 13
                              },
                              "end": {
                                "line": 9,
                                "column": 27
                              }
                            },
                            "name": "_inverseMatrix"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 297,
                          "end": 316,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 30
                            },
                            "end": {
                              "line": 9,
                              "column": 49
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 301,
                            "end": 314,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 34
                              },
                              "end": {
                                "line": 9,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 301,
                              "end": 306,
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 34
                                },
                                "end": {
                                  "line": 9,
                                  "column": 39
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 307,
                              "end": 314,
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 40
                                },
                                "end": {
                                  "line": 9,
                                  "column": 47
                                }
                              },
                              "name": "Matrix4"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 326,
                      "end": 354,
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 8
                        },
                        "end": {
                          "line": 10,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 326,
                        "end": 353,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 8
                          },
                          "end": {
                            "line": 10,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 326,
                          "end": 335,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 8
                            },
                            "end": {
                              "line": 10,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 326,
                            "end": 330,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 8
                              },
                              "end": {
                                "line": 10,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 331,
                            "end": 335,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 13
                              },
                              "end": {
                                "line": 10,
                                "column": 17
                              }
                            },
                            "name": "_ray"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 338,
                          "end": 353,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 20
                            },
                            "end": {
                              "line": 10,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 342,
                            "end": 351,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 24
                              },
                              "end": {
                                "line": 10,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 342,
                              "end": 347,
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 24
                                },
                                "end": {
                                  "line": 10,
                                  "column": 29
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 348,
                              "end": 351,
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 30
                                },
                                "end": {
                                  "line": 10,
                                  "column": 33
                                }
                              },
                              "name": "Ray"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 363,
                      "end": 397,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 8
                        },
                        "end": {
                          "line": 11,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 363,
                        "end": 396,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 8
                          },
                          "end": {
                            "line": 11,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 363,
                          "end": 375,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 8
                            },
                            "end": {
                              "line": 11,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 363,
                            "end": 367,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 8
                              },
                              "end": {
                                "line": 11,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 368,
                            "end": 375,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 13
                              },
                              "end": {
                                "line": 11,
                                "column": 20
                              }
                            },
                            "name": "_sphere"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 378,
                          "end": 396,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 23
                            },
                            "end": {
                              "line": 11,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 382,
                            "end": 394,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 27
                              },
                              "end": {
                                "line": 11,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 382,
                              "end": 387,
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 27
                                },
                                "end": {
                                  "line": 11,
                                  "column": 32
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 388,
                              "end": 394,
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 33
                                },
                                "end": {
                                  "line": 11,
                                  "column": 39
                                }
                              },
                              "name": "Sphere"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 406,
                      "end": 437,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 8
                        },
                        "end": {
                          "line": 12,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 406,
                        "end": 436,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 8
                          },
                          "end": {
                            "line": 12,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 406,
                          "end": 414,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 8
                            },
                            "end": {
                              "line": 12,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 406,
                            "end": 410,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 8
                              },
                              "end": {
                                "line": 12,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 411,
                            "end": 414,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 13
                              },
                              "end": {
                                "line": 12,
                                "column": 16
                              }
                            },
                            "name": "_vA"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 417,
                          "end": 436,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 19
                            },
                            "end": {
                              "line": 12,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 421,
                            "end": 434,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 23
                              },
                              "end": {
                                "line": 12,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 421,
                              "end": 426,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 23
                                },
                                "end": {
                                  "line": 12,
                                  "column": 28
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 427,
                              "end": 434,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 29
                                },
                                "end": {
                                  "line": 12,
                                  "column": 36
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 446,
                      "end": 477,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 8
                        },
                        "end": {
                          "line": 13,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 446,
                        "end": 476,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 8
                          },
                          "end": {
                            "line": 13,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 446,
                          "end": 454,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 446,
                            "end": 450,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 8
                              },
                              "end": {
                                "line": 13,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 451,
                            "end": 454,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 13
                              },
                              "end": {
                                "line": 13,
                                "column": 16
                              }
                            },
                            "name": "_vB"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 457,
                          "end": 476,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 19
                            },
                            "end": {
                              "line": 13,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 461,
                            "end": 474,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 23
                              },
                              "end": {
                                "line": 13,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 461,
                              "end": 466,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 23
                                },
                                "end": {
                                  "line": 13,
                                  "column": 28
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 467,
                              "end": 474,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 29
                                },
                                "end": {
                                  "line": 13,
                                  "column": 36
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 486,
                      "end": 517,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 8
                        },
                        "end": {
                          "line": 14,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 486,
                        "end": 516,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 8
                          },
                          "end": {
                            "line": 14,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 486,
                          "end": 494,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 486,
                            "end": 490,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 491,
                            "end": 494,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 13
                              },
                              "end": {
                                "line": 14,
                                "column": 16
                              }
                            },
                            "name": "_vC"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 497,
                          "end": 516,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 19
                            },
                            "end": {
                              "line": 14,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 501,
                            "end": 514,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 23
                              },
                              "end": {
                                "line": 14,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 501,
                              "end": 506,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 23
                                },
                                "end": {
                                  "line": 14,
                                  "column": 28
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 507,
                              "end": 514,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 29
                                },
                                "end": {
                                  "line": 14,
                                  "column": 36
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 526,
                      "end": 560,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 8
                        },
                        "end": {
                          "line": 15,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 526,
                        "end": 559,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 8
                          },
                          "end": {
                            "line": 15,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 526,
                          "end": 537,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 8
                            },
                            "end": {
                              "line": 15,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 526,
                            "end": 530,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 8
                              },
                              "end": {
                                "line": 15,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 531,
                            "end": 537,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 13
                              },
                              "end": {
                                "line": 15,
                                "column": 19
                              }
                            },
                            "name": "_tempA"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 540,
                          "end": 559,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 22
                            },
                            "end": {
                              "line": 15,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 544,
                            "end": 557,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 26
                              },
                              "end": {
                                "line": 15,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 544,
                              "end": 549,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 26
                                },
                                "end": {
                                  "line": 15,
                                  "column": 31
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 550,
                              "end": 557,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 32
                                },
                                "end": {
                                  "line": 15,
                                  "column": 39
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 569,
                      "end": 603,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 8
                        },
                        "end": {
                          "line": 16,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 569,
                        "end": 602,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 8
                          },
                          "end": {
                            "line": 16,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 569,
                          "end": 580,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 8
                            },
                            "end": {
                              "line": 16,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 569,
                            "end": 573,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 8
                              },
                              "end": {
                                "line": 16,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 574,
                            "end": 580,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 13
                              },
                              "end": {
                                "line": 16,
                                "column": 19
                              }
                            },
                            "name": "_tempB"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 583,
                          "end": 602,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 22
                            },
                            "end": {
                              "line": 16,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 587,
                            "end": 600,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 26
                              },
                              "end": {
                                "line": 16,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 587,
                              "end": 592,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 26
                                },
                                "end": {
                                  "line": 16,
                                  "column": 31
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 593,
                              "end": 600,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 32
                                },
                                "end": {
                                  "line": 16,
                                  "column": 39
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 612,
                      "end": 646,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 8
                        },
                        "end": {
                          "line": 17,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 612,
                        "end": 645,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 8
                          },
                          "end": {
                            "line": 17,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 612,
                          "end": 623,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 8
                            },
                            "end": {
                              "line": 17,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 612,
                            "end": 616,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 8
                              },
                              "end": {
                                "line": 17,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 617,
                            "end": 623,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 13
                              },
                              "end": {
                                "line": 17,
                                "column": 19
                              }
                            },
                            "name": "_tempC"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 626,
                          "end": 645,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 22
                            },
                            "end": {
                              "line": 17,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 630,
                            "end": 643,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 26
                              },
                              "end": {
                                "line": 17,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 630,
                              "end": 635,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 26
                                },
                                "end": {
                                  "line": 17,
                                  "column": 31
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 636,
                              "end": 643,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 32
                                },
                                "end": {
                                  "line": 17,
                                  "column": 39
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 655,
                      "end": 687,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 655,
                        "end": 686,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 8
                          },
                          "end": {
                            "line": 18,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 655,
                          "end": 664,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 8
                            },
                            "end": {
                              "line": 18,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 655,
                            "end": 659,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 8
                              },
                              "end": {
                                "line": 18,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 660,
                            "end": 664,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 13
                              },
                              "end": {
                                "line": 18,
                                "column": 17
                              }
                            },
                            "name": "_uvA"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 667,
                          "end": 686,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 20
                            },
                            "end": {
                              "line": 18,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 671,
                            "end": 684,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 24
                              },
                              "end": {
                                "line": 18,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 671,
                              "end": 676,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 24
                                },
                                "end": {
                                  "line": 18,
                                  "column": 29
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 677,
                              "end": 684,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 30
                                },
                                "end": {
                                  "line": 18,
                                  "column": 37
                                }
                              },
                              "name": "Vector2"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 696,
                      "end": 728,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 8
                        },
                        "end": {
                          "line": 19,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 696,
                        "end": 727,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 8
                          },
                          "end": {
                            "line": 19,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 696,
                          "end": 705,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 8
                            },
                            "end": {
                              "line": 19,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 696,
                            "end": 700,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 8
                              },
                              "end": {
                                "line": 19,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 701,
                            "end": 705,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 13
                              },
                              "end": {
                                "line": 19,
                                "column": 17
                              }
                            },
                            "name": "_uvB"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 708,
                          "end": 727,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 20
                            },
                            "end": {
                              "line": 19,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 712,
                            "end": 725,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 24
                              },
                              "end": {
                                "line": 19,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 712,
                              "end": 717,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 24
                                },
                                "end": {
                                  "line": 19,
                                  "column": 29
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 718,
                              "end": 725,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 30
                                },
                                "end": {
                                  "line": 19,
                                  "column": 37
                                }
                              },
                              "name": "Vector2"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 737,
                      "end": 769,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 8
                        },
                        "end": {
                          "line": 20,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 737,
                        "end": 768,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 8
                          },
                          "end": {
                            "line": 20,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 737,
                          "end": 746,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 8
                            },
                            "end": {
                              "line": 20,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 737,
                            "end": 741,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 8
                              },
                              "end": {
                                "line": 20,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 742,
                            "end": 746,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 13
                              },
                              "end": {
                                "line": 20,
                                "column": 17
                              }
                            },
                            "name": "_uvC"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 749,
                          "end": 768,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 20
                            },
                            "end": {
                              "line": 20,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 753,
                            "end": 766,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 24
                              },
                              "end": {
                                "line": 20,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 753,
                              "end": 758,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 24
                                },
                                "end": {
                                  "line": 20,
                                  "column": 29
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 759,
                              "end": 766,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 30
                                },
                                "end": {
                                  "line": 20,
                                  "column": 37
                                }
                              },
                              "name": "Vector2"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 778,
                      "end": 816,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 8
                        },
                        "end": {
                          "line": 21,
                          "column": 46
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 778,
                        "end": 815,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 8
                          },
                          "end": {
                            "line": 21,
                            "column": 45
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 778,
                          "end": 793,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 8
                            },
                            "end": {
                              "line": 21,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 778,
                            "end": 782,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 8
                              },
                              "end": {
                                "line": 21,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 783,
                            "end": 793,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 13
                              },
                              "end": {
                                "line": 21,
                                "column": 23
                              }
                            },
                            "name": "_barycoord"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 796,
                          "end": 815,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 26
                            },
                            "end": {
                              "line": 21,
                              "column": 45
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 800,
                            "end": 813,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 30
                              },
                              "end": {
                                "line": 21,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 800,
                              "end": 805,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 30
                                },
                                "end": {
                                  "line": 21,
                                  "column": 35
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 806,
                              "end": 813,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 36
                                },
                                "end": {
                                  "line": 21,
                                  "column": 43
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 825,
                      "end": 871,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 8
                        },
                        "end": {
                          "line": 22,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 825,
                        "end": 870,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 8
                          },
                          "end": {
                            "line": 22,
                            "column": 53
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 825,
                          "end": 848,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 8
                            },
                            "end": {
                              "line": 22,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 825,
                            "end": 829,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 8
                              },
                              "end": {
                                "line": 22,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 830,
                            "end": 848,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 13
                              },
                              "end": {
                                "line": 22,
                                "column": 31
                              }
                            },
                            "name": "_intersectionPoint"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 851,
                          "end": 870,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 34
                            },
                            "end": {
                              "line": 22,
                              "column": 53
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 855,
                            "end": 868,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 38
                              },
                              "end": {
                                "line": 22,
                                "column": 51
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 855,
                              "end": 860,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 38
                                },
                                "end": {
                                  "line": 22,
                                  "column": 43
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 861,
                              "end": 868,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 44
                                },
                                "end": {
                                  "line": 22,
                                  "column": 51
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 880,
                      "end": 931,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 8
                        },
                        "end": {
                          "line": 23,
                          "column": 59
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 880,
                        "end": 930,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 8
                          },
                          "end": {
                            "line": 23,
                            "column": 58
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 880,
                          "end": 908,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 8
                            },
                            "end": {
                              "line": 23,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 880,
                            "end": 884,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 8
                              },
                              "end": {
                                "line": 23,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 885,
                            "end": 908,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 13
                              },
                              "end": {
                                "line": 23,
                                "column": 36
                              }
                            },
                            "name": "_intersectionPointWorld"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 911,
                          "end": 930,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 39
                            },
                            "end": {
                              "line": 23,
                              "column": 58
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 915,
                            "end": 928,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 43
                              },
                              "end": {
                                "line": 23,
                                "column": 56
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 915,
                              "end": 920,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 43
                                },
                                "end": {
                                  "line": 23,
                                  "column": 48
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 921,
                              "end": 928,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 49
                                },
                                "end": {
                                  "line": 23,
                                  "column": 56
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 943,
              "end": 1109,
              "loc": {
                "start": {
                  "line": 26,
                  "column": 4
                },
                "end": {
                  "line": 32,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 943,
                "end": 960,
                "loc": {
                  "start": {
                    "line": 26,
                    "column": 4
                  },
                  "end": {
                    "line": 26,
                    "column": 21
                  }
                },
                "name": "isActuallyVisible"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 960,
                "end": 1109,
                "loc": {
                  "start": {
                    "line": 26,
                    "column": 21
                  },
                  "end": {
                    "line": 32,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 961,
                    "end": 964,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 22
                      },
                      "end": {
                        "line": 26,
                        "column": 25
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 966,
                  "end": 1109,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 27
                    },
                    "end": {
                      "line": 32,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "WhileStatement",
                      "start": 976,
                      "end": 1082,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 30,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 983,
                        "end": 986,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 15
                          },
                          "end": {
                            "line": 27,
                            "column": 18
                          }
                        },
                        "name": "obj"
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 988,
                        "end": 1082,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 20
                          },
                          "end": {
                            "line": 30,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 1002,
                            "end": 1042,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 12
                              },
                              "end": {
                                "line": 28,
                                "column": 52
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 1006,
                              "end": 1027,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 16
                                },
                                "end": {
                                  "line": 28,
                                  "column": 37
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 1006,
                                "end": 1017,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1006,
                                  "end": 1009,
                                  "loc": {
                                    "start": {
                                      "line": 28,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 28,
                                      "column": 19
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1010,
                                  "end": 1017,
                                  "loc": {
                                    "start": {
                                      "line": 28,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 28,
                                      "column": 27
                                    }
                                  },
                                  "name": "visible"
                                },
                                "computed": false
                              },
                              "operator": "===",
                              "right": {
                                "type": "Literal",
                                "start": 1022,
                                "end": 1027,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 37
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              }
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 1029,
                              "end": 1042,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 39
                                },
                                "end": {
                                  "line": 28,
                                  "column": 52
                                }
                              },
                              "argument": {
                                "type": "Literal",
                                "start": 1036,
                                "end": 1041,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 51
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 1055,
                            "end": 1072,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 12
                              },
                              "end": {
                                "line": 29,
                                "column": 29
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 1055,
                              "end": 1071,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 12
                                },
                                "end": {
                                  "line": 29,
                                  "column": 28
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 1055,
                                "end": 1058,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 15
                                  }
                                },
                                "name": "obj"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 1061,
                                "end": 1071,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 28
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1061,
                                  "end": 1064,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 21
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1065,
                                  "end": 1071,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 28
                                    }
                                  },
                                  "name": "parent"
                                },
                                "computed": false
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 1091,
                      "end": 1103,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 8
                        },
                        "end": {
                          "line": 31,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "Literal",
                        "start": 1098,
                        "end": 1102,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 15
                          },
                          "end": {
                            "line": 31,
                            "column": 19
                          }
                        },
                        "value": true,
                        "rawValue": true,
                        "raw": "true"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 1115,
              "end": 2305,
              "loc": {
                "start": {
                  "line": 34,
                  "column": 4
                },
                "end": {
                  "line": 58,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1115,
                "end": 1126,
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 4
                  },
                  "end": {
                    "line": 34,
                    "column": 15
                  }
                },
                "name": "castObjects"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 1126,
                "end": 2305,
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 15
                  },
                  "end": {
                    "line": 58,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1127,
                    "end": 1138,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 16
                      },
                      "end": {
                        "line": 34,
                        "column": 27
                      }
                    },
                    "name": "coordinates"
                  },
                  {
                    "type": "Identifier",
                    "start": 1140,
                    "end": 1146,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 29
                      },
                      "end": {
                        "line": 34,
                        "column": 35
                      }
                    },
                    "name": "camera"
                  },
                  {
                    "type": "Identifier",
                    "start": 1148,
                    "end": 1155,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 37
                      },
                      "end": {
                        "line": 34,
                        "column": 44
                      }
                    },
                    "name": "objects"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 1157,
                    "end": 1172,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 46
                      },
                      "end": {
                        "line": 34,
                        "column": 61
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 1157,
                      "end": 1167,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 46
                        },
                        "end": {
                          "line": 34,
                          "column": 56
                        }
                      },
                      "name": "intersects"
                    },
                    "right": {
                      "type": "ArrayExpression",
                      "start": 1170,
                      "end": 1172,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 59
                        },
                        "end": {
                          "line": 34,
                          "column": 61
                        }
                      },
                      "elements": []
                    }
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 1174,
                    "end": 1192,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 63
                      },
                      "end": {
                        "line": 34,
                        "column": 81
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 1174,
                      "end": 1180,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 63
                        },
                        "end": {
                          "line": 34,
                          "column": 69
                        }
                      },
                      "name": "filter"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 1183,
                      "end": 1192,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 72
                        },
                        "end": {
                          "line": 34,
                          "column": 81
                        }
                      },
                      "name": "undefined"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1194,
                  "end": 2305,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 83
                    },
                    "end": {
                      "line": 58,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1204,
                      "end": 1244,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1204,
                        "end": 1243,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 47
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1204,
                          "end": 1222,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1204,
                            "end": 1208,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1209,
                            "end": 1222,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 13
                              },
                              "end": {
                                "line": 35,
                                "column": 26
                              }
                            },
                            "name": "setFromCamera"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1223,
                            "end": 1234,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 27
                              },
                              "end": {
                                "line": 35,
                                "column": 38
                              }
                            },
                            "name": "coordinates"
                          },
                          {
                            "type": "Identifier",
                            "start": 1236,
                            "end": 1242,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 40
                              },
                              "end": {
                                "line": 35,
                                "column": 46
                              }
                            },
                            "name": "camera"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ForStatement",
                      "start": 1253,
                      "end": 2121,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 1258,
                        "end": 1295,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 13
                          },
                          "end": {
                            "line": 36,
                            "column": 50
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 1262,
                            "end": 1267,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 17
                              },
                              "end": {
                                "line": 36,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1262,
                              "end": 1263,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 17
                                },
                                "end": {
                                  "line": 36,
                                  "column": 18
                                }
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "Literal",
                              "start": 1266,
                              "end": 1267,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 21
                                },
                                "end": {
                                  "line": 36,
                                  "column": 22
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          },
                          {
                            "type": "VariableDeclarator",
                            "start": 1269,
                            "end": 1287,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 24
                              },
                              "end": {
                                "line": 36,
                                "column": 42
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1269,
                              "end": 1270,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 24
                                },
                                "end": {
                                  "line": 36,
                                  "column": 25
                                }
                              },
                              "name": "l"
                            },
                            "init": {
                              "type": "MemberExpression",
                              "start": 1273,
                              "end": 1287,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 28
                                },
                                "end": {
                                  "line": 36,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1273,
                                "end": 1280,
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 35
                                  }
                                },
                                "name": "objects"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1281,
                                "end": 1287,
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 42
                                  }
                                },
                                "name": "length"
                              },
                              "computed": false
                            }
                          },
                          {
                            "type": "VariableDeclarator",
                            "start": 1289,
                            "end": 1295,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 44
                              },
                              "end": {
                                "line": 36,
                                "column": 50
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1289,
                              "end": 1295,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 44
                                },
                                "end": {
                                  "line": 36,
                                  "column": 50
                                }
                              },
                              "name": "object"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1297,
                        "end": 1302,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 52
                          },
                          "end": {
                            "line": 36,
                            "column": 57
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1297,
                          "end": 1298,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 52
                            },
                            "end": {
                              "line": 36,
                              "column": 53
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "Identifier",
                          "start": 1301,
                          "end": 1302,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 56
                            },
                            "end": {
                              "line": 36,
                              "column": 57
                            }
                          },
                          "name": "l"
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 1304,
                        "end": 1307,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 59
                          },
                          "end": {
                            "line": 36,
                            "column": 62
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 1304,
                          "end": 1305,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 59
                            },
                            "end": {
                              "line": 36,
                              "column": 60
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 1309,
                        "end": 2121,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 64
                          },
                          "end": {
                            "line": 53,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 1323,
                            "end": 1343,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 12
                              },
                              "end": {
                                "line": 37,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 1323,
                              "end": 1342,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 12
                                },
                                "end": {
                                  "line": 37,
                                  "column": 31
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 1323,
                                "end": 1329,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 18
                                  }
                                },
                                "name": "object"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 1332,
                                "end": 1342,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1332,
                                  "end": 1339,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 28
                                    }
                                  },
                                  "name": "objects"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1340,
                                  "end": 1341,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 30
                                    }
                                  },
                                  "name": "i"
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 1356,
                            "end": 2111,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 12
                              },
                              "end": {
                                "line": 52,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 1435,
                              "end": 1937,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 16
                                },
                                "end": {
                                  "line": 49,
                                  "column": 49
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 1435,
                                "end": 1852,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 45
                                  }
                                },
                                "left": {
                                  "type": "LogicalExpression",
                                  "start": 1435,
                                  "end": 1735,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 45
                                    }
                                  },
                                  "left": {
                                    "type": "LogicalExpression",
                                    "start": 1435,
                                    "end": 1654,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 37
                                      }
                                    },
                                    "left": {
                                      "type": "LogicalExpression",
                                      "start": 1435,
                                      "end": 1575,
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 41,
                                          "column": 37
                                        }
                                      },
                                      "left": {
                                        "type": "LogicalExpression",
                                        "start": 1436,
                                        "end": 1497,
                                        "loc": {
                                          "start": {
                                            "line": 39,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 39,
                                            "column": 78
                                          }
                                        },
                                        "left": {
                                          "type": "LogicalExpression",
                                          "start": 1436,
                                          "end": 1466,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 47
                                            }
                                          },
                                          "left": {
                                            "type": "UnaryExpression",
                                            "start": 1436,
                                            "end": 1443,
                                            "loc": {
                                              "start": {
                                                "line": 39,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 39,
                                                "column": 24
                                              }
                                            },
                                            "operator": "!",
                                            "prefix": true,
                                            "argument": {
                                              "type": "Identifier",
                                              "start": 1437,
                                              "end": 1443,
                                              "loc": {
                                                "start": {
                                                  "line": 39,
                                                  "column": 18
                                                },
                                                "end": {
                                                  "line": 39,
                                                  "column": 24
                                                }
                                              },
                                              "name": "filter",
                                              "leadingComments": null
                                            },
                                            "leadingComments": null
                                          },
                                          "operator": "||",
                                          "right": {
                                            "type": "BinaryExpression",
                                            "start": 1447,
                                            "end": 1466,
                                            "loc": {
                                              "start": {
                                                "line": 39,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 39,
                                                "column": 47
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 1447,
                                              "end": 1460,
                                              "loc": {
                                                "start": {
                                                  "line": 39,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 39,
                                                  "column": 41
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 1447,
                                                "end": 1453,
                                                "loc": {
                                                  "start": {
                                                    "line": 39,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 39,
                                                    "column": 34
                                                  }
                                                },
                                                "name": "filter"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 1454,
                                                "end": 1460,
                                                "loc": {
                                                  "start": {
                                                    "line": 39,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 39,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "length"
                                              },
                                              "computed": false
                                            },
                                            "operator": "===",
                                            "right": {
                                              "type": "Literal",
                                              "start": 1465,
                                              "end": 1466,
                                              "loc": {
                                                "start": {
                                                  "line": 39,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 39,
                                                  "column": 47
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          },
                                          "leadingComments": null
                                        },
                                        "operator": "||",
                                        "right": {
                                          "type": "BinaryExpression",
                                          "start": 1470,
                                          "end": 1497,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 78
                                            }
                                          },
                                          "left": {
                                            "type": "CallExpression",
                                            "start": 1470,
                                            "end": 1492,
                                            "loc": {
                                              "start": {
                                                "line": 39,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 39,
                                                "column": 73
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 1470,
                                              "end": 1484,
                                              "loc": {
                                                "start": {
                                                  "line": 39,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 39,
                                                  "column": 65
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 1470,
                                                "end": 1476,
                                                "loc": {
                                                  "start": {
                                                    "line": 39,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 39,
                                                    "column": 57
                                                  }
                                                },
                                                "name": "filter"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 1477,
                                                "end": 1484,
                                                "loc": {
                                                  "start": {
                                                    "line": 39,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 39,
                                                    "column": 65
                                                  }
                                                },
                                                "name": "indexOf"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 1485,
                                                "end": 1491,
                                                "loc": {
                                                  "start": {
                                                    "line": 39,
                                                    "column": 66
                                                  },
                                                  "end": {
                                                    "line": 39,
                                                    "column": 72
                                                  }
                                                },
                                                "name": "object"
                                              }
                                            ]
                                          },
                                          "operator": ">=",
                                          "right": {
                                            "type": "Literal",
                                            "start": 1496,
                                            "end": 1497,
                                            "loc": {
                                              "start": {
                                                "line": 39,
                                                "column": 77
                                              },
                                              "end": {
                                                "line": 39,
                                                "column": 78
                                              }
                                            },
                                            "value": 0,
                                            "rawValue": 0,
                                            "raw": "0"
                                          }
                                        },
                                        "leadingComments": null,
                                        "parenthesizedExpression": true
                                      },
                                      "operator": "&&",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 1557,
                                        "end": 1575,
                                        "loc": {
                                          "start": {
                                            "line": 41,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 41,
                                            "column": 37
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 1557,
                                          "end": 1563,
                                          "loc": {
                                            "start": {
                                              "line": 41,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 41,
                                              "column": 25
                                            }
                                          },
                                          "name": "object",
                                          "leadingComments": null
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1564,
                                          "end": 1575,
                                          "loc": {
                                            "start": {
                                              "line": 41,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 41,
                                              "column": 37
                                            }
                                          },
                                          "name": "interactive",
                                          "leadingComments": null,
                                          "trailingComments": null
                                        },
                                        "computed": false,
                                        "leadingComments": [
                                          {
                                            "type": "CommentLine",
                                            "value": " must be interactive",
                                            "start": 1515,
                                            "end": 1537,
                                            "loc": {
                                              "start": {
                                                "line": 40,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 40,
                                                "column": 38
                                              }
                                            },
                                            "range": [
                                              1515,
                                              1537
                                            ]
                                          }
                                        ],
                                        "trailingComments": null
                                      },
                                      "leadingComments": null,
                                      "trailingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " must have interaction",
                                          "start": 1592,
                                          "end": 1616,
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 42,
                                              "column": 40
                                            }
                                          },
                                          "range": [
                                            1592,
                                            1616
                                          ]
                                        }
                                      ]
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 1636,
                                      "end": 1654,
                                      "loc": {
                                        "start": {
                                          "line": 43,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 43,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1636,
                                        "end": 1642,
                                        "loc": {
                                          "start": {
                                            "line": 43,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 43,
                                            "column": 25
                                          }
                                        },
                                        "name": "object",
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1643,
                                        "end": 1654,
                                        "loc": {
                                          "start": {
                                            "line": 43,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 43,
                                            "column": 37
                                          }
                                        },
                                        "name": "interaction",
                                        "leadingComments": null,
                                        "trailingComments": null
                                      },
                                      "computed": false,
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " must have interaction",
                                          "start": 1592,
                                          "end": 1616,
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 42,
                                              "column": 40
                                            }
                                          },
                                          "range": [
                                            1592,
                                            1616
                                          ]
                                        }
                                      ],
                                      "trailingComments": null
                                    },
                                    "leadingComments": null,
                                    "trailingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " must be enabled",
                                        "start": 1671,
                                        "end": 1689,
                                        "loc": {
                                          "start": {
                                            "line": 44,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 44,
                                            "column": 34
                                          }
                                        },
                                        "range": [
                                          1671,
                                          1689
                                        ]
                                      }
                                    ]
                                  },
                                  "operator": "&&",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 1709,
                                    "end": 1735,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 45
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 1709,
                                      "end": 1727,
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1709,
                                        "end": 1715,
                                        "loc": {
                                          "start": {
                                            "line": 45,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 45,
                                            "column": 25
                                          }
                                        },
                                        "name": "object",
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1716,
                                        "end": 1727,
                                        "loc": {
                                          "start": {
                                            "line": 45,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 45,
                                            "column": 37
                                          }
                                        },
                                        "name": "interaction"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1728,
                                      "end": 1735,
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 45
                                        }
                                      },
                                      "name": "enabled",
                                      "leadingComments": null,
                                      "trailingComments": null
                                    },
                                    "computed": false,
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " must be enabled",
                                        "start": 1671,
                                        "end": 1689,
                                        "loc": {
                                          "start": {
                                            "line": 44,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 44,
                                            "column": 34
                                          }
                                        },
                                        "range": [
                                          1671,
                                          1689
                                        ]
                                      }
                                    ],
                                    "trailingComments": null
                                  },
                                  "leadingComments": null,
                                  "trailingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " muste be activ (have interaction related listeners)",
                                      "start": 1752,
                                      "end": 1806,
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 70
                                        }
                                      },
                                      "range": [
                                        1752,
                                        1806
                                      ]
                                    }
                                  ]
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 1826,
                                  "end": 1852,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1826,
                                    "end": 1844,
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 37
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1826,
                                      "end": 1832,
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 25
                                        }
                                      },
                                      "name": "object",
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1833,
                                      "end": 1844,
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 37
                                        }
                                      },
                                      "name": "interaction"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1845,
                                    "end": 1852,
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 45
                                      }
                                    },
                                    "name": "_active",
                                    "leadingComments": null,
                                    "trailingComments": null
                                  },
                                  "computed": false,
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " muste be activ (have interaction related listeners)",
                                      "start": 1752,
                                      "end": 1806,
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 70
                                        }
                                      },
                                      "range": [
                                        1752,
                                        1806
                                      ]
                                    }
                                  ],
                                  "trailingComments": null
                                },
                                "leadingComments": null,
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " must be visible",
                                    "start": 1869,
                                    "end": 1887,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 34
                                      }
                                    },
                                    "range": [
                                      1869,
                                      1887
                                    ]
                                  }
                                ]
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 1907,
                                "end": 1937,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 49
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1907,
                                  "end": 1929,
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 1907,
                                    "end": 1911,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 23
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1912,
                                    "end": 1929,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 41
                                      }
                                    },
                                    "name": "isActuallyVisible"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 1930,
                                    "end": 1936,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 48
                                      }
                                    },
                                    "name": "object"
                                  }
                                ],
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " must be visible",
                                    "start": 1869,
                                    "end": 1887,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 34
                                      }
                                    },
                                    "range": [
                                      1869,
                                      1887
                                    ]
                                  }
                                ]
                              },
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": " No filter, filter is empty, or object is part of filter",
                                  "start": 1360,
                                  "end": 1418,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 74
                                    }
                                  },
                                  "range": [
                                    1360,
                                    1418
                                  ]
                                }
                              ]
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 1939,
                              "end": 2111,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 51
                                },
                                "end": {
                                  "line": 52,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 1998,
                                  "end": 2097,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 115
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 1998,
                                    "end": 2096,
                                    "loc": {
                                      "start": {
                                        "line": 51,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 114
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 1998,
                                      "end": 2012,
                                      "loc": {
                                        "start": {
                                          "line": 51,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 51,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 1998,
                                        "end": 2002,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 20
                                          }
                                        },
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2003,
                                        "end": 2012,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 30
                                          }
                                        },
                                        "name": "intersect"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 2013,
                                        "end": 2019,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 37
                                          }
                                        },
                                        "name": "object"
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "start": 2021,
                                        "end": 2049,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 67
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 2021,
                                          "end": 2039,
                                          "loc": {
                                            "start": {
                                              "line": 51,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 51,
                                              "column": 57
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2021,
                                            "end": 2027,
                                            "loc": {
                                              "start": {
                                                "line": 51,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 51,
                                                "column": 45
                                              }
                                            },
                                            "name": "object"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2028,
                                            "end": 2039,
                                            "loc": {
                                              "start": {
                                                "line": 51,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 51,
                                                "column": 57
                                              }
                                            },
                                            "name": "interaction"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2040,
                                          "end": 2049,
                                          "loc": {
                                            "start": {
                                              "line": 51,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 51,
                                              "column": 67
                                            }
                                          },
                                          "name": "recursive"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 2051,
                                        "end": 2061,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 79
                                          }
                                        },
                                        "name": "intersects"
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "start": 2063,
                                        "end": 2087,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 81
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 105
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 2063,
                                          "end": 2081,
                                          "loc": {
                                            "start": {
                                              "line": 51,
                                              "column": 81
                                            },
                                            "end": {
                                              "line": 51,
                                              "column": 99
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2063,
                                            "end": 2069,
                                            "loc": {
                                              "start": {
                                                "line": 51,
                                                "column": 81
                                              },
                                              "end": {
                                                "line": 51,
                                                "column": 87
                                              }
                                            },
                                            "name": "object"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2070,
                                            "end": 2081,
                                            "loc": {
                                              "start": {
                                                "line": 51,
                                                "column": 88
                                              },
                                              "end": {
                                                "line": 51,
                                                "column": 99
                                              }
                                            },
                                            "name": "interaction"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2082,
                                          "end": 2087,
                                          "loc": {
                                            "start": {
                                              "line": 51,
                                              "column": 100
                                            },
                                            "end": {
                                              "line": 51,
                                              "column": 105
                                            }
                                          },
                                          "name": "types"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 2089,
                                        "end": 2095,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 107
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 113
                                          }
                                        },
                                        "name": "object"
                                      }
                                    ],
                                    "leadingComments": null
                                  },
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " ... then we intersect",
                                      "start": 1957,
                                      "end": 1981,
                                      "loc": {
                                        "start": {
                                          "line": 50,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 50,
                                          "column": 40
                                        }
                                      },
                                      "range": [
                                        1957,
                                        1981
                                      ]
                                    }
                                  ]
                                }
                              ]
                            },
                            "alternate": null
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2130,
                      "end": 2272,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 8
                        },
                        "end": {
                          "line": 56,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2130,
                        "end": 2271,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 8
                          },
                          "end": {
                            "line": 56,
                            "column": 9
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2130,
                          "end": 2145,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2130,
                            "end": 2140,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 8
                              },
                              "end": {
                                "line": 54,
                                "column": 18
                              }
                            },
                            "name": "intersects"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2141,
                            "end": 2145,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 19
                              },
                              "end": {
                                "line": 54,
                                "column": 23
                              }
                            },
                            "name": "sort"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2147,
                            "end": 2261,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 25
                              },
                              "end": {
                                "line": 55,
                                "column": 104
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 2148,
                                "end": 2149,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 27
                                  }
                                },
                                "name": "a"
                              },
                              {
                                "type": "Identifier",
                                "start": 2151,
                                "end": 2152,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 30
                                  }
                                },
                                "name": "b"
                              }
                            ],
                            "body": {
                              "type": "LogicalExpression",
                              "start": 2169,
                              "end": 2261,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 12
                                },
                                "end": {
                                  "line": 55,
                                  "column": 104
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 2169,
                                "end": 2234,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 77
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 2169,
                                  "end": 2200,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 2169,
                                    "end": 2191,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2169,
                                      "end": 2179,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 22
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2169,
                                        "end": 2170,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 13
                                          }
                                        },
                                        "name": "b"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2171,
                                        "end": 2179,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 22
                                          }
                                        },
                                        "name": "receiver"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2180,
                                      "end": 2191,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 34
                                        }
                                      },
                                      "name": "interaction"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2192,
                                    "end": 2200,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 43
                                      }
                                    },
                                    "name": "priority"
                                  },
                                  "computed": false
                                },
                                "operator": "-",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 2203,
                                  "end": 2234,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 77
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 2203,
                                    "end": 2225,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 68
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2203,
                                      "end": 2213,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 56
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2203,
                                        "end": 2204,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 47
                                          }
                                        },
                                        "name": "a"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2205,
                                        "end": 2213,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 56
                                          }
                                        },
                                        "name": "receiver"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2214,
                                      "end": 2225,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 68
                                        }
                                      },
                                      "name": "interaction"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2226,
                                    "end": 2234,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 69
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 77
                                      }
                                    },
                                    "name": "priority"
                                  },
                                  "computed": false
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 2238,
                                "end": 2261,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 81
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 104
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 2238,
                                  "end": 2248,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 91
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2238,
                                    "end": 2239,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 82
                                      }
                                    },
                                    "name": "a"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2240,
                                    "end": 2248,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 83
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 91
                                      }
                                    },
                                    "name": "distance"
                                  },
                                  "computed": false
                                },
                                "operator": "-",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 2251,
                                  "end": 2261,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 94
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 104
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2251,
                                    "end": 2252,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 94
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 95
                                      }
                                    },
                                    "name": "b"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2253,
                                    "end": 2261,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 96
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 104
                                      }
                                    },
                                    "name": "distance"
                                  },
                                  "computed": false
                                }
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2281,
                      "end": 2299,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 57,
                          "column": 26
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 2288,
                        "end": 2298,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 15
                          },
                          "end": {
                            "line": 57,
                            "column": 25
                          }
                        },
                        "name": "intersects"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 2311,
              "end": 4078,
              "loc": {
                "start": {
                  "line": 60,
                  "column": 4
                },
                "end": {
                  "line": 110,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2311,
                "end": 2320,
                "loc": {
                  "start": {
                    "line": 60,
                    "column": 4
                  },
                  "end": {
                    "line": 60,
                    "column": 13
                  }
                },
                "name": "intersect"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 2320,
                "end": 4078,
                "loc": {
                  "start": {
                    "line": 60,
                    "column": 13
                  },
                  "end": {
                    "line": 110,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2321,
                    "end": 2327,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 14
                      },
                      "end": {
                        "line": 60,
                        "column": 20
                      }
                    },
                    "name": "object"
                  },
                  {
                    "type": "Identifier",
                    "start": 2329,
                    "end": 2338,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 22
                      },
                      "end": {
                        "line": 60,
                        "column": 31
                      }
                    },
                    "name": "recursive"
                  },
                  {
                    "type": "Identifier",
                    "start": 2340,
                    "end": 2350,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 33
                      },
                      "end": {
                        "line": 60,
                        "column": 43
                      }
                    },
                    "name": "intersects"
                  },
                  {
                    "type": "Identifier",
                    "start": 2352,
                    "end": 2357,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 45
                      },
                      "end": {
                        "line": 60,
                        "column": 50
                      }
                    },
                    "name": "types"
                  },
                  {
                    "type": "Identifier",
                    "start": 2359,
                    "end": 2365,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 52
                      },
                      "end": {
                        "line": 60,
                        "column": 58
                      }
                    },
                    "name": "parent"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2367,
                  "end": 4078,
                  "loc": {
                    "start": {
                      "line": 60,
                      "column": 60
                    },
                    "end": {
                      "line": 110,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 2378,
                      "end": 2392,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 22
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2382,
                          "end": 2391,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 12
                            },
                            "end": {
                              "line": 62,
                              "column": 21
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2382,
                            "end": 2384,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 12
                              },
                              "end": {
                                "line": 62,
                                "column": 14
                              }
                            },
                            "name": "op"
                          },
                          "init": {
                            "type": "Literal",
                            "start": 2387,
                            "end": 2391,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 17
                              },
                              "end": {
                                "line": 62,
                                "column": 21
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          }
                        }
                      ],
                      "kind": "let",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Inspect types",
                          "start": 2402,
                          "end": 2418,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 24
                            }
                          },
                          "range": [
                            2402,
                            2418
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 2427,
                      "end": 2663,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 70,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 2431,
                        "end": 2438,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 12
                          },
                          "end": {
                            "line": 65,
                            "column": 19
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "UnaryExpression",
                          "start": 2432,
                          "end": 2438,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 13
                            },
                            "end": {
                              "line": 65,
                              "column": 19
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 2433,
                            "end": 2438,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 14
                              },
                              "end": {
                                "line": 65,
                                "column": 19
                              }
                            },
                            "name": "types",
                            "leadingComments": null
                          },
                          "leadingComments": null
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2440,
                        "end": 2663,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 21
                          },
                          "end": {
                            "line": 70,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 2454,
                            "end": 2653,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 12
                              },
                              "end": {
                                "line": 69,
                                "column": 35
                              }
                            },
                            "test": {
                              "type": "CallExpression",
                              "start": 2458,
                              "end": 2478,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 16
                                },
                                "end": {
                                  "line": 66,
                                  "column": 36
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2458,
                                "end": 2471,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2458,
                                  "end": 2463,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 21
                                    }
                                  },
                                  "name": "Array"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2464,
                                  "end": 2471,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 29
                                    }
                                  },
                                  "name": "isArray"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 2472,
                                  "end": 2477,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 35
                                    }
                                  },
                                  "name": "types"
                                }
                              ]
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 2496,
                              "end": 2567,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 16
                                },
                                "end": {
                                  "line": 67,
                                  "column": 87
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 2496,
                                "end": 2566,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 86
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 2496,
                                  "end": 2498,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 18
                                    }
                                  },
                                  "name": "op"
                                },
                                "right": {
                                  "type": "UnaryExpression",
                                  "start": 2501,
                                  "end": 2566,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 86
                                    }
                                  },
                                  "operator": "!",
                                  "prefix": true,
                                  "argument": {
                                    "type": "LogicalExpression",
                                    "start": 2503,
                                    "end": 2565,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 85
                                      }
                                    },
                                    "left": {
                                      "type": "BinaryExpression",
                                      "start": 2503,
                                      "end": 2529,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 49
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 2503,
                                        "end": 2514,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 34
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2503,
                                          "end": 2509,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 29
                                            }
                                          },
                                          "name": "object"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2510,
                                          "end": 2514,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 34
                                            }
                                          },
                                          "name": "type"
                                        },
                                        "computed": false
                                      },
                                      "operator": "!==",
                                      "right": {
                                        "type": "Literal",
                                        "start": 2519,
                                        "end": 2529,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 49
                                          }
                                        },
                                        "value": "Object3D",
                                        "rawValue": "Object3D",
                                        "raw": "'Object3D'"
                                      }
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 2533,
                                      "end": 2565,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 85
                                        }
                                      },
                                      "left": {
                                        "type": "CallExpression",
                                        "start": 2533,
                                        "end": 2559,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 79
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2533,
                                          "end": 2546,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 53
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 66
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2533,
                                            "end": 2538,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 53
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 58
                                              }
                                            },
                                            "name": "types"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2539,
                                            "end": 2546,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 59
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 66
                                              }
                                            },
                                            "name": "indexOf"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 2547,
                                            "end": 2558,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 67
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 78
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2547,
                                              "end": 2553,
                                              "loc": {
                                                "start": {
                                                  "line": 67,
                                                  "column": 67
                                                },
                                                "end": {
                                                  "line": 67,
                                                  "column": 73
                                                }
                                              },
                                              "name": "object"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2554,
                                              "end": 2558,
                                              "loc": {
                                                "start": {
                                                  "line": 67,
                                                  "column": 74
                                                },
                                                "end": {
                                                  "line": 67,
                                                  "column": 78
                                                }
                                              },
                                              "name": "type"
                                            },
                                            "computed": false
                                          }
                                        ]
                                      },
                                      "operator": "==",
                                      "right": {
                                        "type": "UnaryExpression",
                                        "start": 2563,
                                        "end": 2565,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 85
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Literal",
                                          "start": 2564,
                                          "end": 2565,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 84
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 85
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        }
                                      }
                                    },
                                    "parenthesizedExpression": true
                                  }
                                }
                              }
                            },
                            "alternate": {
                              "type": "IfStatement",
                              "start": 2585,
                              "end": 2653,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 17
                                },
                                "end": {
                                  "line": 69,
                                  "column": 35
                                }
                              },
                              "test": {
                                "type": "BinaryExpression",
                                "start": 2589,
                                "end": 2616,
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 48
                                  }
                                },
                                "left": {
                                  "type": "UnaryExpression",
                                  "start": 2589,
                                  "end": 2601,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 33
                                    }
                                  },
                                  "operator": "typeof",
                                  "prefix": true,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 2596,
                                    "end": 2601,
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 33
                                      }
                                    },
                                    "name": "types"
                                  }
                                },
                                "operator": "===",
                                "right": {
                                  "type": "Literal",
                                  "start": 2606,
                                  "end": 2616,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 48
                                    }
                                  },
                                  "value": "function",
                                  "rawValue": "function",
                                  "raw": "\"function\""
                                }
                              },
                              "consequent": {
                                "type": "ExpressionStatement",
                                "start": 2634,
                                "end": 2653,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 35
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 2634,
                                  "end": 2652,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 34
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 2634,
                                    "end": 2636,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 18
                                      }
                                    },
                                    "name": "op"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 2639,
                                    "end": 2652,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 34
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 2639,
                                      "end": 2644,
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 26
                                        }
                                      },
                                      "name": "types"
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 2645,
                                        "end": 2651,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 33
                                          }
                                        },
                                        "name": "object"
                                      }
                                    ]
                                  }
                                }
                              },
                              "alternate": null
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Inspect types",
                          "start": 2402,
                          "end": 2418,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 24
                            }
                          },
                          "range": [
                            2402,
                            2418
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " false op stops operation right here, undefined op at least proceeds with childs",
                          "start": 2673,
                          "end": 2755,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 90
                            }
                          },
                          "range": [
                            2673,
                            2755
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 2764,
                      "end": 2799,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 8
                        },
                        "end": {
                          "line": 74,
                          "column": 18
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 2768,
                        "end": 2779,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 12
                          },
                          "end": {
                            "line": 73,
                            "column": 23
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 2768,
                          "end": 2770,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 12
                            },
                            "end": {
                              "line": 73,
                              "column": 14
                            }
                          },
                          "name": "op",
                          "leadingComments": null
                        },
                        "operator": "==",
                        "right": {
                          "type": "Literal",
                          "start": 2774,
                          "end": 2779,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 18
                            },
                            "end": {
                              "line": 73,
                              "column": 23
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 2793,
                        "end": 2799,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 12
                          },
                          "end": {
                            "line": 74,
                            "column": 18
                          }
                        },
                        "argument": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " false op stops operation right here, undefined op at least proceeds with childs",
                          "start": 2673,
                          "end": 2755,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 90
                            }
                          },
                          "range": [
                            2673,
                            2755
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2809,
                      "end": 2839,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 38
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2813,
                          "end": 2838,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 12
                            },
                            "end": {
                              "line": 76,
                              "column": 37
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2813,
                            "end": 2818,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 12
                              },
                              "end": {
                                "line": 76,
                                "column": 17
                              }
                            },
                            "name": "count"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 2821,
                            "end": 2838,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 20
                              },
                              "end": {
                                "line": 76,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2821,
                              "end": 2831,
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 20
                                },
                                "end": {
                                  "line": 76,
                                  "column": 30
                                }
                              },
                              "name": "intersects"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2832,
                              "end": 2838,
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 31
                                },
                                "end": {
                                  "line": 76,
                                  "column": 37
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "let",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " true op allows raycast",
                          "start": 2849,
                          "end": 2874,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 8
                            },
                            "end": {
                              "line": 78,
                              "column": 33
                            }
                          },
                          "range": [
                            2849,
                            2874
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 2883,
                      "end": 2973,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 8
                        },
                        "end": {
                          "line": 80,
                          "column": 74
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 2887,
                        "end": 2897,
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 12
                          },
                          "end": {
                            "line": 79,
                            "column": 22
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 2887,
                          "end": 2889,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 12
                            },
                            "end": {
                              "line": 79,
                              "column": 14
                            }
                          },
                          "name": "op",
                          "leadingComments": null
                        },
                        "operator": "==",
                        "right": {
                          "type": "Literal",
                          "start": 2893,
                          "end": 2897,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 18
                            },
                            "end": {
                              "line": 79,
                              "column": 22
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 2911,
                        "end": 2973,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 12
                          },
                          "end": {
                            "line": 80,
                            "column": 74
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 2911,
                          "end": 2972,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 12
                            },
                            "end": {
                              "line": 80,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2911,
                            "end": 2925,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 12
                              },
                              "end": {
                                "line": 80,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2911,
                              "end": 2917,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 12
                                },
                                "end": {
                                  "line": 80,
                                  "column": 18
                                }
                              },
                              "name": "object"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2918,
                              "end": 2925,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 19
                                },
                                "end": {
                                  "line": 80,
                                  "column": 26
                                }
                              },
                              "name": "raycast"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 2926,
                              "end": 2930,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 27
                                },
                                "end": {
                                  "line": 80,
                                  "column": 31
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "start": 2932,
                              "end": 2942,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 33
                                },
                                "end": {
                                  "line": 80,
                                  "column": 43
                                }
                              },
                              "name": "intersects"
                            },
                            {
                              "type": "MemberExpression",
                              "start": 2944,
                              "end": 2971,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 45
                                },
                                "end": {
                                  "line": 80,
                                  "column": 72
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 2944,
                                "end": 2962,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 63
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2944,
                                  "end": 2950,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 51
                                    }
                                  },
                                  "name": "parent"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2951,
                                  "end": 2962,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 63
                                    }
                                  },
                                  "name": "interaction"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2963,
                                "end": 2971,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 72
                                  }
                                },
                                "name": "approach"
                              },
                              "computed": false
                            }
                          ]
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " true op allows raycast",
                          "start": 2849,
                          "end": 2874,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 8
                            },
                            "end": {
                              "line": 78,
                              "column": 33
                            }
                          },
                          "range": [
                            2849,
                            2874
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2983,
                      "end": 3024,
                      "loc": {
                        "start": {
                          "line": 82,
                          "column": 8
                        },
                        "end": {
                          "line": 82,
                          "column": 49
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2987,
                          "end": 3023,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 12
                            },
                            "end": {
                              "line": 82,
                              "column": 48
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2987,
                            "end": 2994,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 12
                              },
                              "end": {
                                "line": 82,
                                "column": 19
                              }
                            },
                            "name": "changes"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 2997,
                            "end": 3023,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 22
                              },
                              "end": {
                                "line": 82,
                                "column": 48
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 2997,
                              "end": 3014,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 22
                                },
                                "end": {
                                  "line": 82,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2997,
                                "end": 3007,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 32
                                  }
                                },
                                "name": "intersects"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3008,
                                "end": 3014,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 39
                                  }
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "operator": "!=",
                            "right": {
                              "type": "Identifier",
                              "start": 3018,
                              "end": 3023,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 43
                                },
                                "end": {
                                  "line": 82,
                                  "column": 48
                                }
                              },
                              "name": "count"
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 3033,
                      "end": 3462,
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 8
                        },
                        "end": {
                          "line": 93,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 3037,
                        "end": 3044,
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 12
                          },
                          "end": {
                            "line": 83,
                            "column": 19
                          }
                        },
                        "name": "changes"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 3046,
                        "end": 3462,
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 21
                          },
                          "end": {
                            "line": 93,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ForStatement",
                            "start": 3060,
                            "end": 3452,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 12
                              },
                              "end": {
                                "line": 92,
                                "column": 13
                              }
                            },
                            "init": {
                              "type": "VariableDeclaration",
                              "start": 3065,
                              "end": 3112,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 17
                                },
                                "end": {
                                  "line": 84,
                                  "column": 64
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 3069,
                                  "end": 3078,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 30
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 3069,
                                    "end": 3070,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 22
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "init": {
                                    "type": "Identifier",
                                    "start": 3073,
                                    "end": 3078,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 30
                                      }
                                    },
                                    "name": "count"
                                  }
                                },
                                {
                                  "type": "VariableDeclarator",
                                  "start": 3080,
                                  "end": 3089,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 41
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 3080,
                                    "end": 3089,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 41
                                      }
                                    },
                                    "name": "intersect"
                                  },
                                  "init": null
                                },
                                {
                                  "type": "VariableDeclarator",
                                  "start": 3091,
                                  "end": 3112,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 64
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 3091,
                                    "end": 3092,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 44
                                      }
                                    },
                                    "name": "l"
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "start": 3095,
                                    "end": 3112,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 64
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3095,
                                      "end": 3105,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 57
                                        }
                                      },
                                      "name": "intersects"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3106,
                                      "end": 3112,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 64
                                        }
                                      },
                                      "name": "length"
                                    },
                                    "computed": false
                                  }
                                }
                              ],
                              "kind": "let"
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 3114,
                              "end": 3119,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 66
                                },
                                "end": {
                                  "line": 84,
                                  "column": 71
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 3114,
                                "end": 3115,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 66
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 67
                                  }
                                },
                                "name": "i"
                              },
                              "operator": "<",
                              "right": {
                                "type": "Identifier",
                                "start": 3118,
                                "end": 3119,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 71
                                  }
                                },
                                "name": "l"
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "start": 3121,
                              "end": 3124,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 73
                                },
                                "end": {
                                  "line": 84,
                                  "column": 76
                                }
                              },
                              "operator": "++",
                              "prefix": false,
                              "argument": {
                                "type": "Identifier",
                                "start": 3121,
                                "end": 3122,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 73
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 74
                                  }
                                },
                                "name": "i"
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "start": 3126,
                              "end": 3452,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 78
                                },
                                "end": {
                                  "line": 92,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 3144,
                                  "end": 3170,
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 42
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 3144,
                                    "end": 3169,
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 41
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 3144,
                                      "end": 3153,
                                      "loc": {
                                        "start": {
                                          "line": 85,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 85,
                                          "column": 25
                                        }
                                      },
                                      "name": "intersect"
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 3156,
                                      "end": 3169,
                                      "loc": {
                                        "start": {
                                          "line": 85,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 85,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3156,
                                        "end": 3166,
                                        "loc": {
                                          "start": {
                                            "line": 85,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 85,
                                            "column": 38
                                          }
                                        },
                                        "name": "intersects"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3167,
                                        "end": 3168,
                                        "loc": {
                                          "start": {
                                            "line": 85,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 85,
                                            "column": 40
                                          }
                                        },
                                        "name": "i"
                                      },
                                      "computed": true
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 3187,
                                  "end": 3215,
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 44
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 3187,
                                    "end": 3214,
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 43
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 3187,
                                      "end": 3205,
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 34
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3187,
                                        "end": 3196,
                                        "loc": {
                                          "start": {
                                            "line": 86,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 86,
                                            "column": 25
                                          }
                                        },
                                        "name": "intersect"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3197,
                                        "end": 3205,
                                        "loc": {
                                          "start": {
                                            "line": 86,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 86,
                                            "column": 34
                                          }
                                        },
                                        "name": "receiver"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 3208,
                                      "end": 3214,
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 43
                                        }
                                      },
                                      "name": "parent"
                                    }
                                  },
                                  "trailingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " If the parent/receiver is not recursive data.object should point back to it",
                                      "start": 3233,
                                      "end": 3311,
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 94
                                        }
                                      },
                                      "range": [
                                        3233,
                                        3311
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 3328,
                                  "end": 3438,
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 17
                                    }
                                  },
                                  "test": {
                                    "type": "UnaryExpression",
                                    "start": 3332,
                                    "end": 3361,
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 49
                                      }
                                    },
                                    "operator": "!",
                                    "prefix": true,
                                    "argument": {
                                      "type": "MemberExpression",
                                      "start": 3333,
                                      "end": 3361,
                                      "loc": {
                                        "start": {
                                          "line": 89,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 89,
                                          "column": 49
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 3333,
                                        "end": 3351,
                                        "loc": {
                                          "start": {
                                            "line": 89,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 89,
                                            "column": 39
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 3333,
                                          "end": 3339,
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 27
                                            }
                                          },
                                          "name": "parent",
                                          "leadingComments": null
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3340,
                                          "end": 3351,
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 39
                                            }
                                          },
                                          "name": "interaction"
                                        },
                                        "computed": false,
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3352,
                                        "end": 3361,
                                        "loc": {
                                          "start": {
                                            "line": 89,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 89,
                                            "column": 49
                                          }
                                        },
                                        "name": "recursive"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "leadingComments": null
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 3363,
                                    "end": 3438,
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 17
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 3385,
                                        "end": 3420,
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 55
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 3385,
                                          "end": 3419,
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 54
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 3385,
                                            "end": 3410,
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 45
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 3385,
                                              "end": 3403,
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 38
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 3385,
                                                "end": 3394,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 29
                                                  }
                                                },
                                                "name": "intersect"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3395,
                                                "end": 3403,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 38
                                                  }
                                                },
                                                "name": "receiver"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3404,
                                              "end": 3410,
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 45
                                                }
                                              },
                                              "name": "object"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "start": 3413,
                                            "end": 3419,
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 54
                                              }
                                            },
                                            "name": "parent"
                                          }
                                        }
                                      }
                                    ]
                                  },
                                  "alternate": null,
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " If the parent/receiver is not recursive data.object should point back to it",
                                      "start": 3233,
                                      "end": 3311,
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 94
                                        }
                                      },
                                      "range": [
                                        3233,
                                        3311
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " If the root is not recursive and hits have already been made out, there's",
                          "start": 3472,
                          "end": 3548,
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 8
                            },
                            "end": {
                              "line": 95,
                              "column": 84
                            }
                          },
                          "range": [
                            3472,
                            3548
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " no point in iterating further",
                          "start": 3557,
                          "end": 3589,
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 8
                            },
                            "end": {
                              "line": 96,
                              "column": 40
                            }
                          },
                          "range": [
                            3557,
                            3589
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 3598,
                      "end": 3668,
                      "loc": {
                        "start": {
                          "line": 97,
                          "column": 8
                        },
                        "end": {
                          "line": 98,
                          "column": 24
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 3602,
                        "end": 3642,
                        "loc": {
                          "start": {
                            "line": 97,
                            "column": 12
                          },
                          "end": {
                            "line": 97,
                            "column": 52
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 3602,
                          "end": 3609,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 12
                            },
                            "end": {
                              "line": 97,
                              "column": 19
                            }
                          },
                          "name": "changes",
                          "leadingComments": null
                        },
                        "operator": "&&",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 3613,
                          "end": 3642,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 23
                            },
                            "end": {
                              "line": 97,
                              "column": 52
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "MemberExpression",
                            "start": 3614,
                            "end": 3642,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 24
                              },
                              "end": {
                                "line": 97,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3614,
                              "end": 3632,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 24
                                },
                                "end": {
                                  "line": 97,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3614,
                                "end": 3620,
                                "loc": {
                                  "start": {
                                    "line": 97,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 97,
                                    "column": 30
                                  }
                                },
                                "name": "parent"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3621,
                                "end": 3632,
                                "loc": {
                                  "start": {
                                    "line": 97,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 97,
                                    "column": 42
                                  }
                                },
                                "name": "interaction"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3633,
                              "end": 3642,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 43
                                },
                                "end": {
                                  "line": 97,
                                  "column": 52
                                }
                              },
                              "name": "recursive"
                            },
                            "computed": false
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 3656,
                        "end": 3668,
                        "loc": {
                          "start": {
                            "line": 98,
                            "column": 12
                          },
                          "end": {
                            "line": 98,
                            "column": 24
                          }
                        },
                        "argument": {
                          "type": "Literal",
                          "start": 3663,
                          "end": 3667,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 19
                            },
                            "end": {
                              "line": 98,
                              "column": 23
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " If the root is not recursive and hits have already been made out, there's",
                          "start": 3472,
                          "end": 3548,
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 8
                            },
                            "end": {
                              "line": 95,
                              "column": 84
                            }
                          },
                          "range": [
                            3472,
                            3548
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " no point in iterating further",
                          "start": 3557,
                          "end": 3589,
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 8
                            },
                            "end": {
                              "line": 96,
                              "column": 40
                            }
                          },
                          "range": [
                            3557,
                            3589
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ForStatement",
                      "start": 3678,
                      "end": 4047,
                      "loc": {
                        "start": {
                          "line": 100,
                          "column": 8
                        },
                        "end": {
                          "line": 107,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 3683,
                        "end": 3727,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 13
                          },
                          "end": {
                            "line": 100,
                            "column": 57
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 3687,
                            "end": 3692,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 17
                              },
                              "end": {
                                "line": 100,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 3687,
                              "end": 3688,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 17
                                },
                                "end": {
                                  "line": 100,
                                  "column": 18
                                }
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "Literal",
                              "start": 3691,
                              "end": 3692,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 21
                                },
                                "end": {
                                  "line": 100,
                                  "column": 22
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          },
                          {
                            "type": "VariableDeclarator",
                            "start": 3694,
                            "end": 3720,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 24
                              },
                              "end": {
                                "line": 100,
                                "column": 50
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 3694,
                              "end": 3695,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 24
                                },
                                "end": {
                                  "line": 100,
                                  "column": 25
                                }
                              },
                              "name": "l"
                            },
                            "init": {
                              "type": "MemberExpression",
                              "start": 3698,
                              "end": 3720,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 28
                                },
                                "end": {
                                  "line": 100,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 3698,
                                "end": 3713,
                                "loc": {
                                  "start": {
                                    "line": 100,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 100,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3698,
                                  "end": 3704,
                                  "loc": {
                                    "start": {
                                      "line": 100,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 100,
                                      "column": 34
                                    }
                                  },
                                  "name": "object"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3705,
                                  "end": 3713,
                                  "loc": {
                                    "start": {
                                      "line": 100,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 100,
                                      "column": 43
                                    }
                                  },
                                  "name": "children"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3714,
                                "end": 3720,
                                "loc": {
                                  "start": {
                                    "line": 100,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 100,
                                    "column": 50
                                  }
                                },
                                "name": "length"
                              },
                              "computed": false
                            }
                          },
                          {
                            "type": "VariableDeclarator",
                            "start": 3722,
                            "end": 3727,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 52
                              },
                              "end": {
                                "line": 100,
                                "column": 57
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 3722,
                              "end": 3727,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 52
                                },
                                "end": {
                                  "line": 100,
                                  "column": 57
                                }
                              },
                              "name": "child"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3729,
                        "end": 3734,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 59
                          },
                          "end": {
                            "line": 100,
                            "column": 64
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 3729,
                          "end": 3730,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 59
                            },
                            "end": {
                              "line": 100,
                              "column": 60
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "Identifier",
                          "start": 3733,
                          "end": 3734,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 63
                            },
                            "end": {
                              "line": 100,
                              "column": 64
                            }
                          },
                          "name": "l"
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 3736,
                        "end": 3739,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 66
                          },
                          "end": {
                            "line": 100,
                            "column": 69
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 3736,
                          "end": 3737,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 66
                            },
                            "end": {
                              "line": 100,
                              "column": 67
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 3741,
                        "end": 4047,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 71
                          },
                          "end": {
                            "line": 107,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 3755,
                            "end": 3782,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 12
                              },
                              "end": {
                                "line": 101,
                                "column": 39
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 3755,
                              "end": 3781,
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 12
                                },
                                "end": {
                                  "line": 101,
                                  "column": 38
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 3755,
                                "end": 3760,
                                "loc": {
                                  "start": {
                                    "line": 101,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 17
                                  }
                                },
                                "name": "child"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 3763,
                                "end": 3781,
                                "loc": {
                                  "start": {
                                    "line": 101,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 3763,
                                  "end": 3778,
                                  "loc": {
                                    "start": {
                                      "line": 101,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 101,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3763,
                                    "end": 3769,
                                    "loc": {
                                      "start": {
                                        "line": 101,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 101,
                                        "column": 26
                                      }
                                    },
                                    "name": "object"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3770,
                                    "end": 3778,
                                    "loc": {
                                      "start": {
                                        "line": 101,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 101,
                                        "column": 35
                                      }
                                    },
                                    "name": "children"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3779,
                                  "end": 3780,
                                  "loc": {
                                    "start": {
                                      "line": 101,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 101,
                                      "column": 37
                                    }
                                  },
                                  "name": "i"
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 3795,
                            "end": 4037,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 12
                              },
                              "end": {
                                "line": 106,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 3799,
                              "end": 3833,
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 16
                                },
                                "end": {
                                  "line": 102,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 3799,
                                "end": 3812,
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 102,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3799,
                                  "end": 3804,
                                  "loc": {
                                    "start": {
                                      "line": 102,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 21
                                    }
                                  },
                                  "name": "child"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3805,
                                  "end": 3812,
                                  "loc": {
                                    "start": {
                                      "line": 102,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 29
                                    }
                                  },
                                  "name": "visible"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "MemberExpression",
                                "start": 3816,
                                "end": 3833,
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 102,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3816,
                                  "end": 3821,
                                  "loc": {
                                    "start": {
                                      "line": 102,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 38
                                    }
                                  },
                                  "name": "child"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3822,
                                  "end": 3833,
                                  "loc": {
                                    "start": {
                                      "line": 102,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 50
                                    }
                                  },
                                  "name": "interactive"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 3835,
                              "end": 4037,
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 52
                                },
                                "end": {
                                  "line": 106,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 3853,
                                  "end": 3928,
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 91
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 3853,
                                    "end": 3927,
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 90
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 3853,
                                      "end": 3860,
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 23
                                        }
                                      },
                                      "name": "changes"
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 3863,
                                      "end": 3927,
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 90
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 3863,
                                        "end": 3870,
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 33
                                          }
                                        },
                                        "name": "changes"
                                      },
                                      "operator": "|",
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 3873,
                                        "end": 3927,
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 90
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 3873,
                                          "end": 3887,
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 50
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 3873,
                                            "end": 3877,
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 3878,
                                            "end": 3887,
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 50
                                              }
                                            },
                                            "name": "intersect"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 3888,
                                            "end": 3893,
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 56
                                              }
                                            },
                                            "name": "child"
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 3895,
                                            "end": 3899,
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 62
                                              }
                                            },
                                            "value": true,
                                            "rawValue": true,
                                            "raw": "true"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 3901,
                                            "end": 3911,
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 64
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 74
                                              }
                                            },
                                            "name": "intersects"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 3913,
                                            "end": 3918,
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 76
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 81
                                              }
                                            },
                                            "name": "types"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 3920,
                                            "end": 3926,
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 83
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 89
                                              }
                                            },
                                            "name": "parent"
                                          }
                                        ]
                                      }
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 3945,
                                  "end": 4023,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 32
                                    }
                                  },
                                  "test": {
                                    "type": "LogicalExpression",
                                    "start": 3949,
                                    "end": 3989,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 60
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 3949,
                                      "end": 3956,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 27
                                        }
                                      },
                                      "name": "changes"
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "UnaryExpression",
                                      "start": 3960,
                                      "end": 3989,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 60
                                        }
                                      },
                                      "operator": "!",
                                      "prefix": true,
                                      "argument": {
                                        "type": "MemberExpression",
                                        "start": 3961,
                                        "end": 3989,
                                        "loc": {
                                          "start": {
                                            "line": 104,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 60
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 3961,
                                          "end": 3979,
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 50
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 3961,
                                            "end": 3967,
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 38
                                              }
                                            },
                                            "name": "parent"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 3968,
                                            "end": 3979,
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 50
                                              }
                                            },
                                            "name": "interaction"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3980,
                                          "end": 3989,
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 60
                                            }
                                          },
                                          "name": "recursive"
                                        },
                                        "computed": false
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "ReturnStatement",
                                    "start": 4011,
                                    "end": 4023,
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 32
                                      }
                                    },
                                    "argument": {
                                      "type": "Literal",
                                      "start": 4018,
                                      "end": 4022,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 31
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    }
                                  },
                                  "alternate": null
                                }
                              ]
                            },
                            "alternate": null
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 4057,
                      "end": 4072,
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 8
                        },
                        "end": {
                          "line": 109,
                          "column": 23
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 4064,
                        "end": 4071,
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 15
                          },
                          "end": {
                            "line": 109,
                            "column": 22
                          }
                        },
                        "name": "changes"
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 4082,
      "end": 4383,
      "loc": {
        "start": {
          "line": 113,
          "column": 0
        },
        "end": {
          "line": 117,
          "column": 1
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 4082,
        "end": 4383,
        "loc": {
          "start": {
            "line": 113,
            "column": 0
          },
          "end": {
            "line": 117,
            "column": 1
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 4082,
          "end": 4100,
          "loc": {
            "start": {
              "line": 113,
              "column": 0
            },
            "end": {
              "line": 113,
              "column": 18
            }
          },
          "object": {
            "type": "Identifier",
            "start": 4082,
            "end": 4091,
            "loc": {
              "start": {
                "line": 113,
                "column": 0
              },
              "end": {
                "line": 113,
                "column": 9
              }
            },
            "name": "Raycaster"
          },
          "property": {
            "type": "Identifier",
            "start": 4092,
            "end": 4100,
            "loc": {
              "start": {
                "line": 113,
                "column": 10
              },
              "end": {
                "line": 113,
                "column": 18
              }
            },
            "name": "Approach"
          },
          "computed": false
        },
        "right": {
          "type": "ObjectExpression",
          "start": 4103,
          "end": 4383,
          "loc": {
            "start": {
              "line": 113,
              "column": 21
            },
            "end": {
              "line": 117,
              "column": 1
            }
          },
          "properties": [
            {
              "type": "Property",
              "start": 4109,
              "end": 4127,
              "loc": {
                "start": {
                  "line": 114,
                  "column": 4
                },
                "end": {
                  "line": 114,
                  "column": 22
                }
              },
              "method": false,
              "shorthand": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4109,
                "end": 4116,
                "loc": {
                  "start": {
                    "line": 114,
                    "column": 4
                  },
                  "end": {
                    "line": 114,
                    "column": 11
                  }
                },
                "name": "Default"
              },
              "value": {
                "type": "Literal",
                "start": 4118,
                "end": 4127,
                "loc": {
                  "start": {
                    "line": 114,
                    "column": 13
                  },
                  "end": {
                    "line": 114,
                    "column": 22
                  }
                },
                "value": "Default",
                "rawValue": "Default",
                "raw": "'Default'"
              },
              "kind": "init"
            },
            {
              "type": "Property",
              "start": 4190,
              "end": 4204,
              "loc": {
                "start": {
                  "line": 115,
                  "column": 4
                },
                "end": {
                  "line": 115,
                  "column": 18
                }
              },
              "method": false,
              "shorthand": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4190,
                "end": 4195,
                "loc": {
                  "start": {
                    "line": 115,
                    "column": 4
                  },
                  "end": {
                    "line": 115,
                    "column": 9
                  }
                },
                "name": "First",
                "leadingComments": null
              },
              "value": {
                "type": "Literal",
                "start": 4197,
                "end": 4204,
                "loc": {
                  "start": {
                    "line": 115,
                    "column": 11
                  },
                  "end": {
                    "line": 115,
                    "column": 18
                  }
                },
                "value": "First",
                "rawValue": "First",
                "raw": "'First'"
              },
              "kind": "init",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " Precision: +++, Speed: -  , THREE.js default approach",
                  "start": 4129,
                  "end": 4185,
                  "loc": {
                    "start": {
                      "line": 114,
                      "column": 24
                    },
                    "end": {
                      "line": 114,
                      "column": 80
                    }
                  },
                  "range": [
                    4129,
                    4185
                  ]
                }
              ]
            },
            {
              "type": "Property",
              "start": 4312,
              "end": 4328,
              "loc": {
                "start": {
                  "line": 116,
                  "column": 4
                },
                "end": {
                  "line": 116,
                  "column": 20
                }
              },
              "method": false,
              "shorthand": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4312,
                "end": 4318,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 4
                  },
                  "end": {
                    "line": 116,
                    "column": 10
                  }
                },
                "name": "Bounds",
                "leadingComments": null
              },
              "value": {
                "type": "Literal",
                "start": 4320,
                "end": 4328,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 12
                  },
                  "end": {
                    "line": 116,
                    "column": 20
                  }
                },
                "value": "Bounds",
                "rawValue": "Bounds",
                "raw": "'Bounds'",
                "leadingComments": null,
                "trailingComments": null
              },
              "kind": "init",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " Precision: +  , Speed: +  , First vertex found, may be the back-side vertex (affects distance)",
                  "start": 4210,
                  "end": 4307,
                  "loc": {
                    "start": {
                      "line": 115,
                      "column": 24
                    },
                    "end": {
                      "line": 115,
                      "column": 121
                    }
                  },
                  "range": [
                    4210,
                    4307
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " Precision: -  , Speed: +++, Checks bounds only",
                  "start": 4332,
                  "end": 4381,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 24
                    },
                    "end": {
                      "line": 116,
                      "column": 73
                    }
                  },
                  "range": [
                    4332,
                    4381
                  ]
                }
              ]
            }
          ]
        }
      }
    },
    {
      "type": "FunctionDeclaration",
      "start": 4385,
      "end": 4746,
      "loc": {
        "start": {
          "line": 119,
          "column": 0
        },
        "end": {
          "line": 126,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 4394,
        "end": 4408,
        "loc": {
          "start": {
            "line": 119,
            "column": 9
          },
          "end": {
            "line": 119,
            "column": 23
          }
        },
        "name": "uvIntersection",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 4410,
          "end": 4419,
          "loc": {
            "start": {
              "line": 119,
              "column": 25
            },
            "end": {
              "line": 119,
              "column": 34
            }
          },
          "name": "raycaster"
        },
        {
          "type": "Identifier",
          "start": 4421,
          "end": 4426,
          "loc": {
            "start": {
              "line": 119,
              "column": 36
            },
            "end": {
              "line": 119,
              "column": 41
            }
          },
          "name": "point"
        },
        {
          "type": "Identifier",
          "start": 4428,
          "end": 4430,
          "loc": {
            "start": {
              "line": 119,
              "column": 43
            },
            "end": {
              "line": 119,
              "column": 45
            }
          },
          "name": "p1"
        },
        {
          "type": "Identifier",
          "start": 4432,
          "end": 4434,
          "loc": {
            "start": {
              "line": 119,
              "column": 47
            },
            "end": {
              "line": 119,
              "column": 49
            }
          },
          "name": "p2"
        },
        {
          "type": "Identifier",
          "start": 4436,
          "end": 4438,
          "loc": {
            "start": {
              "line": 119,
              "column": 51
            },
            "end": {
              "line": 119,
              "column": 53
            }
          },
          "name": "p3"
        },
        {
          "type": "Identifier",
          "start": 4440,
          "end": 4443,
          "loc": {
            "start": {
              "line": 119,
              "column": 55
            },
            "end": {
              "line": 119,
              "column": 58
            }
          },
          "name": "uv1"
        },
        {
          "type": "Identifier",
          "start": 4445,
          "end": 4448,
          "loc": {
            "start": {
              "line": 119,
              "column": 60
            },
            "end": {
              "line": 119,
              "column": 63
            }
          },
          "name": "uv2"
        },
        {
          "type": "Identifier",
          "start": 4450,
          "end": 4453,
          "loc": {
            "start": {
              "line": 119,
              "column": 65
            },
            "end": {
              "line": 119,
              "column": 68
            }
          },
          "name": "uv3"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 4456,
        "end": 4746,
        "loc": {
          "start": {
            "line": 119,
            "column": 71
          },
          "end": {
            "line": 126,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ExpressionStatement",
            "start": 4462,
            "end": 4539,
            "loc": {
              "start": {
                "line": 120,
                "column": 4
              },
              "end": {
                "line": 120,
                "column": 81
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 4462,
              "end": 4538,
              "loc": {
                "start": {
                  "line": 120,
                  "column": 4
                },
                "end": {
                  "line": 120,
                  "column": 80
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 4462,
                "end": 4495,
                "loc": {
                  "start": {
                    "line": 120,
                    "column": 4
                  },
                  "end": {
                    "line": 120,
                    "column": 37
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 4462,
                  "end": 4476,
                  "loc": {
                    "start": {
                      "line": 120,
                      "column": 4
                    },
                    "end": {
                      "line": 120,
                      "column": 18
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 4462,
                    "end": 4467,
                    "loc": {
                      "start": {
                        "line": 120,
                        "column": 4
                      },
                      "end": {
                        "line": 120,
                        "column": 9
                      }
                    },
                    "name": "THREE"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 4468,
                    "end": 4476,
                    "loc": {
                      "start": {
                        "line": 120,
                        "column": 10
                      },
                      "end": {
                        "line": 120,
                        "column": 18
                      }
                    },
                    "name": "Triangle"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 4477,
                  "end": 4495,
                  "loc": {
                    "start": {
                      "line": 120,
                      "column": 19
                    },
                    "end": {
                      "line": 120,
                      "column": 37
                    }
                  },
                  "name": "barycoordFromPoint"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 4497,
                  "end": 4502,
                  "loc": {
                    "start": {
                      "line": 120,
                      "column": 39
                    },
                    "end": {
                      "line": 120,
                      "column": 44
                    }
                  },
                  "name": "point"
                },
                {
                  "type": "Identifier",
                  "start": 4504,
                  "end": 4506,
                  "loc": {
                    "start": {
                      "line": 120,
                      "column": 46
                    },
                    "end": {
                      "line": 120,
                      "column": 48
                    }
                  },
                  "name": "p1"
                },
                {
                  "type": "Identifier",
                  "start": 4508,
                  "end": 4510,
                  "loc": {
                    "start": {
                      "line": 120,
                      "column": 50
                    },
                    "end": {
                      "line": 120,
                      "column": 52
                    }
                  },
                  "name": "p2"
                },
                {
                  "type": "Identifier",
                  "start": 4512,
                  "end": 4514,
                  "loc": {
                    "start": {
                      "line": 120,
                      "column": 54
                    },
                    "end": {
                      "line": 120,
                      "column": 56
                    }
                  },
                  "name": "p3"
                },
                {
                  "type": "MemberExpression",
                  "start": 4516,
                  "end": 4536,
                  "loc": {
                    "start": {
                      "line": 120,
                      "column": 58
                    },
                    "end": {
                      "line": 120,
                      "column": 78
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 4516,
                    "end": 4525,
                    "loc": {
                      "start": {
                        "line": 120,
                        "column": 58
                      },
                      "end": {
                        "line": 120,
                        "column": 67
                      }
                    },
                    "name": "raycaster"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 4526,
                    "end": 4536,
                    "loc": {
                      "start": {
                        "line": 120,
                        "column": 68
                      },
                      "end": {
                        "line": 120,
                        "column": 78
                      }
                    },
                    "name": "_barycoord"
                  },
                  "computed": false
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 4544,
            "end": 4589,
            "loc": {
              "start": {
                "line": 121,
                "column": 4
              },
              "end": {
                "line": 121,
                "column": 49
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 4544,
              "end": 4588,
              "loc": {
                "start": {
                  "line": 121,
                  "column": 4
                },
                "end": {
                  "line": 121,
                  "column": 48
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 4544,
                "end": 4562,
                "loc": {
                  "start": {
                    "line": 121,
                    "column": 4
                  },
                  "end": {
                    "line": 121,
                    "column": 22
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 4544,
                  "end": 4547,
                  "loc": {
                    "start": {
                      "line": 121,
                      "column": 4
                    },
                    "end": {
                      "line": 121,
                      "column": 7
                    }
                  },
                  "name": "uv1"
                },
                "property": {
                  "type": "Identifier",
                  "start": 4548,
                  "end": 4562,
                  "loc": {
                    "start": {
                      "line": 121,
                      "column": 8
                    },
                    "end": {
                      "line": 121,
                      "column": 22
                    }
                  },
                  "name": "multiplyScalar"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "MemberExpression",
                  "start": 4564,
                  "end": 4586,
                  "loc": {
                    "start": {
                      "line": 121,
                      "column": 24
                    },
                    "end": {
                      "line": 121,
                      "column": 46
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 4564,
                    "end": 4584,
                    "loc": {
                      "start": {
                        "line": 121,
                        "column": 24
                      },
                      "end": {
                        "line": 121,
                        "column": 44
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 4564,
                      "end": 4573,
                      "loc": {
                        "start": {
                          "line": 121,
                          "column": 24
                        },
                        "end": {
                          "line": 121,
                          "column": 33
                        }
                      },
                      "name": "raycaster"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 4574,
                      "end": 4584,
                      "loc": {
                        "start": {
                          "line": 121,
                          "column": 34
                        },
                        "end": {
                          "line": 121,
                          "column": 44
                        }
                      },
                      "name": "_barycoord"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 4585,
                    "end": 4586,
                    "loc": {
                      "start": {
                        "line": 121,
                        "column": 45
                      },
                      "end": {
                        "line": 121,
                        "column": 46
                      }
                    },
                    "name": "x"
                  },
                  "computed": false
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 4594,
            "end": 4639,
            "loc": {
              "start": {
                "line": 122,
                "column": 4
              },
              "end": {
                "line": 122,
                "column": 49
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 4594,
              "end": 4638,
              "loc": {
                "start": {
                  "line": 122,
                  "column": 4
                },
                "end": {
                  "line": 122,
                  "column": 48
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 4594,
                "end": 4612,
                "loc": {
                  "start": {
                    "line": 122,
                    "column": 4
                  },
                  "end": {
                    "line": 122,
                    "column": 22
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 4594,
                  "end": 4597,
                  "loc": {
                    "start": {
                      "line": 122,
                      "column": 4
                    },
                    "end": {
                      "line": 122,
                      "column": 7
                    }
                  },
                  "name": "uv2"
                },
                "property": {
                  "type": "Identifier",
                  "start": 4598,
                  "end": 4612,
                  "loc": {
                    "start": {
                      "line": 122,
                      "column": 8
                    },
                    "end": {
                      "line": 122,
                      "column": 22
                    }
                  },
                  "name": "multiplyScalar"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "MemberExpression",
                  "start": 4614,
                  "end": 4636,
                  "loc": {
                    "start": {
                      "line": 122,
                      "column": 24
                    },
                    "end": {
                      "line": 122,
                      "column": 46
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 4614,
                    "end": 4634,
                    "loc": {
                      "start": {
                        "line": 122,
                        "column": 24
                      },
                      "end": {
                        "line": 122,
                        "column": 44
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 4614,
                      "end": 4623,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 24
                        },
                        "end": {
                          "line": 122,
                          "column": 33
                        }
                      },
                      "name": "raycaster"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 4624,
                      "end": 4634,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 34
                        },
                        "end": {
                          "line": 122,
                          "column": 44
                        }
                      },
                      "name": "_barycoord"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 4635,
                    "end": 4636,
                    "loc": {
                      "start": {
                        "line": 122,
                        "column": 45
                      },
                      "end": {
                        "line": 122,
                        "column": 46
                      }
                    },
                    "name": "y"
                  },
                  "computed": false
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 4644,
            "end": 4689,
            "loc": {
              "start": {
                "line": 123,
                "column": 4
              },
              "end": {
                "line": 123,
                "column": 49
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 4644,
              "end": 4688,
              "loc": {
                "start": {
                  "line": 123,
                  "column": 4
                },
                "end": {
                  "line": 123,
                  "column": 48
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 4644,
                "end": 4662,
                "loc": {
                  "start": {
                    "line": 123,
                    "column": 4
                  },
                  "end": {
                    "line": 123,
                    "column": 22
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 4644,
                  "end": 4647,
                  "loc": {
                    "start": {
                      "line": 123,
                      "column": 4
                    },
                    "end": {
                      "line": 123,
                      "column": 7
                    }
                  },
                  "name": "uv3"
                },
                "property": {
                  "type": "Identifier",
                  "start": 4648,
                  "end": 4662,
                  "loc": {
                    "start": {
                      "line": 123,
                      "column": 8
                    },
                    "end": {
                      "line": 123,
                      "column": 22
                    }
                  },
                  "name": "multiplyScalar"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "MemberExpression",
                  "start": 4664,
                  "end": 4686,
                  "loc": {
                    "start": {
                      "line": 123,
                      "column": 24
                    },
                    "end": {
                      "line": 123,
                      "column": 46
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 4664,
                    "end": 4684,
                    "loc": {
                      "start": {
                        "line": 123,
                        "column": 24
                      },
                      "end": {
                        "line": 123,
                        "column": 44
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 4664,
                      "end": 4673,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 24
                        },
                        "end": {
                          "line": 123,
                          "column": 33
                        }
                      },
                      "name": "raycaster"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 4674,
                      "end": 4684,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 34
                        },
                        "end": {
                          "line": 123,
                          "column": 44
                        }
                      },
                      "name": "_barycoord"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 4685,
                    "end": 4686,
                    "loc": {
                      "start": {
                        "line": 123,
                        "column": 45
                      },
                      "end": {
                        "line": 123,
                        "column": 46
                      }
                    },
                    "name": "z"
                  },
                  "computed": false
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 4694,
            "end": 4720,
            "loc": {
              "start": {
                "line": 124,
                "column": 4
              },
              "end": {
                "line": 124,
                "column": 30
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 4694,
              "end": 4719,
              "loc": {
                "start": {
                  "line": 124,
                  "column": 4
                },
                "end": {
                  "line": 124,
                  "column": 29
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 4694,
                "end": 4712,
                "loc": {
                  "start": {
                    "line": 124,
                    "column": 4
                  },
                  "end": {
                    "line": 124,
                    "column": 22
                  }
                },
                "object": {
                  "type": "CallExpression",
                  "start": 4694,
                  "end": 4708,
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 4
                    },
                    "end": {
                      "line": 124,
                      "column": 18
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 4694,
                    "end": 4701,
                    "loc": {
                      "start": {
                        "line": 124,
                        "column": 4
                      },
                      "end": {
                        "line": 124,
                        "column": 11
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 4694,
                      "end": 4697,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 4
                        },
                        "end": {
                          "line": 124,
                          "column": 7
                        }
                      },
                      "name": "uv1"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 4698,
                      "end": 4701,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 8
                        },
                        "end": {
                          "line": 124,
                          "column": 11
                        }
                      },
                      "name": "add"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 4703,
                      "end": 4706,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 13
                        },
                        "end": {
                          "line": 124,
                          "column": 16
                        }
                      },
                      "name": "uv2"
                    }
                  ]
                },
                "property": {
                  "type": "Identifier",
                  "start": 4709,
                  "end": 4712,
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 19
                    },
                    "end": {
                      "line": 124,
                      "column": 22
                    }
                  },
                  "name": "add"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 4714,
                  "end": 4717,
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 24
                    },
                    "end": {
                      "line": 124,
                      "column": 27
                    }
                  },
                  "name": "uv3"
                }
              ]
            }
          },
          {
            "type": "ReturnStatement",
            "start": 4725,
            "end": 4744,
            "loc": {
              "start": {
                "line": 125,
                "column": 4
              },
              "end": {
                "line": 125,
                "column": 23
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 4732,
              "end": 4743,
              "loc": {
                "start": {
                  "line": 125,
                  "column": 11
                },
                "end": {
                  "line": 125,
                  "column": 22
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 4732,
                "end": 4741,
                "loc": {
                  "start": {
                    "line": 125,
                    "column": 11
                  },
                  "end": {
                    "line": 125,
                    "column": 20
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 4732,
                  "end": 4735,
                  "loc": {
                    "start": {
                      "line": 125,
                      "column": 11
                    },
                    "end": {
                      "line": 125,
                      "column": 14
                    }
                  },
                  "name": "uv1"
                },
                "property": {
                  "type": "Identifier",
                  "start": 4736,
                  "end": 4741,
                  "loc": {
                    "start": {
                      "line": 125,
                      "column": 15
                    },
                    "end": {
                      "line": 125,
                      "column": 20
                    }
                  },
                  "name": "clone"
                },
                "computed": false
              },
              "arguments": []
            }
          }
        ]
      },
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": " Precision: -  , Speed: +++, Checks bounds only",
          "start": 4332,
          "end": 4381,
          "loc": {
            "start": {
              "line": 116,
              "column": 24
            },
            "end": {
              "line": 116,
              "column": 73
            }
          },
          "range": [
            4332,
            4381
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 4748,
      "end": 5579,
      "loc": {
        "start": {
          "line": 128,
          "column": 0
        },
        "end": {
          "line": 146,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 4757,
        "end": 4774,
        "loc": {
          "start": {
            "line": 128,
            "column": 9
          },
          "end": {
            "line": 128,
            "column": 26
          }
        },
        "name": "checkIntersection"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 4776,
          "end": 4782,
          "loc": {
            "start": {
              "line": 128,
              "column": 28
            },
            "end": {
              "line": 128,
              "column": 34
            }
          },
          "name": "object"
        },
        {
          "type": "Identifier",
          "start": 4784,
          "end": 4793,
          "loc": {
            "start": {
              "line": 128,
              "column": 36
            },
            "end": {
              "line": 128,
              "column": 45
            }
          },
          "name": "raycaster"
        },
        {
          "type": "Identifier",
          "start": 4795,
          "end": 4798,
          "loc": {
            "start": {
              "line": 128,
              "column": 47
            },
            "end": {
              "line": 128,
              "column": 50
            }
          },
          "name": "ray"
        },
        {
          "type": "Identifier",
          "start": 4800,
          "end": 4802,
          "loc": {
            "start": {
              "line": 128,
              "column": 52
            },
            "end": {
              "line": 128,
              "column": 54
            }
          },
          "name": "pA"
        },
        {
          "type": "Identifier",
          "start": 4804,
          "end": 4806,
          "loc": {
            "start": {
              "line": 128,
              "column": 56
            },
            "end": {
              "line": 128,
              "column": 58
            }
          },
          "name": "pB"
        },
        {
          "type": "Identifier",
          "start": 4808,
          "end": 4810,
          "loc": {
            "start": {
              "line": 128,
              "column": 60
            },
            "end": {
              "line": 128,
              "column": 62
            }
          },
          "name": "pC"
        },
        {
          "type": "Identifier",
          "start": 4812,
          "end": 4817,
          "loc": {
            "start": {
              "line": 128,
              "column": 64
            },
            "end": {
              "line": 128,
              "column": 69
            }
          },
          "name": "point"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 4820,
        "end": 5579,
        "loc": {
          "start": {
            "line": 128,
            "column": 72
          },
          "end": {
            "line": 146,
            "column": 1
          }
        },
        "body": [
          {
            "type": "VariableDeclaration",
            "start": 4826,
            "end": 4840,
            "loc": {
              "start": {
                "line": 129,
                "column": 4
              },
              "end": {
                "line": 129,
                "column": 18
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 4830,
                "end": 4839,
                "loc": {
                  "start": {
                    "line": 129,
                    "column": 8
                  },
                  "end": {
                    "line": 129,
                    "column": 17
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 4830,
                  "end": 4839,
                  "loc": {
                    "start": {
                      "line": 129,
                      "column": 8
                    },
                    "end": {
                      "line": 129,
                      "column": 17
                    }
                  },
                  "name": "intersect"
                },
                "init": null
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 4845,
            "end": 4876,
            "loc": {
              "start": {
                "line": 130,
                "column": 4
              },
              "end": {
                "line": 130,
                "column": 35
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 4849,
                "end": 4875,
                "loc": {
                  "start": {
                    "line": 130,
                    "column": 8
                  },
                  "end": {
                    "line": 130,
                    "column": 34
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 4849,
                  "end": 4857,
                  "loc": {
                    "start": {
                      "line": 130,
                      "column": 8
                    },
                    "end": {
                      "line": 130,
                      "column": 16
                    }
                  },
                  "name": "material"
                },
                "init": {
                  "type": "MemberExpression",
                  "start": 4860,
                  "end": 4875,
                  "loc": {
                    "start": {
                      "line": 130,
                      "column": 19
                    },
                    "end": {
                      "line": 130,
                      "column": 34
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 4860,
                    "end": 4866,
                    "loc": {
                      "start": {
                        "line": 130,
                        "column": 19
                      },
                      "end": {
                        "line": 130,
                        "column": 25
                      }
                    },
                    "name": "object"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 4867,
                    "end": 4875,
                    "loc": {
                      "start": {
                        "line": 130,
                        "column": 26
                      },
                      "end": {
                        "line": 130,
                        "column": 34
                      }
                    },
                    "name": "material"
                  },
                  "computed": false
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "IfStatement",
            "start": 4881,
            "end": 5111,
            "loc": {
              "start": {
                "line": 131,
                "column": 4
              },
              "end": {
                "line": 135,
                "column": 5
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 4886,
              "end": 4918,
              "loc": {
                "start": {
                  "line": 131,
                  "column": 9
                },
                "end": {
                  "line": 131,
                  "column": 41
                }
              },
              "left": {
                "type": "MemberExpression",
                "start": 4886,
                "end": 4899,
                "loc": {
                  "start": {
                    "line": 131,
                    "column": 9
                  },
                  "end": {
                    "line": 131,
                    "column": 22
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 4886,
                  "end": 4894,
                  "loc": {
                    "start": {
                      "line": 131,
                      "column": 9
                    },
                    "end": {
                      "line": 131,
                      "column": 17
                    }
                  },
                  "name": "material"
                },
                "property": {
                  "type": "Identifier",
                  "start": 4895,
                  "end": 4899,
                  "loc": {
                    "start": {
                      "line": 131,
                      "column": 18
                    },
                    "end": {
                      "line": 131,
                      "column": 22
                    }
                  },
                  "name": "side"
                },
                "computed": false
              },
              "operator": "===",
              "right": {
                "type": "MemberExpression",
                "start": 4904,
                "end": 4918,
                "loc": {
                  "start": {
                    "line": 131,
                    "column": 27
                  },
                  "end": {
                    "line": 131,
                    "column": 41
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 4904,
                  "end": 4909,
                  "loc": {
                    "start": {
                      "line": 131,
                      "column": 27
                    },
                    "end": {
                      "line": 131,
                      "column": 32
                    }
                  },
                  "name": "THREE"
                },
                "property": {
                  "type": "Identifier",
                  "start": 4910,
                  "end": 4918,
                  "loc": {
                    "start": {
                      "line": 131,
                      "column": 33
                    },
                    "end": {
                      "line": 131,
                      "column": 41
                    }
                  },
                  "name": "BackSide"
                },
                "computed": false
              }
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 4921,
              "end": 4998,
              "loc": {
                "start": {
                  "line": 131,
                  "column": 44
                },
                "end": {
                  "line": 133,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "ExpressionStatement",
                  "start": 4931,
                  "end": 4992,
                  "loc": {
                    "start": {
                      "line": 132,
                      "column": 8
                    },
                    "end": {
                      "line": 132,
                      "column": 69
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 4931,
                    "end": 4991,
                    "loc": {
                      "start": {
                        "line": 132,
                        "column": 8
                      },
                      "end": {
                        "line": 132,
                        "column": 68
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 4931,
                      "end": 4940,
                      "loc": {
                        "start": {
                          "line": 132,
                          "column": 8
                        },
                        "end": {
                          "line": 132,
                          "column": 17
                        }
                      },
                      "name": "intersect"
                    },
                    "right": {
                      "type": "CallExpression",
                      "start": 4943,
                      "end": 4991,
                      "loc": {
                        "start": {
                          "line": 132,
                          "column": 20
                        },
                        "end": {
                          "line": 132,
                          "column": 68
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 4943,
                        "end": 4964,
                        "loc": {
                          "start": {
                            "line": 132,
                            "column": 20
                          },
                          "end": {
                            "line": 132,
                            "column": 41
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 4943,
                          "end": 4946,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 20
                            },
                            "end": {
                              "line": 132,
                              "column": 23
                            }
                          },
                          "name": "ray"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4947,
                          "end": 4964,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 24
                            },
                            "end": {
                              "line": 132,
                              "column": 41
                            }
                          },
                          "name": "intersectTriangle"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 4966,
                          "end": 4968,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 43
                            },
                            "end": {
                              "line": 132,
                              "column": 45
                            }
                          },
                          "name": "pC"
                        },
                        {
                          "type": "Identifier",
                          "start": 4970,
                          "end": 4972,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 47
                            },
                            "end": {
                              "line": 132,
                              "column": 49
                            }
                          },
                          "name": "pB"
                        },
                        {
                          "type": "Identifier",
                          "start": 4974,
                          "end": 4976,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 51
                            },
                            "end": {
                              "line": 132,
                              "column": 53
                            }
                          },
                          "name": "pA"
                        },
                        {
                          "type": "Literal",
                          "start": 4978,
                          "end": 4982,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 55
                            },
                            "end": {
                              "line": 132,
                              "column": 59
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        },
                        {
                          "type": "Identifier",
                          "start": 4984,
                          "end": 4989,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 61
                            },
                            "end": {
                              "line": 132,
                              "column": 66
                            }
                          },
                          "name": "point"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "alternate": {
              "type": "BlockStatement",
              "start": 5004,
              "end": 5111,
              "loc": {
                "start": {
                  "line": 133,
                  "column": 11
                },
                "end": {
                  "line": 135,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "ExpressionStatement",
                  "start": 5014,
                  "end": 5105,
                  "loc": {
                    "start": {
                      "line": 134,
                      "column": 8
                    },
                    "end": {
                      "line": 134,
                      "column": 99
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 5014,
                    "end": 5104,
                    "loc": {
                      "start": {
                        "line": 134,
                        "column": 8
                      },
                      "end": {
                        "line": 134,
                        "column": 98
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 5014,
                      "end": 5023,
                      "loc": {
                        "start": {
                          "line": 134,
                          "column": 8
                        },
                        "end": {
                          "line": 134,
                          "column": 17
                        }
                      },
                      "name": "intersect"
                    },
                    "right": {
                      "type": "CallExpression",
                      "start": 5026,
                      "end": 5104,
                      "loc": {
                        "start": {
                          "line": 134,
                          "column": 20
                        },
                        "end": {
                          "line": 134,
                          "column": 98
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 5026,
                        "end": 5047,
                        "loc": {
                          "start": {
                            "line": 134,
                            "column": 20
                          },
                          "end": {
                            "line": 134,
                            "column": 41
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5026,
                          "end": 5029,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 20
                            },
                            "end": {
                              "line": 134,
                              "column": 23
                            }
                          },
                          "name": "ray"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5030,
                          "end": 5047,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 24
                            },
                            "end": {
                              "line": 134,
                              "column": 41
                            }
                          },
                          "name": "intersectTriangle"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 5049,
                          "end": 5051,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 43
                            },
                            "end": {
                              "line": 134,
                              "column": 45
                            }
                          },
                          "name": "pA"
                        },
                        {
                          "type": "Identifier",
                          "start": 5053,
                          "end": 5055,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 47
                            },
                            "end": {
                              "line": 134,
                              "column": 49
                            }
                          },
                          "name": "pB"
                        },
                        {
                          "type": "Identifier",
                          "start": 5057,
                          "end": 5059,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 51
                            },
                            "end": {
                              "line": 134,
                              "column": 53
                            }
                          },
                          "name": "pC"
                        },
                        {
                          "type": "BinaryExpression",
                          "start": 5061,
                          "end": 5095,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 55
                            },
                            "end": {
                              "line": 134,
                              "column": 89
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 5061,
                            "end": 5074,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 55
                              },
                              "end": {
                                "line": 134,
                                "column": 68
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5061,
                              "end": 5069,
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 55
                                },
                                "end": {
                                  "line": 134,
                                  "column": 63
                                }
                              },
                              "name": "material"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5070,
                              "end": 5074,
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 64
                                },
                                "end": {
                                  "line": 134,
                                  "column": 68
                                }
                              },
                              "name": "side"
                            },
                            "computed": false
                          },
                          "operator": "!==",
                          "right": {
                            "type": "MemberExpression",
                            "start": 5079,
                            "end": 5095,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 73
                              },
                              "end": {
                                "line": 134,
                                "column": 89
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5079,
                              "end": 5084,
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 73
                                },
                                "end": {
                                  "line": 134,
                                  "column": 78
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5085,
                              "end": 5095,
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 79
                                },
                                "end": {
                                  "line": 134,
                                  "column": 89
                                }
                              },
                              "name": "DoubleSide"
                            },
                            "computed": false
                          }
                        },
                        {
                          "type": "Identifier",
                          "start": 5097,
                          "end": 5102,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 91
                            },
                            "end": {
                              "line": 134,
                              "column": 96
                            }
                          },
                          "name": "point"
                        }
                      ]
                    }
                  }
                }
              ]
            }
          },
          {
            "type": "IfStatement",
            "start": 5116,
            "end": 5154,
            "loc": {
              "start": {
                "line": 136,
                "column": 4
              },
              "end": {
                "line": 136,
                "column": 42
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 5121,
              "end": 5139,
              "loc": {
                "start": {
                  "line": 136,
                  "column": 9
                },
                "end": {
                  "line": 136,
                  "column": 27
                }
              },
              "left": {
                "type": "Identifier",
                "start": 5121,
                "end": 5130,
                "loc": {
                  "start": {
                    "line": 136,
                    "column": 9
                  },
                  "end": {
                    "line": 136,
                    "column": 18
                  }
                },
                "name": "intersect"
              },
              "operator": "===",
              "right": {
                "type": "Literal",
                "start": 5135,
                "end": 5139,
                "loc": {
                  "start": {
                    "line": 136,
                    "column": 23
                  },
                  "end": {
                    "line": 136,
                    "column": 27
                  }
                },
                "value": null,
                "rawValue": null,
                "raw": "null"
              }
            },
            "consequent": {
              "type": "ReturnStatement",
              "start": 5142,
              "end": 5154,
              "loc": {
                "start": {
                  "line": 136,
                  "column": 30
                },
                "end": {
                  "line": 136,
                  "column": 42
                }
              },
              "argument": {
                "type": "Literal",
                "start": 5149,
                "end": 5153,
                "loc": {
                  "start": {
                    "line": 136,
                    "column": 37
                  },
                  "end": {
                    "line": 136,
                    "column": 41
                  }
                },
                "value": null,
                "rawValue": null,
                "raw": "null"
              }
            },
            "alternate": null
          },
          {
            "type": "ExpressionStatement",
            "start": 5159,
            "end": 5207,
            "loc": {
              "start": {
                "line": 137,
                "column": 4
              },
              "end": {
                "line": 137,
                "column": 52
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 5159,
              "end": 5206,
              "loc": {
                "start": {
                  "line": 137,
                  "column": 4
                },
                "end": {
                  "line": 137,
                  "column": 51
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 5159,
                "end": 5197,
                "loc": {
                  "start": {
                    "line": 137,
                    "column": 4
                  },
                  "end": {
                    "line": 137,
                    "column": 42
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 5159,
                  "end": 5192,
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 4
                    },
                    "end": {
                      "line": 137,
                      "column": 37
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 5159,
                    "end": 5168,
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 4
                      },
                      "end": {
                        "line": 137,
                        "column": 13
                      }
                    },
                    "name": "raycaster"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5169,
                    "end": 5192,
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 14
                      },
                      "end": {
                        "line": 137,
                        "column": 37
                      }
                    },
                    "name": "_intersectionPointWorld"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 5193,
                  "end": 5197,
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 38
                    },
                    "end": {
                      "line": 137,
                      "column": 42
                    }
                  },
                  "name": "copy"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 5199,
                  "end": 5204,
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 44
                    },
                    "end": {
                      "line": 137,
                      "column": 49
                    }
                  },
                  "name": "point"
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 5212,
            "end": 5281,
            "loc": {
              "start": {
                "line": 138,
                "column": 4
              },
              "end": {
                "line": 138,
                "column": 73
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 5212,
              "end": 5280,
              "loc": {
                "start": {
                  "line": 138,
                  "column": 4
                },
                "end": {
                  "line": 138,
                  "column": 72
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 5212,
                "end": 5258,
                "loc": {
                  "start": {
                    "line": 138,
                    "column": 4
                  },
                  "end": {
                    "line": 138,
                    "column": 50
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 5212,
                  "end": 5245,
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 4
                    },
                    "end": {
                      "line": 138,
                      "column": 37
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 5212,
                    "end": 5221,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 4
                      },
                      "end": {
                        "line": 138,
                        "column": 13
                      }
                    },
                    "name": "raycaster"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5222,
                    "end": 5245,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 14
                      },
                      "end": {
                        "line": 138,
                        "column": 37
                      }
                    },
                    "name": "_intersectionPointWorld"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 5246,
                  "end": 5258,
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 38
                    },
                    "end": {
                      "line": 138,
                      "column": 50
                    }
                  },
                  "name": "applyMatrix4"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "MemberExpression",
                  "start": 5260,
                  "end": 5278,
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 52
                    },
                    "end": {
                      "line": 138,
                      "column": 70
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 5260,
                    "end": 5266,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 52
                      },
                      "end": {
                        "line": 138,
                        "column": 58
                      }
                    },
                    "name": "object"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5267,
                    "end": 5278,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 59
                      },
                      "end": {
                        "line": 138,
                        "column": 70
                      }
                    },
                    "name": "matrixWorld"
                  },
                  "computed": false
                }
              ]
            }
          },
          {
            "type": "VariableDeclaration",
            "start": 5286,
            "end": 5370,
            "loc": {
              "start": {
                "line": 139,
                "column": 4
              },
              "end": {
                "line": 139,
                "column": 88
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 5290,
                "end": 5369,
                "loc": {
                  "start": {
                    "line": 139,
                    "column": 8
                  },
                  "end": {
                    "line": 139,
                    "column": 87
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 5290,
                  "end": 5298,
                  "loc": {
                    "start": {
                      "line": 139,
                      "column": 8
                    },
                    "end": {
                      "line": 139,
                      "column": 16
                    }
                  },
                  "name": "distance"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 5301,
                  "end": 5369,
                  "loc": {
                    "start": {
                      "line": 139,
                      "column": 19
                    },
                    "end": {
                      "line": 139,
                      "column": 87
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 5301,
                    "end": 5332,
                    "loc": {
                      "start": {
                        "line": 139,
                        "column": 19
                      },
                      "end": {
                        "line": 139,
                        "column": 50
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 5301,
                      "end": 5321,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 19
                        },
                        "end": {
                          "line": 139,
                          "column": 39
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 5301,
                        "end": 5314,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 19
                          },
                          "end": {
                            "line": 139,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5301,
                          "end": 5310,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 19
                            },
                            "end": {
                              "line": 139,
                              "column": 28
                            }
                          },
                          "name": "raycaster"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5311,
                          "end": 5314,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 29
                            },
                            "end": {
                              "line": 139,
                              "column": 32
                            }
                          },
                          "name": "ray"
                        },
                        "computed": false
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5315,
                        "end": 5321,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 33
                          },
                          "end": {
                            "line": 139,
                            "column": 39
                          }
                        },
                        "name": "origin"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 5322,
                      "end": 5332,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 40
                        },
                        "end": {
                          "line": 139,
                          "column": 50
                        }
                      },
                      "name": "distanceTo"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 5334,
                      "end": 5367,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 52
                        },
                        "end": {
                          "line": 139,
                          "column": 85
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5334,
                        "end": 5343,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 52
                          },
                          "end": {
                            "line": 139,
                            "column": 61
                          }
                        },
                        "name": "raycaster"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5344,
                        "end": 5367,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 62
                          },
                          "end": {
                            "line": 139,
                            "column": 85
                          }
                        },
                        "name": "_intersectionPointWorld"
                      },
                      "computed": false
                    }
                  ]
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "IfStatement",
            "start": 5375,
            "end": 5448,
            "loc": {
              "start": {
                "line": 140,
                "column": 4
              },
              "end": {
                "line": 140,
                "column": 77
              }
            },
            "test": {
              "type": "LogicalExpression",
              "start": 5380,
              "end": 5433,
              "loc": {
                "start": {
                  "line": 140,
                  "column": 9
                },
                "end": {
                  "line": 140,
                  "column": 62
                }
              },
              "left": {
                "type": "BinaryExpression",
                "start": 5380,
                "end": 5405,
                "loc": {
                  "start": {
                    "line": 140,
                    "column": 9
                  },
                  "end": {
                    "line": 140,
                    "column": 34
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 5380,
                  "end": 5388,
                  "loc": {
                    "start": {
                      "line": 140,
                      "column": 9
                    },
                    "end": {
                      "line": 140,
                      "column": 17
                    }
                  },
                  "name": "distance"
                },
                "operator": "<",
                "right": {
                  "type": "MemberExpression",
                  "start": 5391,
                  "end": 5405,
                  "loc": {
                    "start": {
                      "line": 140,
                      "column": 20
                    },
                    "end": {
                      "line": 140,
                      "column": 34
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 5391,
                    "end": 5400,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 20
                      },
                      "end": {
                        "line": 140,
                        "column": 29
                      }
                    },
                    "name": "raycaster"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5401,
                    "end": 5405,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 30
                      },
                      "end": {
                        "line": 140,
                        "column": 34
                      }
                    },
                    "name": "near"
                  },
                  "computed": false
                }
              },
              "operator": "||",
              "right": {
                "type": "BinaryExpression",
                "start": 5409,
                "end": 5433,
                "loc": {
                  "start": {
                    "line": 140,
                    "column": 38
                  },
                  "end": {
                    "line": 140,
                    "column": 62
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 5409,
                  "end": 5417,
                  "loc": {
                    "start": {
                      "line": 140,
                      "column": 38
                    },
                    "end": {
                      "line": 140,
                      "column": 46
                    }
                  },
                  "name": "distance"
                },
                "operator": ">",
                "right": {
                  "type": "MemberExpression",
                  "start": 5420,
                  "end": 5433,
                  "loc": {
                    "start": {
                      "line": 140,
                      "column": 49
                    },
                    "end": {
                      "line": 140,
                      "column": 62
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 5420,
                    "end": 5429,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 49
                      },
                      "end": {
                        "line": 140,
                        "column": 58
                      }
                    },
                    "name": "raycaster"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5430,
                    "end": 5433,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 59
                      },
                      "end": {
                        "line": 140,
                        "column": 62
                      }
                    },
                    "name": "far"
                  },
                  "computed": false
                }
              }
            },
            "consequent": {
              "type": "ReturnStatement",
              "start": 5436,
              "end": 5448,
              "loc": {
                "start": {
                  "line": 140,
                  "column": 65
                },
                "end": {
                  "line": 140,
                  "column": 77
                }
              },
              "argument": {
                "type": "Literal",
                "start": 5443,
                "end": 5447,
                "loc": {
                  "start": {
                    "line": 140,
                    "column": 72
                  },
                  "end": {
                    "line": 140,
                    "column": 76
                  }
                },
                "value": null,
                "rawValue": null,
                "raw": "null"
              }
            },
            "alternate": null
          },
          {
            "type": "ReturnStatement",
            "start": 5453,
            "end": 5577,
            "loc": {
              "start": {
                "line": 141,
                "column": 4
              },
              "end": {
                "line": 145,
                "column": 6
              }
            },
            "argument": {
              "type": "ObjectExpression",
              "start": 5460,
              "end": 5576,
              "loc": {
                "start": {
                  "line": 141,
                  "column": 11
                },
                "end": {
                  "line": 145,
                  "column": 5
                }
              },
              "properties": [
                {
                  "type": "Property",
                  "start": 5470,
                  "end": 5488,
                  "loc": {
                    "start": {
                      "line": 142,
                      "column": 8
                    },
                    "end": {
                      "line": 142,
                      "column": 26
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 5470,
                    "end": 5478,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 8
                      },
                      "end": {
                        "line": 142,
                        "column": 16
                      }
                    },
                    "name": "distance"
                  },
                  "value": {
                    "type": "Identifier",
                    "start": 5480,
                    "end": 5488,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 18
                      },
                      "end": {
                        "line": 142,
                        "column": 26
                      }
                    },
                    "name": "distance"
                  },
                  "kind": "init"
                },
                {
                  "type": "Property",
                  "start": 5498,
                  "end": 5546,
                  "loc": {
                    "start": {
                      "line": 143,
                      "column": 8
                    },
                    "end": {
                      "line": 143,
                      "column": 56
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 5498,
                    "end": 5503,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 8
                      },
                      "end": {
                        "line": 143,
                        "column": 13
                      }
                    },
                    "name": "point"
                  },
                  "value": {
                    "type": "CallExpression",
                    "start": 5505,
                    "end": 5546,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 15
                      },
                      "end": {
                        "line": 143,
                        "column": 56
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 5505,
                      "end": 5544,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 15
                        },
                        "end": {
                          "line": 143,
                          "column": 54
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 5505,
                        "end": 5538,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 15
                          },
                          "end": {
                            "line": 143,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5505,
                          "end": 5514,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 15
                            },
                            "end": {
                              "line": 143,
                              "column": 24
                            }
                          },
                          "name": "raycaster"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5515,
                          "end": 5538,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 25
                            },
                            "end": {
                              "line": 143,
                              "column": 48
                            }
                          },
                          "name": "_intersectionPointWorld"
                        },
                        "computed": false
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5539,
                        "end": 5544,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 49
                          },
                          "end": {
                            "line": 143,
                            "column": 54
                          }
                        },
                        "name": "clone"
                      },
                      "computed": false
                    },
                    "arguments": []
                  },
                  "kind": "init"
                },
                {
                  "type": "Property",
                  "start": 5556,
                  "end": 5570,
                  "loc": {
                    "start": {
                      "line": 144,
                      "column": 8
                    },
                    "end": {
                      "line": 144,
                      "column": 22
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 5556,
                    "end": 5562,
                    "loc": {
                      "start": {
                        "line": 144,
                        "column": 8
                      },
                      "end": {
                        "line": 144,
                        "column": 14
                      }
                    },
                    "name": "object"
                  },
                  "value": {
                    "type": "Identifier",
                    "start": 5564,
                    "end": 5570,
                    "loc": {
                      "start": {
                        "line": 144,
                        "column": 16
                      },
                      "end": {
                        "line": 144,
                        "column": 22
                      }
                    },
                    "name": "object"
                  },
                  "kind": "init"
                }
              ]
            }
          }
        ]
      }
    },
    {
      "type": "FunctionDeclaration",
      "start": 5581,
      "end": 6554,
      "loc": {
        "start": {
          "line": 148,
          "column": 0
        },
        "end": {
          "line": 164,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 5590,
        "end": 5621,
        "loc": {
          "start": {
            "line": 148,
            "column": 9
          },
          "end": {
            "line": 148,
            "column": 40
          }
        },
        "name": "checkBufferGeometryIntersection"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 5623,
          "end": 5629,
          "loc": {
            "start": {
              "line": 148,
              "column": 42
            },
            "end": {
              "line": 148,
              "column": 48
            }
          },
          "name": "object"
        },
        {
          "type": "Identifier",
          "start": 5631,
          "end": 5640,
          "loc": {
            "start": {
              "line": 148,
              "column": 50
            },
            "end": {
              "line": 148,
              "column": 59
            }
          },
          "name": "raycaster"
        },
        {
          "type": "Identifier",
          "start": 5642,
          "end": 5645,
          "loc": {
            "start": {
              "line": 148,
              "column": 61
            },
            "end": {
              "line": 148,
              "column": 64
            }
          },
          "name": "ray"
        },
        {
          "type": "Identifier",
          "start": 5647,
          "end": 5656,
          "loc": {
            "start": {
              "line": 148,
              "column": 66
            },
            "end": {
              "line": 148,
              "column": 75
            }
          },
          "name": "positions"
        },
        {
          "type": "Identifier",
          "start": 5658,
          "end": 5661,
          "loc": {
            "start": {
              "line": 148,
              "column": 77
            },
            "end": {
              "line": 148,
              "column": 80
            }
          },
          "name": "uvs"
        },
        {
          "type": "Identifier",
          "start": 5663,
          "end": 5664,
          "loc": {
            "start": {
              "line": 148,
              "column": 82
            },
            "end": {
              "line": 148,
              "column": 83
            }
          },
          "name": "a"
        },
        {
          "type": "Identifier",
          "start": 5666,
          "end": 5667,
          "loc": {
            "start": {
              "line": 148,
              "column": 85
            },
            "end": {
              "line": 148,
              "column": 86
            }
          },
          "name": "b"
        },
        {
          "type": "Identifier",
          "start": 5669,
          "end": 5670,
          "loc": {
            "start": {
              "line": 148,
              "column": 88
            },
            "end": {
              "line": 148,
              "column": 89
            }
          },
          "name": "c"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 5673,
        "end": 6554,
        "loc": {
          "start": {
            "line": 148,
            "column": 92
          },
          "end": {
            "line": 164,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ExpressionStatement",
            "start": 5679,
            "end": 5723,
            "loc": {
              "start": {
                "line": 149,
                "column": 4
              },
              "end": {
                "line": 149,
                "column": 48
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 5679,
              "end": 5722,
              "loc": {
                "start": {
                  "line": 149,
                  "column": 4
                },
                "end": {
                  "line": 149,
                  "column": 47
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 5679,
                "end": 5702,
                "loc": {
                  "start": {
                    "line": 149,
                    "column": 4
                  },
                  "end": {
                    "line": 149,
                    "column": 27
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 5679,
                  "end": 5692,
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 4
                    },
                    "end": {
                      "line": 149,
                      "column": 17
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 5679,
                    "end": 5688,
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 4
                      },
                      "end": {
                        "line": 149,
                        "column": 13
                      }
                    },
                    "name": "raycaster"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5689,
                    "end": 5692,
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 14
                      },
                      "end": {
                        "line": 149,
                        "column": 17
                      }
                    },
                    "name": "_vA"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 5693,
                  "end": 5702,
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 18
                    },
                    "end": {
                      "line": 149,
                      "column": 27
                    }
                  },
                  "name": "fromArray"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 5704,
                  "end": 5713,
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 29
                    },
                    "end": {
                      "line": 149,
                      "column": 38
                    }
                  },
                  "name": "positions"
                },
                {
                  "type": "BinaryExpression",
                  "start": 5715,
                  "end": 5720,
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 40
                    },
                    "end": {
                      "line": 149,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 5715,
                    "end": 5716,
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 40
                      },
                      "end": {
                        "line": 149,
                        "column": 41
                      }
                    },
                    "name": "a"
                  },
                  "operator": "*",
                  "right": {
                    "type": "Literal",
                    "start": 5719,
                    "end": 5720,
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 44
                      },
                      "end": {
                        "line": 149,
                        "column": 45
                      }
                    },
                    "value": 3,
                    "rawValue": 3,
                    "raw": "3"
                  }
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 5728,
            "end": 5772,
            "loc": {
              "start": {
                "line": 150,
                "column": 4
              },
              "end": {
                "line": 150,
                "column": 48
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 5728,
              "end": 5771,
              "loc": {
                "start": {
                  "line": 150,
                  "column": 4
                },
                "end": {
                  "line": 150,
                  "column": 47
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 5728,
                "end": 5751,
                "loc": {
                  "start": {
                    "line": 150,
                    "column": 4
                  },
                  "end": {
                    "line": 150,
                    "column": 27
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 5728,
                  "end": 5741,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 4
                    },
                    "end": {
                      "line": 150,
                      "column": 17
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 5728,
                    "end": 5737,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 4
                      },
                      "end": {
                        "line": 150,
                        "column": 13
                      }
                    },
                    "name": "raycaster"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5738,
                    "end": 5741,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 14
                      },
                      "end": {
                        "line": 150,
                        "column": 17
                      }
                    },
                    "name": "_vB"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 5742,
                  "end": 5751,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 18
                    },
                    "end": {
                      "line": 150,
                      "column": 27
                    }
                  },
                  "name": "fromArray"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 5753,
                  "end": 5762,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 29
                    },
                    "end": {
                      "line": 150,
                      "column": 38
                    }
                  },
                  "name": "positions"
                },
                {
                  "type": "BinaryExpression",
                  "start": 5764,
                  "end": 5769,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 40
                    },
                    "end": {
                      "line": 150,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 5764,
                    "end": 5765,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 40
                      },
                      "end": {
                        "line": 150,
                        "column": 41
                      }
                    },
                    "name": "b"
                  },
                  "operator": "*",
                  "right": {
                    "type": "Literal",
                    "start": 5768,
                    "end": 5769,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 44
                      },
                      "end": {
                        "line": 150,
                        "column": 45
                      }
                    },
                    "value": 3,
                    "rawValue": 3,
                    "raw": "3"
                  }
                }
              ]
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 5777,
            "end": 5821,
            "loc": {
              "start": {
                "line": 151,
                "column": 4
              },
              "end": {
                "line": 151,
                "column": 48
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 5777,
              "end": 5820,
              "loc": {
                "start": {
                  "line": 151,
                  "column": 4
                },
                "end": {
                  "line": 151,
                  "column": 47
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 5777,
                "end": 5800,
                "loc": {
                  "start": {
                    "line": 151,
                    "column": 4
                  },
                  "end": {
                    "line": 151,
                    "column": 27
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 5777,
                  "end": 5790,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 4
                    },
                    "end": {
                      "line": 151,
                      "column": 17
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 5777,
                    "end": 5786,
                    "loc": {
                      "start": {
                        "line": 151,
                        "column": 4
                      },
                      "end": {
                        "line": 151,
                        "column": 13
                      }
                    },
                    "name": "raycaster"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5787,
                    "end": 5790,
                    "loc": {
                      "start": {
                        "line": 151,
                        "column": 14
                      },
                      "end": {
                        "line": 151,
                        "column": 17
                      }
                    },
                    "name": "_vC"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 5791,
                  "end": 5800,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 18
                    },
                    "end": {
                      "line": 151,
                      "column": 27
                    }
                  },
                  "name": "fromArray"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 5802,
                  "end": 5811,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 29
                    },
                    "end": {
                      "line": 151,
                      "column": 38
                    }
                  },
                  "name": "positions"
                },
                {
                  "type": "BinaryExpression",
                  "start": 5813,
                  "end": 5818,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 40
                    },
                    "end": {
                      "line": 151,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 5813,
                    "end": 5814,
                    "loc": {
                      "start": {
                        "line": 151,
                        "column": 40
                      },
                      "end": {
                        "line": 151,
                        "column": 41
                      }
                    },
                    "name": "c"
                  },
                  "operator": "*",
                  "right": {
                    "type": "Literal",
                    "start": 5817,
                    "end": 5818,
                    "loc": {
                      "start": {
                        "line": 151,
                        "column": 44
                      },
                      "end": {
                        "line": 151,
                        "column": 45
                      }
                    },
                    "value": 3,
                    "rawValue": 3,
                    "raw": "3"
                  }
                }
              ]
            }
          },
          {
            "type": "VariableDeclaration",
            "start": 5826,
            "end": 5964,
            "loc": {
              "start": {
                "line": 152,
                "column": 4
              },
              "end": {
                "line": 152,
                "column": 142
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 5830,
                "end": 5963,
                "loc": {
                  "start": {
                    "line": 152,
                    "column": 8
                  },
                  "end": {
                    "line": 152,
                    "column": 141
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 5830,
                  "end": 5842,
                  "loc": {
                    "start": {
                      "line": 152,
                      "column": 8
                    },
                    "end": {
                      "line": 152,
                      "column": 20
                    }
                  },
                  "name": "intersection"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 5845,
                  "end": 5963,
                  "loc": {
                    "start": {
                      "line": 152,
                      "column": 23
                    },
                    "end": {
                      "line": 152,
                      "column": 141
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 5845,
                    "end": 5862,
                    "loc": {
                      "start": {
                        "line": 152,
                        "column": 23
                      },
                      "end": {
                        "line": 152,
                        "column": 40
                      }
                    },
                    "name": "checkIntersection"
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 5864,
                      "end": 5870,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 42
                        },
                        "end": {
                          "line": 152,
                          "column": 48
                        }
                      },
                      "name": "object"
                    },
                    {
                      "type": "Identifier",
                      "start": 5872,
                      "end": 5881,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 50
                        },
                        "end": {
                          "line": 152,
                          "column": 59
                        }
                      },
                      "name": "raycaster"
                    },
                    {
                      "type": "Identifier",
                      "start": 5883,
                      "end": 5886,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 61
                        },
                        "end": {
                          "line": 152,
                          "column": 64
                        }
                      },
                      "name": "ray"
                    },
                    {
                      "type": "MemberExpression",
                      "start": 5888,
                      "end": 5901,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 66
                        },
                        "end": {
                          "line": 152,
                          "column": 79
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5888,
                        "end": 5897,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 66
                          },
                          "end": {
                            "line": 152,
                            "column": 75
                          }
                        },
                        "name": "raycaster"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5898,
                        "end": 5901,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 76
                          },
                          "end": {
                            "line": 152,
                            "column": 79
                          }
                        },
                        "name": "_vA"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 5903,
                      "end": 5916,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 81
                        },
                        "end": {
                          "line": 152,
                          "column": 94
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5903,
                        "end": 5912,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 81
                          },
                          "end": {
                            "line": 152,
                            "column": 90
                          }
                        },
                        "name": "raycaster"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5913,
                        "end": 5916,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 91
                          },
                          "end": {
                            "line": 152,
                            "column": 94
                          }
                        },
                        "name": "_vB"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 5918,
                      "end": 5931,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 96
                        },
                        "end": {
                          "line": 152,
                          "column": 109
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5918,
                        "end": 5927,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 96
                          },
                          "end": {
                            "line": 152,
                            "column": 105
                          }
                        },
                        "name": "raycaster"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5928,
                        "end": 5931,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 106
                          },
                          "end": {
                            "line": 152,
                            "column": 109
                          }
                        },
                        "name": "_vC"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 5933,
                      "end": 5961,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 111
                        },
                        "end": {
                          "line": 152,
                          "column": 139
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5933,
                        "end": 5942,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 111
                          },
                          "end": {
                            "line": 152,
                            "column": 120
                          }
                        },
                        "name": "raycaster"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5943,
                        "end": 5961,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 121
                          },
                          "end": {
                            "line": 152,
                            "column": 139
                          }
                        },
                        "name": "_intersectionPoint"
                      },
                      "computed": false
                    }
                  ]
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "IfStatement",
            "start": 5969,
            "end": 6527,
            "loc": {
              "start": {
                "line": 153,
                "column": 4
              },
              "end": {
                "line": 162,
                "column": 5
              }
            },
            "test": {
              "type": "Identifier",
              "start": 5974,
              "end": 5986,
              "loc": {
                "start": {
                  "line": 153,
                  "column": 9
                },
                "end": {
                  "line": 153,
                  "column": 21
                }
              },
              "name": "intersection"
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 5989,
              "end": 6527,
              "loc": {
                "start": {
                  "line": 153,
                  "column": 24
                },
                "end": {
                  "line": 162,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "IfStatement",
                  "start": 5999,
                  "end": 6359,
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 8
                    },
                    "end": {
                      "line": 159,
                      "column": 9
                    }
                  },
                  "test": {
                    "type": "Identifier",
                    "start": 6004,
                    "end": 6007,
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 13
                      },
                      "end": {
                        "line": 154,
                        "column": 16
                      }
                    },
                    "name": "uvs"
                  },
                  "consequent": {
                    "type": "BlockStatement",
                    "start": 6010,
                    "end": 6359,
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 19
                      },
                      "end": {
                        "line": 159,
                        "column": 9
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 6024,
                        "end": 6063,
                        "loc": {
                          "start": {
                            "line": 155,
                            "column": 12
                          },
                          "end": {
                            "line": 155,
                            "column": 51
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 6024,
                          "end": 6062,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 12
                            },
                            "end": {
                              "line": 155,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6024,
                            "end": 6048,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 12
                              },
                              "end": {
                                "line": 155,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6024,
                              "end": 6038,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 12
                                },
                                "end": {
                                  "line": 155,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6024,
                                "end": 6033,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 21
                                  }
                                },
                                "name": "raycaster"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6034,
                                "end": 6038,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 26
                                  }
                                },
                                "name": "_uvA"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6039,
                              "end": 6048,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 27
                                },
                                "end": {
                                  "line": 155,
                                  "column": 36
                                }
                              },
                              "name": "fromArray"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 6050,
                              "end": 6053,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 38
                                },
                                "end": {
                                  "line": 155,
                                  "column": 41
                                }
                              },
                              "name": "uvs"
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 6055,
                              "end": 6060,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 43
                                },
                                "end": {
                                  "line": 155,
                                  "column": 48
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6055,
                                "end": 6056,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 44
                                  }
                                },
                                "name": "a"
                              },
                              "operator": "*",
                              "right": {
                                "type": "Literal",
                                "start": 6059,
                                "end": 6060,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 48
                                  }
                                },
                                "value": 2,
                                "rawValue": 2,
                                "raw": "2"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 6076,
                        "end": 6115,
                        "loc": {
                          "start": {
                            "line": 156,
                            "column": 12
                          },
                          "end": {
                            "line": 156,
                            "column": 51
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 6076,
                          "end": 6114,
                          "loc": {
                            "start": {
                              "line": 156,
                              "column": 12
                            },
                            "end": {
                              "line": 156,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6076,
                            "end": 6100,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 12
                              },
                              "end": {
                                "line": 156,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6076,
                              "end": 6090,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 12
                                },
                                "end": {
                                  "line": 156,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6076,
                                "end": 6085,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 21
                                  }
                                },
                                "name": "raycaster"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6086,
                                "end": 6090,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 26
                                  }
                                },
                                "name": "_uvB"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6091,
                              "end": 6100,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 27
                                },
                                "end": {
                                  "line": 156,
                                  "column": 36
                                }
                              },
                              "name": "fromArray"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 6102,
                              "end": 6105,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 38
                                },
                                "end": {
                                  "line": 156,
                                  "column": 41
                                }
                              },
                              "name": "uvs"
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 6107,
                              "end": 6112,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 43
                                },
                                "end": {
                                  "line": 156,
                                  "column": 48
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6107,
                                "end": 6108,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 44
                                  }
                                },
                                "name": "b"
                              },
                              "operator": "*",
                              "right": {
                                "type": "Literal",
                                "start": 6111,
                                "end": 6112,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 48
                                  }
                                },
                                "value": 2,
                                "rawValue": 2,
                                "raw": "2"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 6128,
                        "end": 6167,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 12
                          },
                          "end": {
                            "line": 157,
                            "column": 51
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 6128,
                          "end": 6166,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 12
                            },
                            "end": {
                              "line": 157,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6128,
                            "end": 6152,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 12
                              },
                              "end": {
                                "line": 157,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6128,
                              "end": 6142,
                              "loc": {
                                "start": {
                                  "line": 157,
                                  "column": 12
                                },
                                "end": {
                                  "line": 157,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6128,
                                "end": 6137,
                                "loc": {
                                  "start": {
                                    "line": 157,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 157,
                                    "column": 21
                                  }
                                },
                                "name": "raycaster"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6138,
                                "end": 6142,
                                "loc": {
                                  "start": {
                                    "line": 157,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 157,
                                    "column": 26
                                  }
                                },
                                "name": "_uvC"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6143,
                              "end": 6152,
                              "loc": {
                                "start": {
                                  "line": 157,
                                  "column": 27
                                },
                                "end": {
                                  "line": 157,
                                  "column": 36
                                }
                              },
                              "name": "fromArray"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 6154,
                              "end": 6157,
                              "loc": {
                                "start": {
                                  "line": 157,
                                  "column": 38
                                },
                                "end": {
                                  "line": 157,
                                  "column": 41
                                }
                              },
                              "name": "uvs"
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 6159,
                              "end": 6164,
                              "loc": {
                                "start": {
                                  "line": 157,
                                  "column": 43
                                },
                                "end": {
                                  "line": 157,
                                  "column": 48
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6159,
                                "end": 6160,
                                "loc": {
                                  "start": {
                                    "line": 157,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 157,
                                    "column": 44
                                  }
                                },
                                "name": "c"
                              },
                              "operator": "*",
                              "right": {
                                "type": "Literal",
                                "start": 6163,
                                "end": 6164,
                                "loc": {
                                  "start": {
                                    "line": 157,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 157,
                                    "column": 48
                                  }
                                },
                                "value": 2,
                                "rawValue": 2,
                                "raw": "2"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 6180,
                        "end": 6349,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 12
                          },
                          "end": {
                            "line": 158,
                            "column": 181
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 6180,
                          "end": 6348,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 12
                            },
                            "end": {
                              "line": 158,
                              "column": 180
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 6180,
                            "end": 6195,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 12
                              },
                              "end": {
                                "line": 158,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6180,
                              "end": 6192,
                              "loc": {
                                "start": {
                                  "line": 158,
                                  "column": 12
                                },
                                "end": {
                                  "line": 158,
                                  "column": 24
                                }
                              },
                              "name": "intersection"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6193,
                              "end": 6195,
                              "loc": {
                                "start": {
                                  "line": 158,
                                  "column": 25
                                },
                                "end": {
                                  "line": 158,
                                  "column": 27
                                }
                              },
                              "name": "uv"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 6198,
                            "end": 6348,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 30
                              },
                              "end": {
                                "line": 158,
                                "column": 180
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 6198,
                              "end": 6212,
                              "loc": {
                                "start": {
                                  "line": 158,
                                  "column": 30
                                },
                                "end": {
                                  "line": 158,
                                  "column": 44
                                }
                              },
                              "name": "uvIntersection"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6214,
                                "end": 6223,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 55
                                  }
                                },
                                "name": "raycaster"
                              },
                              {
                                "type": "MemberExpression",
                                "start": 6225,
                                "end": 6253,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 85
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6225,
                                  "end": 6234,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 66
                                    }
                                  },
                                  "name": "raycaster"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6235,
                                  "end": 6253,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 85
                                    }
                                  },
                                  "name": "_intersectionPoint"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 6255,
                                "end": 6268,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 87
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 100
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6255,
                                  "end": 6264,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 87
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 96
                                    }
                                  },
                                  "name": "raycaster"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6265,
                                  "end": 6268,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 97
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 100
                                    }
                                  },
                                  "name": "_vA"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 6270,
                                "end": 6283,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 102
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 115
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6270,
                                  "end": 6279,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 102
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 111
                                    }
                                  },
                                  "name": "raycaster"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6280,
                                  "end": 6283,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 112
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 115
                                    }
                                  },
                                  "name": "_vB"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 6285,
                                "end": 6298,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 117
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 130
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6285,
                                  "end": 6294,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 117
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 126
                                    }
                                  },
                                  "name": "raycaster"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6295,
                                  "end": 6298,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 127
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 130
                                    }
                                  },
                                  "name": "_vC"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 6300,
                                "end": 6314,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 132
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 146
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6300,
                                  "end": 6309,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 132
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 141
                                    }
                                  },
                                  "name": "raycaster"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6310,
                                  "end": 6314,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 142
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 146
                                    }
                                  },
                                  "name": "_uvA"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 6316,
                                "end": 6330,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 148
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 162
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6316,
                                  "end": 6325,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 148
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 157
                                    }
                                  },
                                  "name": "raycaster"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6326,
                                  "end": 6330,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 158
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 162
                                    }
                                  },
                                  "name": "_uvB"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 6332,
                                "end": 6346,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 164
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 178
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6332,
                                  "end": 6341,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 164
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 173
                                    }
                                  },
                                  "name": "raycaster"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6342,
                                  "end": 6346,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 174
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 178
                                    }
                                  },
                                  "name": "_uvC"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "alternate": null
                },
                {
                  "type": "ExpressionStatement",
                  "start": 6368,
                  "end": 6485,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 8
                    },
                    "end": {
                      "line": 160,
                      "column": 125
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 6368,
                    "end": 6484,
                    "loc": {
                      "start": {
                        "line": 160,
                        "column": 8
                      },
                      "end": {
                        "line": 160,
                        "column": 124
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "MemberExpression",
                      "start": 6368,
                      "end": 6385,
                      "loc": {
                        "start": {
                          "line": 160,
                          "column": 8
                        },
                        "end": {
                          "line": 160,
                          "column": 25
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 6368,
                        "end": 6380,
                        "loc": {
                          "start": {
                            "line": 160,
                            "column": 8
                          },
                          "end": {
                            "line": 160,
                            "column": 20
                          }
                        },
                        "name": "intersection"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6381,
                        "end": 6385,
                        "loc": {
                          "start": {
                            "line": 160,
                            "column": 21
                          },
                          "end": {
                            "line": 160,
                            "column": 25
                          }
                        },
                        "name": "face"
                      },
                      "computed": false
                    },
                    "right": {
                      "type": "NewExpression",
                      "start": 6388,
                      "end": 6484,
                      "loc": {
                        "start": {
                          "line": 160,
                          "column": 28
                        },
                        "end": {
                          "line": 160,
                          "column": 124
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 6392,
                        "end": 6403,
                        "loc": {
                          "start": {
                            "line": 160,
                            "column": 32
                          },
                          "end": {
                            "line": 160,
                            "column": 43
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6392,
                          "end": 6397,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 32
                            },
                            "end": {
                              "line": 160,
                              "column": 37
                            }
                          },
                          "name": "THREE"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6398,
                          "end": 6403,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 38
                            },
                            "end": {
                              "line": 160,
                              "column": 43
                            }
                          },
                          "name": "Face3"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 6405,
                          "end": 6406,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 45
                            },
                            "end": {
                              "line": 160,
                              "column": 46
                            }
                          },
                          "name": "a"
                        },
                        {
                          "type": "Identifier",
                          "start": 6408,
                          "end": 6409,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 48
                            },
                            "end": {
                              "line": 160,
                              "column": 49
                            }
                          },
                          "name": "b"
                        },
                        {
                          "type": "Identifier",
                          "start": 6411,
                          "end": 6412,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 51
                            },
                            "end": {
                              "line": 160,
                              "column": 52
                            }
                          },
                          "name": "c"
                        },
                        {
                          "type": "CallExpression",
                          "start": 6414,
                          "end": 6482,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 54
                            },
                            "end": {
                              "line": 160,
                              "column": 122
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6414,
                            "end": 6435,
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 54
                              },
                              "end": {
                                "line": 160,
                                "column": 75
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6414,
                              "end": 6428,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 54
                                },
                                "end": {
                                  "line": 160,
                                  "column": 68
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6414,
                                "end": 6419,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 59
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6420,
                                "end": 6428,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 68
                                  }
                                },
                                "name": "Triangle"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6429,
                              "end": 6435,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 69
                                },
                                "end": {
                                  "line": 160,
                                  "column": 75
                                }
                              },
                              "name": "normal"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 6437,
                              "end": 6450,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 77
                                },
                                "end": {
                                  "line": 160,
                                  "column": 90
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6437,
                                "end": 6446,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 77
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 86
                                  }
                                },
                                "name": "raycaster"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6447,
                                "end": 6450,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 87
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 90
                                  }
                                },
                                "name": "_vA"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 6452,
                              "end": 6465,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 92
                                },
                                "end": {
                                  "line": 160,
                                  "column": 105
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6452,
                                "end": 6461,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 92
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 101
                                  }
                                },
                                "name": "raycaster"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6462,
                                "end": 6465,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 102
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 105
                                  }
                                },
                                "name": "_vB"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 6467,
                              "end": 6480,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 107
                                },
                                "end": {
                                  "line": 160,
                                  "column": 120
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6467,
                                "end": 6476,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 107
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 116
                                  }
                                },
                                "name": "raycaster"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6477,
                                "end": 6480,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 117
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 120
                                  }
                                },
                                "name": "_vC"
                              },
                              "computed": false
                            }
                          ]
                        }
                      ]
                    }
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 6494,
                  "end": 6521,
                  "loc": {
                    "start": {
                      "line": 161,
                      "column": 8
                    },
                    "end": {
                      "line": 161,
                      "column": 35
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 6494,
                    "end": 6520,
                    "loc": {
                      "start": {
                        "line": 161,
                        "column": 8
                      },
                      "end": {
                        "line": 161,
                        "column": 34
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "MemberExpression",
                      "start": 6494,
                      "end": 6516,
                      "loc": {
                        "start": {
                          "line": 161,
                          "column": 8
                        },
                        "end": {
                          "line": 161,
                          "column": 30
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 6494,
                        "end": 6506,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 8
                          },
                          "end": {
                            "line": 161,
                            "column": 20
                          }
                        },
                        "name": "intersection"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6507,
                        "end": 6516,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 21
                          },
                          "end": {
                            "line": 161,
                            "column": 30
                          }
                        },
                        "name": "faceIndex"
                      },
                      "computed": false
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 6519,
                      "end": 6520,
                      "loc": {
                        "start": {
                          "line": 161,
                          "column": 33
                        },
                        "end": {
                          "line": 161,
                          "column": 34
                        }
                      },
                      "name": "a"
                    }
                  }
                }
              ]
            },
            "alternate": null
          },
          {
            "type": "ReturnStatement",
            "start": 6532,
            "end": 6552,
            "loc": {
              "start": {
                "line": 163,
                "column": 4
              },
              "end": {
                "line": 163,
                "column": 24
              }
            },
            "argument": {
              "type": "Identifier",
              "start": 6539,
              "end": 6551,
              "loc": {
                "start": {
                  "line": 163,
                  "column": 11
                },
                "end": {
                  "line": 163,
                  "column": 23
                }
              },
              "name": "intersection"
            }
          }
        ]
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 6556,
      "end": 12092,
      "loc": {
        "start": {
          "line": 166,
          "column": 0
        },
        "end": {
          "line": 281,
          "column": 1
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 6556,
        "end": 12092,
        "loc": {
          "start": {
            "line": 166,
            "column": 0
          },
          "end": {
            "line": 281,
            "column": 1
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 6556,
          "end": 6584,
          "loc": {
            "start": {
              "line": 166,
              "column": 0
            },
            "end": {
              "line": 166,
              "column": 28
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 6556,
            "end": 6576,
            "loc": {
              "start": {
                "line": 166,
                "column": 0
              },
              "end": {
                "line": 166,
                "column": 20
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 6556,
              "end": 6566,
              "loc": {
                "start": {
                  "line": 166,
                  "column": 0
                },
                "end": {
                  "line": 166,
                  "column": 10
                }
              },
              "object": {
                "type": "Identifier",
                "start": 6556,
                "end": 6561,
                "loc": {
                  "start": {
                    "line": 166,
                    "column": 0
                  },
                  "end": {
                    "line": 166,
                    "column": 5
                  }
                },
                "name": "THREE"
              },
              "property": {
                "type": "Identifier",
                "start": 6562,
                "end": 6566,
                "loc": {
                  "start": {
                    "line": 166,
                    "column": 6
                  },
                  "end": {
                    "line": 166,
                    "column": 10
                  }
                },
                "name": "Mesh"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 6567,
              "end": 6576,
              "loc": {
                "start": {
                  "line": 166,
                  "column": 11
                },
                "end": {
                  "line": 166,
                  "column": 20
                }
              },
              "name": "prototype"
            },
            "computed": false
          },
          "property": {
            "type": "Identifier",
            "start": 6577,
            "end": 6584,
            "loc": {
              "start": {
                "line": 166,
                "column": 21
              },
              "end": {
                "line": 166,
                "column": 28
              }
            },
            "name": "raycast"
          },
          "computed": false
        },
        "right": {
          "type": "FunctionExpression",
          "start": 6587,
          "end": 12092,
          "loc": {
            "start": {
              "line": 166,
              "column": 31
            },
            "end": {
              "line": 281,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 6577,
            "end": 6584,
            "loc": {
              "start": {
                "line": 166,
                "column": 21
              },
              "end": {
                "line": 166,
                "column": 28
              }
            },
            "name": "raycast"
          },
          "generator": false,
          "expression": false,
          "async": false,
          "params": [
            {
              "type": "Identifier",
              "start": 6597,
              "end": 6606,
              "loc": {
                "start": {
                  "line": 166,
                  "column": 41
                },
                "end": {
                  "line": 166,
                  "column": 50
                }
              },
              "name": "raycaster"
            },
            {
              "type": "Identifier",
              "start": 6608,
              "end": 6618,
              "loc": {
                "start": {
                  "line": 166,
                  "column": 52
                },
                "end": {
                  "line": 166,
                  "column": 62
                }
              },
              "name": "intersects"
            },
            {
              "type": "Identifier",
              "start": 6620,
              "end": 6628,
              "loc": {
                "start": {
                  "line": 166,
                  "column": 64
                },
                "end": {
                  "line": 166,
                  "column": 72
                }
              },
              "name": "approach"
            }
          ],
          "body": {
            "type": "BlockStatement",
            "start": 6631,
            "end": 12092,
            "loc": {
              "start": {
                "line": 166,
                "column": 75
              },
              "end": {
                "line": 281,
                "column": 1
              }
            },
            "body": [
              {
                "type": "VariableDeclaration",
                "start": 6637,
                "end": 6666,
                "loc": {
                  "start": {
                    "line": 167,
                    "column": 4
                  },
                  "end": {
                    "line": 167,
                    "column": 33
                  }
                },
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "start": 6641,
                    "end": 6665,
                    "loc": {
                      "start": {
                        "line": 167,
                        "column": 8
                      },
                      "end": {
                        "line": 167,
                        "column": 32
                      }
                    },
                    "id": {
                      "type": "Identifier",
                      "start": 6641,
                      "end": 6649,
                      "loc": {
                        "start": {
                          "line": 167,
                          "column": 8
                        },
                        "end": {
                          "line": 167,
                          "column": 16
                        }
                      },
                      "name": "geometry"
                    },
                    "init": {
                      "type": "MemberExpression",
                      "start": 6652,
                      "end": 6665,
                      "loc": {
                        "start": {
                          "line": 167,
                          "column": 19
                        },
                        "end": {
                          "line": 167,
                          "column": 32
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 6652,
                        "end": 6656,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 19
                          },
                          "end": {
                            "line": 167,
                            "column": 23
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6657,
                        "end": 6665,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 24
                          },
                          "end": {
                            "line": 167,
                            "column": 32
                          }
                        },
                        "name": "geometry"
                      },
                      "computed": false
                    }
                  }
                ],
                "kind": "var"
              },
              {
                "type": "VariableDeclaration",
                "start": 6671,
                "end": 6700,
                "loc": {
                  "start": {
                    "line": 168,
                    "column": 4
                  },
                  "end": {
                    "line": 168,
                    "column": 33
                  }
                },
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "start": 6675,
                    "end": 6699,
                    "loc": {
                      "start": {
                        "line": 168,
                        "column": 8
                      },
                      "end": {
                        "line": 168,
                        "column": 32
                      }
                    },
                    "id": {
                      "type": "Identifier",
                      "start": 6675,
                      "end": 6683,
                      "loc": {
                        "start": {
                          "line": 168,
                          "column": 8
                        },
                        "end": {
                          "line": 168,
                          "column": 16
                        }
                      },
                      "name": "material"
                    },
                    "init": {
                      "type": "MemberExpression",
                      "start": 6686,
                      "end": 6699,
                      "loc": {
                        "start": {
                          "line": 168,
                          "column": 19
                        },
                        "end": {
                          "line": 168,
                          "column": 32
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 6686,
                        "end": 6690,
                        "loc": {
                          "start": {
                            "line": 168,
                            "column": 19
                          },
                          "end": {
                            "line": 168,
                            "column": 23
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6691,
                        "end": 6699,
                        "loc": {
                          "start": {
                            "line": 168,
                            "column": 24
                          },
                          "end": {
                            "line": 168,
                            "column": 32
                          }
                        },
                        "name": "material"
                      },
                      "computed": false
                    }
                  }
                ],
                "kind": "var"
              },
              {
                "type": "VariableDeclaration",
                "start": 6705,
                "end": 6740,
                "loc": {
                  "start": {
                    "line": 169,
                    "column": 4
                  },
                  "end": {
                    "line": 169,
                    "column": 39
                  }
                },
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "start": 6709,
                    "end": 6739,
                    "loc": {
                      "start": {
                        "line": 169,
                        "column": 8
                      },
                      "end": {
                        "line": 169,
                        "column": 38
                      }
                    },
                    "id": {
                      "type": "Identifier",
                      "start": 6709,
                      "end": 6720,
                      "loc": {
                        "start": {
                          "line": 169,
                          "column": 8
                        },
                        "end": {
                          "line": 169,
                          "column": 19
                        }
                      },
                      "name": "matrixWorld"
                    },
                    "init": {
                      "type": "MemberExpression",
                      "start": 6723,
                      "end": 6739,
                      "loc": {
                        "start": {
                          "line": 169,
                          "column": 22
                        },
                        "end": {
                          "line": 169,
                          "column": 38
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 6723,
                        "end": 6727,
                        "loc": {
                          "start": {
                            "line": 169,
                            "column": 22
                          },
                          "end": {
                            "line": 169,
                            "column": 26
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6728,
                        "end": 6739,
                        "loc": {
                          "start": {
                            "line": 169,
                            "column": 27
                          },
                          "end": {
                            "line": 169,
                            "column": 38
                          }
                        },
                        "name": "matrixWorld"
                      },
                      "computed": false
                    }
                  }
                ],
                "kind": "var"
              },
              {
                "type": "IfStatement",
                "start": 6745,
                "end": 6782,
                "loc": {
                  "start": {
                    "line": 170,
                    "column": 4
                  },
                  "end": {
                    "line": 170,
                    "column": 41
                  }
                },
                "test": {
                  "type": "BinaryExpression",
                  "start": 6750,
                  "end": 6772,
                  "loc": {
                    "start": {
                      "line": 170,
                      "column": 9
                    },
                    "end": {
                      "line": 170,
                      "column": 31
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 6750,
                    "end": 6758,
                    "loc": {
                      "start": {
                        "line": 170,
                        "column": 9
                      },
                      "end": {
                        "line": 170,
                        "column": 17
                      }
                    },
                    "name": "material"
                  },
                  "operator": "===",
                  "right": {
                    "type": "Identifier",
                    "start": 6763,
                    "end": 6772,
                    "loc": {
                      "start": {
                        "line": 170,
                        "column": 22
                      },
                      "end": {
                        "line": 170,
                        "column": 31
                      }
                    },
                    "name": "undefined"
                  }
                },
                "consequent": {
                  "type": "ReturnStatement",
                  "start": 6775,
                  "end": 6782,
                  "loc": {
                    "start": {
                      "line": 170,
                      "column": 34
                    },
                    "end": {
                      "line": 170,
                      "column": 41
                    }
                  },
                  "argument": null
                },
                "alternate": null
              },
              {
                "type": "IfStatement",
                "start": 6787,
                "end": 6860,
                "loc": {
                  "start": {
                    "line": 171,
                    "column": 4
                  },
                  "end": {
                    "line": 171,
                    "column": 77
                  }
                },
                "test": {
                  "type": "BinaryExpression",
                  "start": 6792,
                  "end": 6824,
                  "loc": {
                    "start": {
                      "line": 171,
                      "column": 9
                    },
                    "end": {
                      "line": 171,
                      "column": 41
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 6792,
                    "end": 6815,
                    "loc": {
                      "start": {
                        "line": 171,
                        "column": 9
                      },
                      "end": {
                        "line": 171,
                        "column": 32
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 6792,
                      "end": 6800,
                      "loc": {
                        "start": {
                          "line": 171,
                          "column": 9
                        },
                        "end": {
                          "line": 171,
                          "column": 17
                        }
                      },
                      "name": "geometry"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 6801,
                      "end": 6815,
                      "loc": {
                        "start": {
                          "line": 171,
                          "column": 18
                        },
                        "end": {
                          "line": 171,
                          "column": 32
                        }
                      },
                      "name": "boundingSphere"
                    },
                    "computed": false
                  },
                  "operator": "===",
                  "right": {
                    "type": "Literal",
                    "start": 6820,
                    "end": 6824,
                    "loc": {
                      "start": {
                        "line": 171,
                        "column": 37
                      },
                      "end": {
                        "line": 171,
                        "column": 41
                      }
                    },
                    "value": null,
                    "rawValue": null,
                    "raw": "null"
                  }
                },
                "consequent": {
                  "type": "ExpressionStatement",
                  "start": 6827,
                  "end": 6860,
                  "loc": {
                    "start": {
                      "line": 171,
                      "column": 44
                    },
                    "end": {
                      "line": 171,
                      "column": 77
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 6827,
                    "end": 6859,
                    "loc": {
                      "start": {
                        "line": 171,
                        "column": 44
                      },
                      "end": {
                        "line": 171,
                        "column": 76
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 6827,
                      "end": 6857,
                      "loc": {
                        "start": {
                          "line": 171,
                          "column": 44
                        },
                        "end": {
                          "line": 171,
                          "column": 74
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 6827,
                        "end": 6835,
                        "loc": {
                          "start": {
                            "line": 171,
                            "column": 44
                          },
                          "end": {
                            "line": 171,
                            "column": 52
                          }
                        },
                        "name": "geometry"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6836,
                        "end": 6857,
                        "loc": {
                          "start": {
                            "line": 171,
                            "column": 53
                          },
                          "end": {
                            "line": 171,
                            "column": 74
                          }
                        },
                        "name": "computeBoundingSphere"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                },
                "alternate": null
              },
              {
                "type": "ExpressionStatement",
                "start": 6865,
                "end": 6915,
                "loc": {
                  "start": {
                    "line": 172,
                    "column": 4
                  },
                  "end": {
                    "line": 172,
                    "column": 54
                  }
                },
                "expression": {
                  "type": "CallExpression",
                  "start": 6865,
                  "end": 6914,
                  "loc": {
                    "start": {
                      "line": 172,
                      "column": 4
                    },
                    "end": {
                      "line": 172,
                      "column": 53
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 6865,
                    "end": 6887,
                    "loc": {
                      "start": {
                        "line": 172,
                        "column": 4
                      },
                      "end": {
                        "line": 172,
                        "column": 26
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 6865,
                      "end": 6882,
                      "loc": {
                        "start": {
                          "line": 172,
                          "column": 4
                        },
                        "end": {
                          "line": 172,
                          "column": 21
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 6865,
                        "end": 6874,
                        "loc": {
                          "start": {
                            "line": 172,
                            "column": 4
                          },
                          "end": {
                            "line": 172,
                            "column": 13
                          }
                        },
                        "name": "raycaster"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6875,
                        "end": 6882,
                        "loc": {
                          "start": {
                            "line": 172,
                            "column": 14
                          },
                          "end": {
                            "line": 172,
                            "column": 21
                          }
                        },
                        "name": "_sphere"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 6883,
                      "end": 6887,
                      "loc": {
                        "start": {
                          "line": 172,
                          "column": 22
                        },
                        "end": {
                          "line": 172,
                          "column": 26
                        }
                      },
                      "name": "copy"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 6889,
                      "end": 6912,
                      "loc": {
                        "start": {
                          "line": 172,
                          "column": 28
                        },
                        "end": {
                          "line": 172,
                          "column": 51
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 6889,
                        "end": 6897,
                        "loc": {
                          "start": {
                            "line": 172,
                            "column": 28
                          },
                          "end": {
                            "line": 172,
                            "column": 36
                          }
                        },
                        "name": "geometry"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6898,
                        "end": 6912,
                        "loc": {
                          "start": {
                            "line": 172,
                            "column": 37
                          },
                          "end": {
                            "line": 172,
                            "column": 51
                          }
                        },
                        "name": "boundingSphere"
                      },
                      "computed": false
                    }
                  ]
                }
              },
              {
                "type": "ExpressionStatement",
                "start": 6920,
                "end": 6966,
                "loc": {
                  "start": {
                    "line": 173,
                    "column": 4
                  },
                  "end": {
                    "line": 173,
                    "column": 50
                  }
                },
                "expression": {
                  "type": "CallExpression",
                  "start": 6920,
                  "end": 6965,
                  "loc": {
                    "start": {
                      "line": 173,
                      "column": 4
                    },
                    "end": {
                      "line": 173,
                      "column": 49
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 6920,
                    "end": 6950,
                    "loc": {
                      "start": {
                        "line": 173,
                        "column": 4
                      },
                      "end": {
                        "line": 173,
                        "column": 34
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 6920,
                      "end": 6937,
                      "loc": {
                        "start": {
                          "line": 173,
                          "column": 4
                        },
                        "end": {
                          "line": 173,
                          "column": 21
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 6920,
                        "end": 6929,
                        "loc": {
                          "start": {
                            "line": 173,
                            "column": 4
                          },
                          "end": {
                            "line": 173,
                            "column": 13
                          }
                        },
                        "name": "raycaster"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6930,
                        "end": 6937,
                        "loc": {
                          "start": {
                            "line": 173,
                            "column": 14
                          },
                          "end": {
                            "line": 173,
                            "column": 21
                          }
                        },
                        "name": "_sphere"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 6938,
                      "end": 6950,
                      "loc": {
                        "start": {
                          "line": 173,
                          "column": 22
                        },
                        "end": {
                          "line": 173,
                          "column": 34
                        }
                      },
                      "name": "applyMatrix4"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 6952,
                      "end": 6963,
                      "loc": {
                        "start": {
                          "line": 173,
                          "column": 36
                        },
                        "end": {
                          "line": 173,
                          "column": 47
                        }
                      },
                      "name": "matrixWorld"
                    }
                  ]
                }
              },
              {
                "type": "IfStatement",
                "start": 6971,
                "end": 7047,
                "loc": {
                  "start": {
                    "line": 174,
                    "column": 4
                  },
                  "end": {
                    "line": 174,
                    "column": 80
                  }
                },
                "test": {
                  "type": "BinaryExpression",
                  "start": 6976,
                  "end": 7037,
                  "loc": {
                    "start": {
                      "line": 174,
                      "column": 9
                    },
                    "end": {
                      "line": 174,
                      "column": 70
                    }
                  },
                  "left": {
                    "type": "CallExpression",
                    "start": 6976,
                    "end": 7027,
                    "loc": {
                      "start": {
                        "line": 174,
                        "column": 9
                      },
                      "end": {
                        "line": 174,
                        "column": 60
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 6976,
                      "end": 7006,
                      "loc": {
                        "start": {
                          "line": 174,
                          "column": 9
                        },
                        "end": {
                          "line": 174,
                          "column": 39
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 6976,
                        "end": 6989,
                        "loc": {
                          "start": {
                            "line": 174,
                            "column": 9
                          },
                          "end": {
                            "line": 174,
                            "column": 22
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6976,
                          "end": 6985,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 9
                            },
                            "end": {
                              "line": 174,
                              "column": 18
                            }
                          },
                          "name": "raycaster"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6986,
                          "end": 6989,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 19
                            },
                            "end": {
                              "line": 174,
                              "column": 22
                            }
                          },
                          "name": "ray"
                        },
                        "computed": false
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6990,
                        "end": 7006,
                        "loc": {
                          "start": {
                            "line": 174,
                            "column": 23
                          },
                          "end": {
                            "line": 174,
                            "column": 39
                          }
                        },
                        "name": "intersectsSphere"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "MemberExpression",
                        "start": 7008,
                        "end": 7025,
                        "loc": {
                          "start": {
                            "line": 174,
                            "column": 41
                          },
                          "end": {
                            "line": 174,
                            "column": 58
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 7008,
                          "end": 7017,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 41
                            },
                            "end": {
                              "line": 174,
                              "column": 50
                            }
                          },
                          "name": "raycaster"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7018,
                          "end": 7025,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 51
                            },
                            "end": {
                              "line": 174,
                              "column": 58
                            }
                          },
                          "name": "_sphere"
                        },
                        "computed": false
                      }
                    ]
                  },
                  "operator": "===",
                  "right": {
                    "type": "Literal",
                    "start": 7032,
                    "end": 7037,
                    "loc": {
                      "start": {
                        "line": 174,
                        "column": 65
                      },
                      "end": {
                        "line": 174,
                        "column": 70
                      }
                    },
                    "value": false,
                    "rawValue": false,
                    "raw": "false"
                  }
                },
                "consequent": {
                  "type": "ReturnStatement",
                  "start": 7040,
                  "end": 7047,
                  "loc": {
                    "start": {
                      "line": 174,
                      "column": 73
                    },
                    "end": {
                      "line": 174,
                      "column": 80
                    }
                  },
                  "argument": null
                },
                "alternate": null
              },
              {
                "type": "ExpressionStatement",
                "start": 7052,
                "end": 7103,
                "loc": {
                  "start": {
                    "line": 175,
                    "column": 4
                  },
                  "end": {
                    "line": 175,
                    "column": 55
                  }
                },
                "expression": {
                  "type": "CallExpression",
                  "start": 7052,
                  "end": 7102,
                  "loc": {
                    "start": {
                      "line": 175,
                      "column": 4
                    },
                    "end": {
                      "line": 175,
                      "column": 54
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 7052,
                    "end": 7087,
                    "loc": {
                      "start": {
                        "line": 175,
                        "column": 4
                      },
                      "end": {
                        "line": 175,
                        "column": 39
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 7052,
                      "end": 7076,
                      "loc": {
                        "start": {
                          "line": 175,
                          "column": 4
                        },
                        "end": {
                          "line": 175,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 7052,
                        "end": 7061,
                        "loc": {
                          "start": {
                            "line": 175,
                            "column": 4
                          },
                          "end": {
                            "line": 175,
                            "column": 13
                          }
                        },
                        "name": "raycaster"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7062,
                        "end": 7076,
                        "loc": {
                          "start": {
                            "line": 175,
                            "column": 14
                          },
                          "end": {
                            "line": 175,
                            "column": 28
                          }
                        },
                        "name": "_inverseMatrix"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7077,
                      "end": 7087,
                      "loc": {
                        "start": {
                          "line": 175,
                          "column": 29
                        },
                        "end": {
                          "line": 175,
                          "column": 39
                        }
                      },
                      "name": "getInverse"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 7089,
                      "end": 7100,
                      "loc": {
                        "start": {
                          "line": 175,
                          "column": 41
                        },
                        "end": {
                          "line": 175,
                          "column": 52
                        }
                      },
                      "name": "matrixWorld"
                    }
                  ]
                }
              },
              {
                "type": "ExpressionStatement",
                "start": 7108,
                "end": 7186,
                "loc": {
                  "start": {
                    "line": 176,
                    "column": 4
                  },
                  "end": {
                    "line": 176,
                    "column": 82
                  }
                },
                "expression": {
                  "type": "CallExpression",
                  "start": 7108,
                  "end": 7185,
                  "loc": {
                    "start": {
                      "line": 176,
                      "column": 4
                    },
                    "end": {
                      "line": 176,
                      "column": 81
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 7108,
                    "end": 7157,
                    "loc": {
                      "start": {
                        "line": 176,
                        "column": 4
                      },
                      "end": {
                        "line": 176,
                        "column": 53
                      }
                    },
                    "object": {
                      "type": "CallExpression",
                      "start": 7108,
                      "end": 7144,
                      "loc": {
                        "start": {
                          "line": 176,
                          "column": 4
                        },
                        "end": {
                          "line": 176,
                          "column": 40
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 7108,
                        "end": 7127,
                        "loc": {
                          "start": {
                            "line": 176,
                            "column": 4
                          },
                          "end": {
                            "line": 176,
                            "column": 23
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 7108,
                          "end": 7122,
                          "loc": {
                            "start": {
                              "line": 176,
                              "column": 4
                            },
                            "end": {
                              "line": 176,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 7108,
                            "end": 7117,
                            "loc": {
                              "start": {
                                "line": 176,
                                "column": 4
                              },
                              "end": {
                                "line": 176,
                                "column": 13
                              }
                            },
                            "name": "raycaster"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7118,
                            "end": 7122,
                            "loc": {
                              "start": {
                                "line": 176,
                                "column": 14
                              },
                              "end": {
                                "line": 176,
                                "column": 18
                              }
                            },
                            "name": "_ray"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7123,
                          "end": 7127,
                          "loc": {
                            "start": {
                              "line": 176,
                              "column": 19
                            },
                            "end": {
                              "line": 176,
                              "column": 23
                            }
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 7129,
                          "end": 7142,
                          "loc": {
                            "start": {
                              "line": 176,
                              "column": 25
                            },
                            "end": {
                              "line": 176,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 7129,
                            "end": 7138,
                            "loc": {
                              "start": {
                                "line": 176,
                                "column": 25
                              },
                              "end": {
                                "line": 176,
                                "column": 34
                              }
                            },
                            "name": "raycaster"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7139,
                            "end": 7142,
                            "loc": {
                              "start": {
                                "line": 176,
                                "column": 35
                              },
                              "end": {
                                "line": 176,
                                "column": 38
                              }
                            },
                            "name": "ray"
                          },
                          "computed": false
                        }
                      ]
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7145,
                      "end": 7157,
                      "loc": {
                        "start": {
                          "line": 176,
                          "column": 41
                        },
                        "end": {
                          "line": 176,
                          "column": 53
                        }
                      },
                      "name": "applyMatrix4"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 7159,
                      "end": 7183,
                      "loc": {
                        "start": {
                          "line": 176,
                          "column": 55
                        },
                        "end": {
                          "line": 176,
                          "column": 79
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 7159,
                        "end": 7168,
                        "loc": {
                          "start": {
                            "line": 176,
                            "column": 55
                          },
                          "end": {
                            "line": 176,
                            "column": 64
                          }
                        },
                        "name": "raycaster"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7169,
                        "end": 7183,
                        "loc": {
                          "start": {
                            "line": 176,
                            "column": 65
                          },
                          "end": {
                            "line": 176,
                            "column": 79
                          }
                        },
                        "name": "_inverseMatrix"
                      },
                      "computed": false
                    }
                  ]
                }
              },
              {
                "type": "IfStatement",
                "start": 7191,
                "end": 7321,
                "loc": {
                  "start": {
                    "line": 177,
                    "column": 4
                  },
                  "end": {
                    "line": 179,
                    "column": 5
                  }
                },
                "test": {
                  "type": "BinaryExpression",
                  "start": 7196,
                  "end": 7225,
                  "loc": {
                    "start": {
                      "line": 177,
                      "column": 9
                    },
                    "end": {
                      "line": 177,
                      "column": 38
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 7196,
                    "end": 7216,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 9
                      },
                      "end": {
                        "line": 177,
                        "column": 29
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 7196,
                      "end": 7204,
                      "loc": {
                        "start": {
                          "line": 177,
                          "column": 9
                        },
                        "end": {
                          "line": 177,
                          "column": 17
                        }
                      },
                      "name": "geometry"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7205,
                      "end": 7216,
                      "loc": {
                        "start": {
                          "line": 177,
                          "column": 18
                        },
                        "end": {
                          "line": 177,
                          "column": 29
                        }
                      },
                      "name": "boundingBox"
                    },
                    "computed": false
                  },
                  "operator": "!==",
                  "right": {
                    "type": "Literal",
                    "start": 7221,
                    "end": 7225,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 34
                      },
                      "end": {
                        "line": 177,
                        "column": 38
                      }
                    },
                    "value": null,
                    "rawValue": null,
                    "raw": "null"
                  }
                },
                "consequent": {
                  "type": "BlockStatement",
                  "start": 7228,
                  "end": 7321,
                  "loc": {
                    "start": {
                      "line": 177,
                      "column": 41
                    },
                    "end": {
                      "line": 179,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 7238,
                      "end": 7315,
                      "loc": {
                        "start": {
                          "line": 178,
                          "column": 8
                        },
                        "end": {
                          "line": 178,
                          "column": 85
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 7243,
                        "end": 7305,
                        "loc": {
                          "start": {
                            "line": 178,
                            "column": 13
                          },
                          "end": {
                            "line": 178,
                            "column": 75
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 7243,
                          "end": 7295,
                          "loc": {
                            "start": {
                              "line": 178,
                              "column": 13
                            },
                            "end": {
                              "line": 178,
                              "column": 65
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7243,
                            "end": 7271,
                            "loc": {
                              "start": {
                                "line": 178,
                                "column": 13
                              },
                              "end": {
                                "line": 178,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7243,
                              "end": 7257,
                              "loc": {
                                "start": {
                                  "line": 178,
                                  "column": 13
                                },
                                "end": {
                                  "line": 178,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7243,
                                "end": 7252,
                                "loc": {
                                  "start": {
                                    "line": 178,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 178,
                                    "column": 22
                                  }
                                },
                                "name": "raycaster"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7253,
                                "end": 7257,
                                "loc": {
                                  "start": {
                                    "line": 178,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 178,
                                    "column": 27
                                  }
                                },
                                "name": "_ray"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7258,
                              "end": 7271,
                              "loc": {
                                "start": {
                                  "line": 178,
                                  "column": 28
                                },
                                "end": {
                                  "line": 178,
                                  "column": 41
                                }
                              },
                              "name": "intersectsBox"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 7273,
                              "end": 7293,
                              "loc": {
                                "start": {
                                  "line": 178,
                                  "column": 43
                                },
                                "end": {
                                  "line": 178,
                                  "column": 63
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7273,
                                "end": 7281,
                                "loc": {
                                  "start": {
                                    "line": 178,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 178,
                                    "column": 51
                                  }
                                },
                                "name": "geometry"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7282,
                                "end": 7293,
                                "loc": {
                                  "start": {
                                    "line": 178,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 178,
                                    "column": 63
                                  }
                                },
                                "name": "boundingBox"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 7300,
                          "end": 7305,
                          "loc": {
                            "start": {
                              "line": 178,
                              "column": 70
                            },
                            "end": {
                              "line": 178,
                              "column": 75
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 7308,
                        "end": 7315,
                        "loc": {
                          "start": {
                            "line": 178,
                            "column": 78
                          },
                          "end": {
                            "line": 178,
                            "column": 85
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    }
                  ]
                },
                "alternate": null
              },
              {
                "type": "IfStatement",
                "start": 7327,
                "end": 7634,
                "loc": {
                  "start": {
                    "line": 181,
                    "column": 4
                  },
                  "end": {
                    "line": 189,
                    "column": 5
                  }
                },
                "test": {
                  "type": "BinaryExpression",
                  "start": 7331,
                  "end": 7369,
                  "loc": {
                    "start": {
                      "line": 181,
                      "column": 8
                    },
                    "end": {
                      "line": 181,
                      "column": 46
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 7331,
                    "end": 7339,
                    "loc": {
                      "start": {
                        "line": 181,
                        "column": 8
                      },
                      "end": {
                        "line": 181,
                        "column": 16
                      }
                    },
                    "name": "approach"
                  },
                  "operator": "===",
                  "right": {
                    "type": "MemberExpression",
                    "start": 7344,
                    "end": 7369,
                    "loc": {
                      "start": {
                        "line": 181,
                        "column": 21
                      },
                      "end": {
                        "line": 181,
                        "column": 46
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 7344,
                      "end": 7362,
                      "loc": {
                        "start": {
                          "line": 181,
                          "column": 21
                        },
                        "end": {
                          "line": 181,
                          "column": 39
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 7344,
                        "end": 7353,
                        "loc": {
                          "start": {
                            "line": 181,
                            "column": 21
                          },
                          "end": {
                            "line": 181,
                            "column": 30
                          }
                        },
                        "name": "Raycaster"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7354,
                        "end": 7362,
                        "loc": {
                          "start": {
                            "line": 181,
                            "column": 31
                          },
                          "end": {
                            "line": 181,
                            "column": 39
                          }
                        },
                        "name": "Approach"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7363,
                      "end": 7369,
                      "loc": {
                        "start": {
                          "line": 181,
                          "column": 40
                        },
                        "end": {
                          "line": 181,
                          "column": 46
                        }
                      },
                      "name": "Bounds"
                    },
                    "computed": false
                  }
                },
                "consequent": {
                  "type": "BlockStatement",
                  "start": 7371,
                  "end": 7634,
                  "loc": {
                    "start": {
                      "line": 181,
                      "column": 48
                    },
                    "end": {
                      "line": 189,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 7381,
                      "end": 7571,
                      "loc": {
                        "start": {
                          "line": 182,
                          "column": 8
                        },
                        "end": {
                          "line": 186,
                          "column": 10
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7385,
                          "end": 7570,
                          "loc": {
                            "start": {
                              "line": 182,
                              "column": 12
                            },
                            "end": {
                              "line": 186,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7385,
                            "end": 7397,
                            "loc": {
                              "start": {
                                "line": 182,
                                "column": 12
                              },
                              "end": {
                                "line": 182,
                                "column": 24
                              }
                            },
                            "name": "intersection"
                          },
                          "init": {
                            "type": "ObjectExpression",
                            "start": 7400,
                            "end": 7570,
                            "loc": {
                              "start": {
                                "line": 182,
                                "column": 27
                              },
                              "end": {
                                "line": 186,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 7414,
                                "end": 7481,
                                "loc": {
                                  "start": {
                                    "line": 183,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 183,
                                    "column": 79
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 7414,
                                  "end": 7422,
                                  "loc": {
                                    "start": {
                                      "line": 183,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 183,
                                      "column": 20
                                    }
                                  },
                                  "name": "distance"
                                },
                                "value": {
                                  "type": "CallExpression",
                                  "start": 7424,
                                  "end": 7481,
                                  "loc": {
                                    "start": {
                                      "line": 183,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 183,
                                      "column": 79
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 7424,
                                    "end": 7455,
                                    "loc": {
                                      "start": {
                                        "line": 183,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 183,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 7424,
                                      "end": 7444,
                                      "loc": {
                                        "start": {
                                          "line": 183,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 183,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 7424,
                                        "end": 7437,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 7424,
                                          "end": 7433,
                                          "loc": {
                                            "start": {
                                              "line": 183,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 183,
                                              "column": 31
                                            }
                                          },
                                          "name": "raycaster"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7434,
                                          "end": 7437,
                                          "loc": {
                                            "start": {
                                              "line": 183,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 183,
                                              "column": 35
                                            }
                                          },
                                          "name": "ray"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7438,
                                        "end": 7444,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 42
                                          }
                                        },
                                        "name": "origin"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7445,
                                      "end": 7455,
                                      "loc": {
                                        "start": {
                                          "line": 183,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 183,
                                          "column": 53
                                        }
                                      },
                                      "name": "distanceTo"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 7456,
                                      "end": 7480,
                                      "loc": {
                                        "start": {
                                          "line": 183,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 183,
                                          "column": 78
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 7456,
                                        "end": 7473,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 71
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 7456,
                                          "end": 7465,
                                          "loc": {
                                            "start": {
                                              "line": 183,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 183,
                                              "column": 63
                                            }
                                          },
                                          "name": "raycaster"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7466,
                                          "end": 7473,
                                          "loc": {
                                            "start": {
                                              "line": 183,
                                              "column": 64
                                            },
                                            "end": {
                                              "line": 183,
                                              "column": 71
                                            }
                                          },
                                          "name": "_sphere"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7474,
                                        "end": 7480,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 78
                                          }
                                        },
                                        "name": "center"
                                      },
                                      "computed": false
                                    }
                                  ]
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 7495,
                                "end": 7507,
                                "loc": {
                                  "start": {
                                    "line": 184,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 184,
                                    "column": 24
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 7495,
                                  "end": 7501,
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 18
                                    }
                                  },
                                  "name": "object"
                                },
                                "value": {
                                  "type": "ThisExpression",
                                  "start": 7503,
                                  "end": 7507,
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 24
                                    }
                                  }
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 7521,
                                "end": 7560,
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 185,
                                    "column": 51
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 7521,
                                  "end": 7526,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 17
                                    }
                                  },
                                  "name": "point"
                                },
                                "value": {
                                  "type": "CallExpression",
                                  "start": 7528,
                                  "end": 7560,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 51
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 7528,
                                    "end": 7558,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 49
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 7528,
                                      "end": 7552,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 43
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 7528,
                                        "end": 7545,
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 185,
                                            "column": 36
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 7528,
                                          "end": 7537,
                                          "loc": {
                                            "start": {
                                              "line": 185,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 185,
                                              "column": 28
                                            }
                                          },
                                          "name": "raycaster"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7538,
                                          "end": 7545,
                                          "loc": {
                                            "start": {
                                              "line": 185,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 185,
                                              "column": 36
                                            }
                                          },
                                          "name": "_sphere"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7546,
                                        "end": 7552,
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 185,
                                            "column": 43
                                          }
                                        },
                                        "name": "center"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7553,
                                      "end": 7558,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 49
                                        }
                                      },
                                      "name": "clone"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7580,
                      "end": 7612,
                      "loc": {
                        "start": {
                          "line": 187,
                          "column": 8
                        },
                        "end": {
                          "line": 187,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7580,
                        "end": 7611,
                        "loc": {
                          "start": {
                            "line": 187,
                            "column": 8
                          },
                          "end": {
                            "line": 187,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7580,
                          "end": 7595,
                          "loc": {
                            "start": {
                              "line": 187,
                              "column": 8
                            },
                            "end": {
                              "line": 187,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 7580,
                            "end": 7590,
                            "loc": {
                              "start": {
                                "line": 187,
                                "column": 8
                              },
                              "end": {
                                "line": 187,
                                "column": 18
                              }
                            },
                            "name": "intersects"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7591,
                            "end": 7595,
                            "loc": {
                              "start": {
                                "line": 187,
                                "column": 19
                              },
                              "end": {
                                "line": 187,
                                "column": 23
                              }
                            },
                            "name": "push"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 7597,
                            "end": 7609,
                            "loc": {
                              "start": {
                                "line": 187,
                                "column": 25
                              },
                              "end": {
                                "line": 187,
                                "column": 37
                              }
                            },
                            "name": "intersection"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 7621,
                      "end": 7628,
                      "loc": {
                        "start": {
                          "line": 188,
                          "column": 8
                        },
                        "end": {
                          "line": 188,
                          "column": 15
                        }
                      },
                      "argument": null
                    }
                  ]
                },
                "alternate": null
              },
              {
                "type": "VariableDeclaration",
                "start": 7640,
                "end": 7662,
                "loc": {
                  "start": {
                    "line": 191,
                    "column": 4
                  },
                  "end": {
                    "line": 191,
                    "column": 26
                  }
                },
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "start": 7644,
                    "end": 7647,
                    "loc": {
                      "start": {
                        "line": 191,
                        "column": 8
                      },
                      "end": {
                        "line": 191,
                        "column": 11
                      }
                    },
                    "id": {
                      "type": "Identifier",
                      "start": 7644,
                      "end": 7647,
                      "loc": {
                        "start": {
                          "line": 191,
                          "column": 8
                        },
                        "end": {
                          "line": 191,
                          "column": 11
                        }
                      },
                      "name": "uvs"
                    },
                    "init": null
                  },
                  {
                    "type": "VariableDeclarator",
                    "start": 7649,
                    "end": 7661,
                    "loc": {
                      "start": {
                        "line": 191,
                        "column": 13
                      },
                      "end": {
                        "line": 191,
                        "column": 25
                      }
                    },
                    "id": {
                      "type": "Identifier",
                      "start": 7649,
                      "end": 7661,
                      "loc": {
                        "start": {
                          "line": 191,
                          "column": 13
                        },
                        "end": {
                          "line": 191,
                          "column": 25
                        }
                      },
                      "name": "intersection"
                    },
                    "init": null
                  }
                ],
                "kind": "var"
              },
              {
                "type": "IfStatement",
                "start": 7667,
                "end": 12090,
                "loc": {
                  "start": {
                    "line": 192,
                    "column": 4
                  },
                  "end": {
                    "line": 280,
                    "column": 5
                  }
                },
                "test": {
                  "type": "BinaryExpression",
                  "start": 7672,
                  "end": 7712,
                  "loc": {
                    "start": {
                      "line": 192,
                      "column": 9
                    },
                    "end": {
                      "line": 192,
                      "column": 49
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 7672,
                    "end": 7680,
                    "loc": {
                      "start": {
                        "line": 192,
                        "column": 9
                      },
                      "end": {
                        "line": 192,
                        "column": 17
                      }
                    },
                    "name": "geometry"
                  },
                  "operator": "instanceof",
                  "right": {
                    "type": "MemberExpression",
                    "start": 7692,
                    "end": 7712,
                    "loc": {
                      "start": {
                        "line": 192,
                        "column": 29
                      },
                      "end": {
                        "line": 192,
                        "column": 49
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 7692,
                      "end": 7697,
                      "loc": {
                        "start": {
                          "line": 192,
                          "column": 29
                        },
                        "end": {
                          "line": 192,
                          "column": 34
                        }
                      },
                      "name": "THREE"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7698,
                      "end": 7712,
                      "loc": {
                        "start": {
                          "line": 192,
                          "column": 35
                        },
                        "end": {
                          "line": 192,
                          "column": 49
                        }
                      },
                      "name": "BufferGeometry"
                    },
                    "computed": false
                  }
                },
                "consequent": {
                  "type": "BlockStatement",
                  "start": 7715,
                  "end": 9285,
                  "loc": {
                    "start": {
                      "line": 192,
                      "column": 52
                    },
                    "end": {
                      "line": 228,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 7725,
                      "end": 7737,
                      "loc": {
                        "start": {
                          "line": 193,
                          "column": 8
                        },
                        "end": {
                          "line": 193,
                          "column": 20
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7729,
                          "end": 7730,
                          "loc": {
                            "start": {
                              "line": 193,
                              "column": 12
                            },
                            "end": {
                              "line": 193,
                              "column": 13
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7729,
                            "end": 7730,
                            "loc": {
                              "start": {
                                "line": 193,
                                "column": 12
                              },
                              "end": {
                                "line": 193,
                                "column": 13
                              }
                            },
                            "name": "a"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 7732,
                          "end": 7733,
                          "loc": {
                            "start": {
                              "line": 193,
                              "column": 15
                            },
                            "end": {
                              "line": 193,
                              "column": 16
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7732,
                            "end": 7733,
                            "loc": {
                              "start": {
                                "line": 193,
                                "column": 15
                              },
                              "end": {
                                "line": 193,
                                "column": 16
                              }
                            },
                            "name": "b"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 7735,
                          "end": 7736,
                          "loc": {
                            "start": {
                              "line": 193,
                              "column": 18
                            },
                            "end": {
                              "line": 193,
                              "column": 19
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7735,
                            "end": 7736,
                            "loc": {
                              "start": {
                                "line": 193,
                                "column": 18
                              },
                              "end": {
                                "line": 193,
                                "column": 19
                              }
                            },
                            "name": "c"
                          },
                          "init": null
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7746,
                      "end": 7773,
                      "loc": {
                        "start": {
                          "line": 194,
                          "column": 8
                        },
                        "end": {
                          "line": 194,
                          "column": 35
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7750,
                          "end": 7772,
                          "loc": {
                            "start": {
                              "line": 194,
                              "column": 12
                            },
                            "end": {
                              "line": 194,
                              "column": 34
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7750,
                            "end": 7755,
                            "loc": {
                              "start": {
                                "line": 194,
                                "column": 12
                              },
                              "end": {
                                "line": 194,
                                "column": 17
                              }
                            },
                            "name": "index"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 7758,
                            "end": 7772,
                            "loc": {
                              "start": {
                                "line": 194,
                                "column": 20
                              },
                              "end": {
                                "line": 194,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 7758,
                              "end": 7766,
                              "loc": {
                                "start": {
                                  "line": 194,
                                  "column": 20
                                },
                                "end": {
                                  "line": 194,
                                  "column": 28
                                }
                              },
                              "name": "geometry"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7767,
                              "end": 7772,
                              "loc": {
                                "start": {
                                  "line": 194,
                                  "column": 29
                                },
                                "end": {
                                  "line": 194,
                                  "column": 34
                                }
                              },
                              "name": "index"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7782,
                      "end": 7819,
                      "loc": {
                        "start": {
                          "line": 195,
                          "column": 8
                        },
                        "end": {
                          "line": 195,
                          "column": 45
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7786,
                          "end": 7818,
                          "loc": {
                            "start": {
                              "line": 195,
                              "column": 12
                            },
                            "end": {
                              "line": 195,
                              "column": 44
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7786,
                            "end": 7796,
                            "loc": {
                              "start": {
                                "line": 195,
                                "column": 12
                              },
                              "end": {
                                "line": 195,
                                "column": 22
                              }
                            },
                            "name": "attributes"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 7799,
                            "end": 7818,
                            "loc": {
                              "start": {
                                "line": 195,
                                "column": 25
                              },
                              "end": {
                                "line": 195,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 7799,
                              "end": 7807,
                              "loc": {
                                "start": {
                                  "line": 195,
                                  "column": 25
                                },
                                "end": {
                                  "line": 195,
                                  "column": 33
                                }
                              },
                              "name": "geometry"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7808,
                              "end": 7818,
                              "loc": {
                                "start": {
                                  "line": 195,
                                  "column": 34
                                },
                                "end": {
                                  "line": 195,
                                  "column": 44
                                }
                              },
                              "name": "attributes"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7828,
                      "end": 7870,
                      "loc": {
                        "start": {
                          "line": 196,
                          "column": 8
                        },
                        "end": {
                          "line": 196,
                          "column": 50
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7832,
                          "end": 7869,
                          "loc": {
                            "start": {
                              "line": 196,
                              "column": 12
                            },
                            "end": {
                              "line": 196,
                              "column": 49
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7832,
                            "end": 7841,
                            "loc": {
                              "start": {
                                "line": 196,
                                "column": 12
                              },
                              "end": {
                                "line": 196,
                                "column": 21
                              }
                            },
                            "name": "positions"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 7844,
                            "end": 7869,
                            "loc": {
                              "start": {
                                "line": 196,
                                "column": 24
                              },
                              "end": {
                                "line": 196,
                                "column": 49
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7844,
                              "end": 7863,
                              "loc": {
                                "start": {
                                  "line": 196,
                                  "column": 24
                                },
                                "end": {
                                  "line": 196,
                                  "column": 43
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7844,
                                "end": 7854,
                                "loc": {
                                  "start": {
                                    "line": 196,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 196,
                                    "column": 34
                                  }
                                },
                                "name": "attributes"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7855,
                                "end": 7863,
                                "loc": {
                                  "start": {
                                    "line": 196,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 196,
                                    "column": 43
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7864,
                              "end": 7869,
                              "loc": {
                                "start": {
                                  "line": 196,
                                  "column": 44
                                },
                                "end": {
                                  "line": 196,
                                  "column": 49
                                }
                              },
                              "name": "array"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 7879,
                      "end": 7964,
                      "loc": {
                        "start": {
                          "line": 197,
                          "column": 8
                        },
                        "end": {
                          "line": 199,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 7884,
                        "end": 7911,
                        "loc": {
                          "start": {
                            "line": 197,
                            "column": 13
                          },
                          "end": {
                            "line": 197,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 7884,
                          "end": 7897,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 13
                            },
                            "end": {
                              "line": 197,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 7884,
                            "end": 7894,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 13
                              },
                              "end": {
                                "line": 197,
                                "column": 23
                              }
                            },
                            "name": "attributes"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7895,
                            "end": 7897,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 24
                              },
                              "end": {
                                "line": 197,
                                "column": 26
                              }
                            },
                            "name": "uv"
                          },
                          "computed": false
                        },
                        "operator": "!==",
                        "right": {
                          "type": "Identifier",
                          "start": 7902,
                          "end": 7911,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 31
                            },
                            "end": {
                              "line": 197,
                              "column": 40
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7914,
                        "end": 7964,
                        "loc": {
                          "start": {
                            "line": 197,
                            "column": 43
                          },
                          "end": {
                            "line": 199,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7928,
                            "end": 7954,
                            "loc": {
                              "start": {
                                "line": 198,
                                "column": 12
                              },
                              "end": {
                                "line": 198,
                                "column": 38
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7928,
                              "end": 7953,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 12
                                },
                                "end": {
                                  "line": 198,
                                  "column": 37
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 7928,
                                "end": 7931,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 15
                                  }
                                },
                                "name": "uvs"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 7934,
                                "end": 7953,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7934,
                                  "end": 7947,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7934,
                                    "end": 7944,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 28
                                      }
                                    },
                                    "name": "attributes"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7945,
                                    "end": 7947,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 31
                                      }
                                    },
                                    "name": "uv"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7948,
                                  "end": 7953,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 37
                                    }
                                  },
                                  "name": "array"
                                },
                                "computed": false
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 7973,
                      "end": 9279,
                      "loc": {
                        "start": {
                          "line": 200,
                          "column": 8
                        },
                        "end": {
                          "line": 227,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 7978,
                        "end": 7992,
                        "loc": {
                          "start": {
                            "line": 200,
                            "column": 13
                          },
                          "end": {
                            "line": 200,
                            "column": 27
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 7978,
                          "end": 7983,
                          "loc": {
                            "start": {
                              "line": 200,
                              "column": 13
                            },
                            "end": {
                              "line": 200,
                              "column": 18
                            }
                          },
                          "name": "index"
                        },
                        "operator": "!==",
                        "right": {
                          "type": "Literal",
                          "start": 7988,
                          "end": 7992,
                          "loc": {
                            "start": {
                              "line": 200,
                              "column": 23
                            },
                            "end": {
                              "line": 200,
                              "column": 27
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7995,
                        "end": 8677,
                        "loc": {
                          "start": {
                            "line": 200,
                            "column": 30
                          },
                          "end": {
                            "line": 214,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 8009,
                            "end": 8035,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 12
                              },
                              "end": {
                                "line": 201,
                                "column": 38
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 8013,
                                "end": 8034,
                                "loc": {
                                  "start": {
                                    "line": 201,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 201,
                                    "column": 37
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 8013,
                                  "end": 8020,
                                  "loc": {
                                    "start": {
                                      "line": 201,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 201,
                                      "column": 23
                                    }
                                  },
                                  "name": "indices"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 8023,
                                  "end": 8034,
                                  "loc": {
                                    "start": {
                                      "line": 201,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 201,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8023,
                                    "end": 8028,
                                    "loc": {
                                      "start": {
                                        "line": 201,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 201,
                                        "column": 31
                                      }
                                    },
                                    "name": "index"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8029,
                                    "end": 8034,
                                    "loc": {
                                      "start": {
                                        "line": 201,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 201,
                                        "column": 37
                                      }
                                    },
                                    "name": "array"
                                  },
                                  "computed": false
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ForStatement",
                            "start": 8048,
                            "end": 8667,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 12
                              },
                              "end": {
                                "line": 213,
                                "column": 13
                              }
                            },
                            "init": {
                              "type": "VariableDeclaration",
                              "start": 8054,
                              "end": 8083,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 18
                                },
                                "end": {
                                  "line": 202,
                                  "column": 47
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 8058,
                                  "end": 8063,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 27
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 8058,
                                    "end": 8059,
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 23
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "init": {
                                    "type": "Literal",
                                    "start": 8062,
                                    "end": 8063,
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 27
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                },
                                {
                                  "type": "VariableDeclarator",
                                  "start": 8065,
                                  "end": 8083,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 47
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 8065,
                                    "end": 8066,
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 30
                                      }
                                    },
                                    "name": "l"
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "start": 8069,
                                    "end": 8083,
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 8069,
                                      "end": 8076,
                                      "loc": {
                                        "start": {
                                          "line": 202,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 202,
                                          "column": 40
                                        }
                                      },
                                      "name": "indices"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8077,
                                      "end": 8083,
                                      "loc": {
                                        "start": {
                                          "line": 202,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 202,
                                          "column": 47
                                        }
                                      },
                                      "name": "length"
                                    },
                                    "computed": false
                                  }
                                }
                              ],
                              "kind": "var"
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 8085,
                              "end": 8090,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 49
                                },
                                "end": {
                                  "line": 202,
                                  "column": 54
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 8085,
                                "end": 8086,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 50
                                  }
                                },
                                "name": "i"
                              },
                              "operator": "<",
                              "right": {
                                "type": "Identifier",
                                "start": 8089,
                                "end": 8090,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 54
                                  }
                                },
                                "name": "l"
                              }
                            },
                            "update": {
                              "type": "AssignmentExpression",
                              "start": 8092,
                              "end": 8098,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 56
                                },
                                "end": {
                                  "line": 202,
                                  "column": 62
                                }
                              },
                              "operator": "+=",
                              "left": {
                                "type": "Identifier",
                                "start": 8092,
                                "end": 8093,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 57
                                  }
                                },
                                "name": "i"
                              },
                              "right": {
                                "type": "Literal",
                                "start": 8097,
                                "end": 8098,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 62
                                  }
                                },
                                "value": 3,
                                "rawValue": 3,
                                "raw": "3"
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "start": 8101,
                              "end": 8667,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 65
                                },
                                "end": {
                                  "line": 213,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8119,
                                  "end": 8136,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 33
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8119,
                                    "end": 8135,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 32
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8119,
                                      "end": 8120,
                                      "loc": {
                                        "start": {
                                          "line": 203,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 203,
                                          "column": 17
                                        }
                                      },
                                      "name": "a"
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 8123,
                                      "end": 8135,
                                      "loc": {
                                        "start": {
                                          "line": 203,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 203,
                                          "column": 32
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8123,
                                        "end": 8130,
                                        "loc": {
                                          "start": {
                                            "line": 203,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 203,
                                            "column": 27
                                          }
                                        },
                                        "name": "indices"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8132,
                                        "end": 8133,
                                        "loc": {
                                          "start": {
                                            "line": 203,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 203,
                                            "column": 30
                                          }
                                        },
                                        "name": "i"
                                      },
                                      "computed": true
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8153,
                                  "end": 8174,
                                  "loc": {
                                    "start": {
                                      "line": 204,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 204,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8153,
                                    "end": 8173,
                                    "loc": {
                                      "start": {
                                        "line": 204,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 204,
                                        "column": 36
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8153,
                                      "end": 8154,
                                      "loc": {
                                        "start": {
                                          "line": 204,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 204,
                                          "column": 17
                                        }
                                      },
                                      "name": "b"
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 8157,
                                      "end": 8173,
                                      "loc": {
                                        "start": {
                                          "line": 204,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 204,
                                          "column": 36
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8157,
                                        "end": 8164,
                                        "loc": {
                                          "start": {
                                            "line": 204,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 204,
                                            "column": 27
                                          }
                                        },
                                        "name": "indices"
                                      },
                                      "property": {
                                        "type": "BinaryExpression",
                                        "start": 8166,
                                        "end": 8171,
                                        "loc": {
                                          "start": {
                                            "line": 204,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 204,
                                            "column": 34
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 8166,
                                          "end": 8167,
                                          "loc": {
                                            "start": {
                                              "line": 204,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 204,
                                              "column": 30
                                            }
                                          },
                                          "name": "i"
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "Literal",
                                          "start": 8170,
                                          "end": 8171,
                                          "loc": {
                                            "start": {
                                              "line": 204,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 204,
                                              "column": 34
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        }
                                      },
                                      "computed": true
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8191,
                                  "end": 8212,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8191,
                                    "end": 8211,
                                    "loc": {
                                      "start": {
                                        "line": 205,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 205,
                                        "column": 36
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8191,
                                      "end": 8192,
                                      "loc": {
                                        "start": {
                                          "line": 205,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 205,
                                          "column": 17
                                        }
                                      },
                                      "name": "c"
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 8195,
                                      "end": 8211,
                                      "loc": {
                                        "start": {
                                          "line": 205,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 205,
                                          "column": 36
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8195,
                                        "end": 8202,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 27
                                          }
                                        },
                                        "name": "indices"
                                      },
                                      "property": {
                                        "type": "BinaryExpression",
                                        "start": 8204,
                                        "end": 8209,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 34
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 8204,
                                          "end": 8205,
                                          "loc": {
                                            "start": {
                                              "line": 205,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 205,
                                              "column": 30
                                            }
                                          },
                                          "name": "i"
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "Literal",
                                          "start": 8208,
                                          "end": 8209,
                                          "loc": {
                                            "start": {
                                              "line": 205,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 205,
                                              "column": 34
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      "computed": true
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8229,
                                  "end": 8336,
                                  "loc": {
                                    "start": {
                                      "line": 206,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 206,
                                      "column": 123
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8229,
                                    "end": 8335,
                                    "loc": {
                                      "start": {
                                        "line": 206,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 206,
                                        "column": 122
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8229,
                                      "end": 8241,
                                      "loc": {
                                        "start": {
                                          "line": 206,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 206,
                                          "column": 28
                                        }
                                      },
                                      "name": "intersection"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 8244,
                                      "end": 8335,
                                      "loc": {
                                        "start": {
                                          "line": 206,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 206,
                                          "column": 122
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 8244,
                                        "end": 8275,
                                        "loc": {
                                          "start": {
                                            "line": 206,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 62
                                          }
                                        },
                                        "name": "checkBufferGeometryIntersection"
                                      },
                                      "arguments": [
                                        {
                                          "type": "ThisExpression",
                                          "start": 8277,
                                          "end": 8281,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 64
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 68
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8283,
                                          "end": 8292,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 70
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 79
                                            }
                                          },
                                          "name": "raycaster"
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 8294,
                                          "end": 8308,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 81
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 95
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 8294,
                                            "end": 8303,
                                            "loc": {
                                              "start": {
                                                "line": 206,
                                                "column": 81
                                              },
                                              "end": {
                                                "line": 206,
                                                "column": 90
                                              }
                                            },
                                            "name": "raycaster"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8304,
                                            "end": 8308,
                                            "loc": {
                                              "start": {
                                                "line": 206,
                                                "column": 91
                                              },
                                              "end": {
                                                "line": 206,
                                                "column": 95
                                              }
                                            },
                                            "name": "_ray"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8310,
                                          "end": 8319,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 97
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 106
                                            }
                                          },
                                          "name": "positions"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8321,
                                          "end": 8324,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 108
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 111
                                            }
                                          },
                                          "name": "uvs"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8326,
                                          "end": 8327,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 113
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 114
                                            }
                                          },
                                          "name": "a"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8329,
                                          "end": 8330,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 116
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 117
                                            }
                                          },
                                          "name": "b"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8332,
                                          "end": 8333,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 119
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 120
                                            }
                                          },
                                          "name": "c"
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 8353,
                                  "end": 8653,
                                  "loc": {
                                    "start": {
                                      "line": 207,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 17
                                    }
                                  },
                                  "test": {
                                    "type": "Identifier",
                                    "start": 8358,
                                    "end": 8370,
                                    "loc": {
                                      "start": {
                                        "line": 207,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 207,
                                        "column": 33
                                      }
                                    },
                                    "name": "intersection"
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 8373,
                                    "end": 8653,
                                    "loc": {
                                      "start": {
                                        "line": 207,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 212,
                                        "column": 17
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 8395,
                                        "end": 8440,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 65
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 8395,
                                          "end": 8439,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 64
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 8395,
                                            "end": 8417,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 42
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 8395,
                                              "end": 8407,
                                              "loc": {
                                                "start": {
                                                  "line": 208,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 208,
                                                  "column": 32
                                                }
                                              },
                                              "name": "intersection"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8408,
                                              "end": 8417,
                                              "loc": {
                                                "start": {
                                                  "line": 208,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 208,
                                                  "column": 42
                                                }
                                              },
                                              "name": "faceIndex"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 8420,
                                            "end": 8439,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 64
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 8420,
                                              "end": 8430,
                                              "loc": {
                                                "start": {
                                                  "line": 208,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 208,
                                                  "column": 55
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 8420,
                                                "end": 8424,
                                                "loc": {
                                                  "start": {
                                                    "line": 208,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 208,
                                                    "column": 49
                                                  }
                                                },
                                                "name": "Math"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8425,
                                                "end": 8430,
                                                "loc": {
                                                  "start": {
                                                    "line": 208,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 208,
                                                    "column": 55
                                                  }
                                                },
                                                "name": "floor"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "BinaryExpression",
                                                "start": 8432,
                                                "end": 8437,
                                                "loc": {
                                                  "start": {
                                                    "line": 208,
                                                    "column": 57
                                                  },
                                                  "end": {
                                                    "line": 208,
                                                    "column": 62
                                                  }
                                                },
                                                "left": {
                                                  "type": "Identifier",
                                                  "start": 8432,
                                                  "end": 8433,
                                                  "loc": {
                                                    "start": {
                                                      "line": 208,
                                                      "column": 57
                                                    },
                                                    "end": {
                                                      "line": 208,
                                                      "column": 58
                                                    }
                                                  },
                                                  "name": "i"
                                                },
                                                "operator": "/",
                                                "right": {
                                                  "type": "Literal",
                                                  "start": 8436,
                                                  "end": 8437,
                                                  "loc": {
                                                    "start": {
                                                      "line": 208,
                                                      "column": 61
                                                    },
                                                    "end": {
                                                      "line": 208,
                                                      "column": 62
                                                    }
                                                  },
                                                  "value": 3,
                                                  "rawValue": 3,
                                                  "raw": "3"
                                                }
                                              }
                                            ]
                                          }
                                        },
                                        "trailingComments": [
                                          {
                                            "type": "CommentLine",
                                            "value": " triangle number in indices buffer semantics",
                                            "start": 8441,
                                            "end": 8487,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 66
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 112
                                              }
                                            },
                                            "range": [
                                              8441,
                                              8487
                                            ]
                                          }
                                        ]
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 8508,
                                        "end": 8540,
                                        "loc": {
                                          "start": {
                                            "line": 209,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 209,
                                            "column": 52
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 8508,
                                          "end": 8539,
                                          "loc": {
                                            "start": {
                                              "line": 209,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 209,
                                              "column": 51
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 8508,
                                            "end": 8523,
                                            "loc": {
                                              "start": {
                                                "line": 209,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 209,
                                                "column": 35
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 8508,
                                              "end": 8518,
                                              "loc": {
                                                "start": {
                                                  "line": 209,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 209,
                                                  "column": 30
                                                }
                                              },
                                              "name": "intersects",
                                              "leadingComments": null
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8519,
                                              "end": 8523,
                                              "loc": {
                                                "start": {
                                                  "line": 209,
                                                  "column": 31
                                                },
                                                "end": {
                                                  "line": 209,
                                                  "column": 35
                                                }
                                              },
                                              "name": "push"
                                            },
                                            "computed": false,
                                            "leadingComments": null
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 8525,
                                              "end": 8537,
                                              "loc": {
                                                "start": {
                                                  "line": 209,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 209,
                                                  "column": 49
                                                }
                                              },
                                              "name": "intersection"
                                            }
                                          ],
                                          "leadingComments": null
                                        },
                                        "leadingComments": [
                                          {
                                            "type": "CommentLine",
                                            "value": " triangle number in indices buffer semantics",
                                            "start": 8441,
                                            "end": 8487,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 66
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 112
                                              }
                                            },
                                            "range": [
                                              8441,
                                              8487
                                            ]
                                          }
                                        ]
                                      },
                                      {
                                        "type": "IfStatement",
                                        "start": 8561,
                                        "end": 8635,
                                        "loc": {
                                          "start": {
                                            "line": 210,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 211,
                                            "column": 31
                                          }
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "start": 8565,
                                          "end": 8602,
                                          "loc": {
                                            "start": {
                                              "line": 210,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 210,
                                              "column": 61
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 8565,
                                            "end": 8573,
                                            "loc": {
                                              "start": {
                                                "line": 210,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 210,
                                                "column": 32
                                              }
                                            },
                                            "name": "approach"
                                          },
                                          "operator": "===",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 8578,
                                            "end": 8602,
                                            "loc": {
                                              "start": {
                                                "line": 210,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 210,
                                                "column": 61
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 8578,
                                              "end": 8596,
                                              "loc": {
                                                "start": {
                                                  "line": 210,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 210,
                                                  "column": 55
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 8578,
                                                "end": 8587,
                                                "loc": {
                                                  "start": {
                                                    "line": 210,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 210,
                                                    "column": 46
                                                  }
                                                },
                                                "name": "Raycaster"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8588,
                                                "end": 8596,
                                                "loc": {
                                                  "start": {
                                                    "line": 210,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 210,
                                                    "column": 55
                                                  }
                                                },
                                                "name": "Approach"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8597,
                                              "end": 8602,
                                              "loc": {
                                                "start": {
                                                  "line": 210,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 210,
                                                  "column": 61
                                                }
                                              },
                                              "name": "First"
                                            },
                                            "computed": false
                                          }
                                        },
                                        "consequent": {
                                          "type": "ReturnStatement",
                                          "start": 8628,
                                          "end": 8635,
                                          "loc": {
                                            "start": {
                                              "line": 211,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 211,
                                              "column": 31
                                            }
                                          },
                                          "argument": null
                                        },
                                        "alternate": null
                                      }
                                    ]
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 8683,
                        "end": 9279,
                        "loc": {
                          "start": {
                            "line": 214,
                            "column": 15
                          },
                          "end": {
                            "line": 227,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ForStatement",
                            "start": 8697,
                            "end": 9269,
                            "loc": {
                              "start": {
                                "line": 215,
                                "column": 12
                              },
                              "end": {
                                "line": 226,
                                "column": 13
                              }
                            },
                            "init": {
                              "type": "VariableDeclaration",
                              "start": 8703,
                              "end": 8734,
                              "loc": {
                                "start": {
                                  "line": 215,
                                  "column": 18
                                },
                                "end": {
                                  "line": 215,
                                  "column": 49
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 8707,
                                  "end": 8712,
                                  "loc": {
                                    "start": {
                                      "line": 215,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 215,
                                      "column": 27
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 8707,
                                    "end": 8708,
                                    "loc": {
                                      "start": {
                                        "line": 215,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 215,
                                        "column": 23
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "init": {
                                    "type": "Literal",
                                    "start": 8711,
                                    "end": 8712,
                                    "loc": {
                                      "start": {
                                        "line": 215,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 215,
                                        "column": 27
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                },
                                {
                                  "type": "VariableDeclarator",
                                  "start": 8714,
                                  "end": 8734,
                                  "loc": {
                                    "start": {
                                      "line": 215,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 215,
                                      "column": 49
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 8714,
                                    "end": 8715,
                                    "loc": {
                                      "start": {
                                        "line": 215,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 215,
                                        "column": 30
                                      }
                                    },
                                    "name": "l"
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "start": 8718,
                                    "end": 8734,
                                    "loc": {
                                      "start": {
                                        "line": 215,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 215,
                                        "column": 49
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 8718,
                                      "end": 8727,
                                      "loc": {
                                        "start": {
                                          "line": 215,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 215,
                                          "column": 42
                                        }
                                      },
                                      "name": "positions"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8728,
                                      "end": 8734,
                                      "loc": {
                                        "start": {
                                          "line": 215,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 215,
                                          "column": 49
                                        }
                                      },
                                      "name": "length"
                                    },
                                    "computed": false
                                  }
                                }
                              ],
                              "kind": "var"
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 8736,
                              "end": 8741,
                              "loc": {
                                "start": {
                                  "line": 215,
                                  "column": 51
                                },
                                "end": {
                                  "line": 215,
                                  "column": 56
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 8736,
                                "end": 8737,
                                "loc": {
                                  "start": {
                                    "line": 215,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 215,
                                    "column": 52
                                  }
                                },
                                "name": "i"
                              },
                              "operator": "<",
                              "right": {
                                "type": "Identifier",
                                "start": 8740,
                                "end": 8741,
                                "loc": {
                                  "start": {
                                    "line": 215,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 215,
                                    "column": 56
                                  }
                                },
                                "name": "l"
                              }
                            },
                            "update": {
                              "type": "AssignmentExpression",
                              "start": 8743,
                              "end": 8749,
                              "loc": {
                                "start": {
                                  "line": 215,
                                  "column": 58
                                },
                                "end": {
                                  "line": 215,
                                  "column": 64
                                }
                              },
                              "operator": "+=",
                              "left": {
                                "type": "Identifier",
                                "start": 8743,
                                "end": 8744,
                                "loc": {
                                  "start": {
                                    "line": 215,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 215,
                                    "column": 59
                                  }
                                },
                                "name": "i"
                              },
                              "right": {
                                "type": "Literal",
                                "start": 8748,
                                "end": 8749,
                                "loc": {
                                  "start": {
                                    "line": 215,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 215,
                                    "column": 64
                                  }
                                },
                                "value": 9,
                                "rawValue": 9,
                                "raw": "9"
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "start": 8752,
                              "end": 9269,
                              "loc": {
                                "start": {
                                  "line": 215,
                                  "column": 67
                                },
                                "end": {
                                  "line": 226,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8770,
                                  "end": 8780,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 26
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8770,
                                    "end": 8779,
                                    "loc": {
                                      "start": {
                                        "line": 216,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 216,
                                        "column": 25
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8770,
                                      "end": 8771,
                                      "loc": {
                                        "start": {
                                          "line": 216,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 216,
                                          "column": 17
                                        }
                                      },
                                      "name": "a"
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 8774,
                                      "end": 8779,
                                      "loc": {
                                        "start": {
                                          "line": 216,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 216,
                                          "column": 25
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 8774,
                                        "end": 8775,
                                        "loc": {
                                          "start": {
                                            "line": 216,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 216,
                                            "column": 21
                                          }
                                        },
                                        "name": "i"
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "Literal",
                                        "start": 8778,
                                        "end": 8779,
                                        "loc": {
                                          "start": {
                                            "line": 216,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 216,
                                            "column": 25
                                          }
                                        },
                                        "value": 3,
                                        "rawValue": 3,
                                        "raw": "3"
                                      }
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8797,
                                  "end": 8807,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 26
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8797,
                                    "end": 8806,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 25
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8797,
                                      "end": 8798,
                                      "loc": {
                                        "start": {
                                          "line": 217,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 217,
                                          "column": 17
                                        }
                                      },
                                      "name": "b"
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 8801,
                                      "end": 8806,
                                      "loc": {
                                        "start": {
                                          "line": 217,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 217,
                                          "column": 25
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 8801,
                                        "end": 8802,
                                        "loc": {
                                          "start": {
                                            "line": 217,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 217,
                                            "column": 21
                                          }
                                        },
                                        "name": "a"
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "Literal",
                                        "start": 8805,
                                        "end": 8806,
                                        "loc": {
                                          "start": {
                                            "line": 217,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 217,
                                            "column": 25
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8824,
                                  "end": 8834,
                                  "loc": {
                                    "start": {
                                      "line": 218,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 218,
                                      "column": 26
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8824,
                                    "end": 8833,
                                    "loc": {
                                      "start": {
                                        "line": 218,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 218,
                                        "column": 25
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8824,
                                      "end": 8825,
                                      "loc": {
                                        "start": {
                                          "line": 218,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 218,
                                          "column": 17
                                        }
                                      },
                                      "name": "c"
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 8828,
                                      "end": 8833,
                                      "loc": {
                                        "start": {
                                          "line": 218,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 218,
                                          "column": 25
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 8828,
                                        "end": 8829,
                                        "loc": {
                                          "start": {
                                            "line": 218,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 218,
                                            "column": 21
                                          }
                                        },
                                        "name": "a"
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "Literal",
                                        "start": 8832,
                                        "end": 8833,
                                        "loc": {
                                          "start": {
                                            "line": 218,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 218,
                                            "column": 25
                                          }
                                        },
                                        "value": 2,
                                        "rawValue": 2,
                                        "raw": "2"
                                      }
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8851,
                                  "end": 8958,
                                  "loc": {
                                    "start": {
                                      "line": 219,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 219,
                                      "column": 123
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8851,
                                    "end": 8957,
                                    "loc": {
                                      "start": {
                                        "line": 219,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 219,
                                        "column": 122
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8851,
                                      "end": 8863,
                                      "loc": {
                                        "start": {
                                          "line": 219,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 219,
                                          "column": 28
                                        }
                                      },
                                      "name": "intersection"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 8866,
                                      "end": 8957,
                                      "loc": {
                                        "start": {
                                          "line": 219,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 219,
                                          "column": 122
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 8866,
                                        "end": 8897,
                                        "loc": {
                                          "start": {
                                            "line": 219,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 219,
                                            "column": 62
                                          }
                                        },
                                        "name": "checkBufferGeometryIntersection"
                                      },
                                      "arguments": [
                                        {
                                          "type": "ThisExpression",
                                          "start": 8899,
                                          "end": 8903,
                                          "loc": {
                                            "start": {
                                              "line": 219,
                                              "column": 64
                                            },
                                            "end": {
                                              "line": 219,
                                              "column": 68
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8905,
                                          "end": 8914,
                                          "loc": {
                                            "start": {
                                              "line": 219,
                                              "column": 70
                                            },
                                            "end": {
                                              "line": 219,
                                              "column": 79
                                            }
                                          },
                                          "name": "raycaster"
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 8916,
                                          "end": 8930,
                                          "loc": {
                                            "start": {
                                              "line": 219,
                                              "column": 81
                                            },
                                            "end": {
                                              "line": 219,
                                              "column": 95
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 8916,
                                            "end": 8925,
                                            "loc": {
                                              "start": {
                                                "line": 219,
                                                "column": 81
                                              },
                                              "end": {
                                                "line": 219,
                                                "column": 90
                                              }
                                            },
                                            "name": "raycaster"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8926,
                                            "end": 8930,
                                            "loc": {
                                              "start": {
                                                "line": 219,
                                                "column": 91
                                              },
                                              "end": {
                                                "line": 219,
                                                "column": 95
                                              }
                                            },
                                            "name": "_ray"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8932,
                                          "end": 8941,
                                          "loc": {
                                            "start": {
                                              "line": 219,
                                              "column": 97
                                            },
                                            "end": {
                                              "line": 219,
                                              "column": 106
                                            }
                                          },
                                          "name": "positions"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8943,
                                          "end": 8946,
                                          "loc": {
                                            "start": {
                                              "line": 219,
                                              "column": 108
                                            },
                                            "end": {
                                              "line": 219,
                                              "column": 111
                                            }
                                          },
                                          "name": "uvs"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8948,
                                          "end": 8949,
                                          "loc": {
                                            "start": {
                                              "line": 219,
                                              "column": 113
                                            },
                                            "end": {
                                              "line": 219,
                                              "column": 114
                                            }
                                          },
                                          "name": "a"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8951,
                                          "end": 8952,
                                          "loc": {
                                            "start": {
                                              "line": 219,
                                              "column": 116
                                            },
                                            "end": {
                                              "line": 219,
                                              "column": 117
                                            }
                                          },
                                          "name": "b"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8954,
                                          "end": 8955,
                                          "loc": {
                                            "start": {
                                              "line": 219,
                                              "column": 119
                                            },
                                            "end": {
                                              "line": 219,
                                              "column": 120
                                            }
                                          },
                                          "name": "c"
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 8975,
                                  "end": 9255,
                                  "loc": {
                                    "start": {
                                      "line": 220,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 225,
                                      "column": 17
                                    }
                                  },
                                  "test": {
                                    "type": "Identifier",
                                    "start": 8980,
                                    "end": 8992,
                                    "loc": {
                                      "start": {
                                        "line": 220,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 220,
                                        "column": 33
                                      }
                                    },
                                    "name": "intersection"
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 8995,
                                    "end": 9255,
                                    "loc": {
                                      "start": {
                                        "line": 220,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 225,
                                        "column": 17
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 9017,
                                        "end": 9040,
                                        "loc": {
                                          "start": {
                                            "line": 221,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 221,
                                            "column": 43
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 9017,
                                          "end": 9039,
                                          "loc": {
                                            "start": {
                                              "line": 221,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 221,
                                              "column": 42
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 9017,
                                            "end": 9035,
                                            "loc": {
                                              "start": {
                                                "line": 221,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 221,
                                                "column": 38
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 9017,
                                              "end": 9029,
                                              "loc": {
                                                "start": {
                                                  "line": 221,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 221,
                                                  "column": 32
                                                }
                                              },
                                              "name": "intersection"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 9030,
                                              "end": 9035,
                                              "loc": {
                                                "start": {
                                                  "line": 221,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 221,
                                                  "column": 38
                                                }
                                              },
                                              "name": "index"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "start": 9038,
                                            "end": 9039,
                                            "loc": {
                                              "start": {
                                                "line": 221,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 221,
                                                "column": 42
                                              }
                                            },
                                            "name": "a"
                                          }
                                        },
                                        "trailingComments": [
                                          {
                                            "type": "CommentLine",
                                            "value": " triangle number in positions buffer semantics",
                                            "start": 9041,
                                            "end": 9089,
                                            "loc": {
                                              "start": {
                                                "line": 221,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 221,
                                                "column": 92
                                              }
                                            },
                                            "range": [
                                              9041,
                                              9089
                                            ]
                                          }
                                        ]
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 9110,
                                        "end": 9142,
                                        "loc": {
                                          "start": {
                                            "line": 222,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 222,
                                            "column": 52
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 9110,
                                          "end": 9141,
                                          "loc": {
                                            "start": {
                                              "line": 222,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 222,
                                              "column": 51
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 9110,
                                            "end": 9125,
                                            "loc": {
                                              "start": {
                                                "line": 222,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 222,
                                                "column": 35
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 9110,
                                              "end": 9120,
                                              "loc": {
                                                "start": {
                                                  "line": 222,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 222,
                                                  "column": 30
                                                }
                                              },
                                              "name": "intersects",
                                              "leadingComments": null
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 9121,
                                              "end": 9125,
                                              "loc": {
                                                "start": {
                                                  "line": 222,
                                                  "column": 31
                                                },
                                                "end": {
                                                  "line": 222,
                                                  "column": 35
                                                }
                                              },
                                              "name": "push"
                                            },
                                            "computed": false,
                                            "leadingComments": null
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 9127,
                                              "end": 9139,
                                              "loc": {
                                                "start": {
                                                  "line": 222,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 222,
                                                  "column": 49
                                                }
                                              },
                                              "name": "intersection"
                                            }
                                          ],
                                          "leadingComments": null
                                        },
                                        "leadingComments": [
                                          {
                                            "type": "CommentLine",
                                            "value": " triangle number in positions buffer semantics",
                                            "start": 9041,
                                            "end": 9089,
                                            "loc": {
                                              "start": {
                                                "line": 221,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 221,
                                                "column": 92
                                              }
                                            },
                                            "range": [
                                              9041,
                                              9089
                                            ]
                                          }
                                        ]
                                      },
                                      {
                                        "type": "IfStatement",
                                        "start": 9163,
                                        "end": 9237,
                                        "loc": {
                                          "start": {
                                            "line": 223,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 224,
                                            "column": 31
                                          }
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "start": 9167,
                                          "end": 9204,
                                          "loc": {
                                            "start": {
                                              "line": 223,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 223,
                                              "column": 61
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 9167,
                                            "end": 9175,
                                            "loc": {
                                              "start": {
                                                "line": 223,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 223,
                                                "column": 32
                                              }
                                            },
                                            "name": "approach"
                                          },
                                          "operator": "===",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 9180,
                                            "end": 9204,
                                            "loc": {
                                              "start": {
                                                "line": 223,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 223,
                                                "column": 61
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 9180,
                                              "end": 9198,
                                              "loc": {
                                                "start": {
                                                  "line": 223,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 223,
                                                  "column": 55
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 9180,
                                                "end": 9189,
                                                "loc": {
                                                  "start": {
                                                    "line": 223,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 223,
                                                    "column": 46
                                                  }
                                                },
                                                "name": "Raycaster"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 9190,
                                                "end": 9198,
                                                "loc": {
                                                  "start": {
                                                    "line": 223,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 223,
                                                    "column": 55
                                                  }
                                                },
                                                "name": "Approach"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 9199,
                                              "end": 9204,
                                              "loc": {
                                                "start": {
                                                  "line": 223,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 223,
                                                  "column": 61
                                                }
                                              },
                                              "name": "First"
                                            },
                                            "computed": false
                                          }
                                        },
                                        "consequent": {
                                          "type": "ReturnStatement",
                                          "start": 9230,
                                          "end": 9237,
                                          "loc": {
                                            "start": {
                                              "line": 224,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 224,
                                              "column": 31
                                            }
                                          },
                                          "argument": null
                                        },
                                        "alternate": null
                                      }
                                    ]
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                },
                "alternate": {
                  "type": "IfStatement",
                  "start": 9291,
                  "end": 12090,
                  "loc": {
                    "start": {
                      "line": 228,
                      "column": 11
                    },
                    "end": {
                      "line": 280,
                      "column": 5
                    }
                  },
                  "test": {
                    "type": "BinaryExpression",
                    "start": 9296,
                    "end": 9330,
                    "loc": {
                      "start": {
                        "line": 228,
                        "column": 16
                      },
                      "end": {
                        "line": 228,
                        "column": 50
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 9296,
                      "end": 9304,
                      "loc": {
                        "start": {
                          "line": 228,
                          "column": 16
                        },
                        "end": {
                          "line": 228,
                          "column": 24
                        }
                      },
                      "name": "geometry"
                    },
                    "operator": "instanceof",
                    "right": {
                      "type": "MemberExpression",
                      "start": 9316,
                      "end": 9330,
                      "loc": {
                        "start": {
                          "line": 228,
                          "column": 36
                        },
                        "end": {
                          "line": 228,
                          "column": 50
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 9316,
                        "end": 9321,
                        "loc": {
                          "start": {
                            "line": 228,
                            "column": 36
                          },
                          "end": {
                            "line": 228,
                            "column": 41
                          }
                        },
                        "name": "THREE"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 9322,
                        "end": 9330,
                        "loc": {
                          "start": {
                            "line": 228,
                            "column": 42
                          },
                          "end": {
                            "line": 228,
                            "column": 50
                          }
                        },
                        "name": "Geometry"
                      },
                      "computed": false
                    }
                  },
                  "consequent": {
                    "type": "BlockStatement",
                    "start": 9333,
                    "end": 12090,
                    "loc": {
                      "start": {
                        "line": 228,
                        "column": 53
                      },
                      "end": {
                        "line": 280,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "VariableDeclaration",
                        "start": 9343,
                        "end": 9361,
                        "loc": {
                          "start": {
                            "line": 229,
                            "column": 8
                          },
                          "end": {
                            "line": 229,
                            "column": 26
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 9347,
                            "end": 9350,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 12
                              },
                              "end": {
                                "line": 229,
                                "column": 15
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 9347,
                              "end": 9350,
                              "loc": {
                                "start": {
                                  "line": 229,
                                  "column": 12
                                },
                                "end": {
                                  "line": 229,
                                  "column": 15
                                }
                              },
                              "name": "fvA"
                            },
                            "init": null
                          },
                          {
                            "type": "VariableDeclarator",
                            "start": 9352,
                            "end": 9355,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 17
                              },
                              "end": {
                                "line": 229,
                                "column": 20
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 9352,
                              "end": 9355,
                              "loc": {
                                "start": {
                                  "line": 229,
                                  "column": 17
                                },
                                "end": {
                                  "line": 229,
                                  "column": 20
                                }
                              },
                              "name": "fvB"
                            },
                            "init": null
                          },
                          {
                            "type": "VariableDeclarator",
                            "start": 9357,
                            "end": 9360,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 22
                              },
                              "end": {
                                "line": 229,
                                "column": 25
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 9357,
                              "end": 9360,
                              "loc": {
                                "start": {
                                  "line": 229,
                                  "column": 22
                                },
                                "end": {
                                  "line": 229,
                                  "column": 25
                                }
                              },
                              "name": "fvC"
                            },
                            "init": null
                          }
                        ],
                        "kind": "var"
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 9370,
                        "end": 9431,
                        "loc": {
                          "start": {
                            "line": 230,
                            "column": 8
                          },
                          "end": {
                            "line": 230,
                            "column": 69
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 9374,
                            "end": 9430,
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 12
                              },
                              "end": {
                                "line": 230,
                                "column": 68
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 9374,
                              "end": 9388,
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 12
                                },
                                "end": {
                                  "line": 230,
                                  "column": 26
                                }
                              },
                              "name": "isFaceMaterial"
                            },
                            "init": {
                              "type": "BinaryExpression",
                              "start": 9391,
                              "end": 9430,
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 29
                                },
                                "end": {
                                  "line": 230,
                                  "column": 68
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 9391,
                                "end": 9399,
                                "loc": {
                                  "start": {
                                    "line": 230,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 230,
                                    "column": 37
                                  }
                                },
                                "name": "material"
                              },
                              "operator": "instanceof",
                              "right": {
                                "type": "MemberExpression",
                                "start": 9411,
                                "end": 9430,
                                "loc": {
                                  "start": {
                                    "line": 230,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 230,
                                    "column": 68
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9411,
                                  "end": 9416,
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 230,
                                      "column": 54
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9417,
                                  "end": 9430,
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 230,
                                      "column": 68
                                    }
                                  },
                                  "name": "MultiMaterial"
                                },
                                "computed": false
                              }
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 9440,
                        "end": 9508,
                        "loc": {
                          "start": {
                            "line": 231,
                            "column": 8
                          },
                          "end": {
                            "line": 231,
                            "column": 76
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 9444,
                            "end": 9507,
                            "loc": {
                              "start": {
                                "line": 231,
                                "column": 12
                              },
                              "end": {
                                "line": 231,
                                "column": 75
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 9444,
                              "end": 9453,
                              "loc": {
                                "start": {
                                  "line": 231,
                                  "column": 12
                                },
                                "end": {
                                  "line": 231,
                                  "column": 21
                                }
                              },
                              "name": "materials"
                            },
                            "init": {
                              "type": "ConditionalExpression",
                              "start": 9456,
                              "end": 9507,
                              "loc": {
                                "start": {
                                  "line": 231,
                                  "column": 24
                                },
                                "end": {
                                  "line": 231,
                                  "column": 75
                                }
                              },
                              "test": {
                                "type": "BinaryExpression",
                                "start": 9456,
                                "end": 9479,
                                "loc": {
                                  "start": {
                                    "line": 231,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 231,
                                    "column": 47
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 9456,
                                  "end": 9470,
                                  "loc": {
                                    "start": {
                                      "line": 231,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 231,
                                      "column": 38
                                    }
                                  },
                                  "name": "isFaceMaterial"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "Literal",
                                  "start": 9475,
                                  "end": 9479,
                                  "loc": {
                                    "start": {
                                      "line": 231,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 231,
                                      "column": 47
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                }
                              },
                              "consequent": {
                                "type": "MemberExpression",
                                "start": 9482,
                                "end": 9500,
                                "loc": {
                                  "start": {
                                    "line": 231,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 231,
                                    "column": 68
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9482,
                                  "end": 9490,
                                  "loc": {
                                    "start": {
                                      "line": 231,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 231,
                                      "column": 58
                                    }
                                  },
                                  "name": "material"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9491,
                                  "end": 9500,
                                  "loc": {
                                    "start": {
                                      "line": 231,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 231,
                                      "column": 68
                                    }
                                  },
                                  "name": "materials"
                                },
                                "computed": false
                              },
                              "alternate": {
                                "type": "Literal",
                                "start": 9503,
                                "end": 9507,
                                "loc": {
                                  "start": {
                                    "line": 231,
                                    "column": 71
                                  },
                                  "end": {
                                    "line": 231,
                                    "column": 75
                                  }
                                },
                                "value": null,
                                "rawValue": null,
                                "raw": "null"
                              }
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 9517,
                        "end": 9550,
                        "loc": {
                          "start": {
                            "line": 232,
                            "column": 8
                          },
                          "end": {
                            "line": 232,
                            "column": 41
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 9521,
                            "end": 9549,
                            "loc": {
                              "start": {
                                "line": 232,
                                "column": 12
                              },
                              "end": {
                                "line": 232,
                                "column": 40
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 9521,
                              "end": 9529,
                              "loc": {
                                "start": {
                                  "line": 232,
                                  "column": 12
                                },
                                "end": {
                                  "line": 232,
                                  "column": 20
                                }
                              },
                              "name": "vertices"
                            },
                            "init": {
                              "type": "MemberExpression",
                              "start": 9532,
                              "end": 9549,
                              "loc": {
                                "start": {
                                  "line": 232,
                                  "column": 23
                                },
                                "end": {
                                  "line": 232,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9532,
                                "end": 9540,
                                "loc": {
                                  "start": {
                                    "line": 232,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 232,
                                    "column": 31
                                  }
                                },
                                "name": "geometry"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9541,
                                "end": 9549,
                                "loc": {
                                  "start": {
                                    "line": 232,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 232,
                                    "column": 40
                                  }
                                },
                                "name": "vertices"
                              },
                              "computed": false
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 9559,
                        "end": 9586,
                        "loc": {
                          "start": {
                            "line": 233,
                            "column": 8
                          },
                          "end": {
                            "line": 233,
                            "column": 35
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 9563,
                            "end": 9585,
                            "loc": {
                              "start": {
                                "line": 233,
                                "column": 12
                              },
                              "end": {
                                "line": 233,
                                "column": 34
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 9563,
                              "end": 9568,
                              "loc": {
                                "start": {
                                  "line": 233,
                                  "column": 12
                                },
                                "end": {
                                  "line": 233,
                                  "column": 17
                                }
                              },
                              "name": "faces"
                            },
                            "init": {
                              "type": "MemberExpression",
                              "start": 9571,
                              "end": 9585,
                              "loc": {
                                "start": {
                                  "line": 233,
                                  "column": 20
                                },
                                "end": {
                                  "line": 233,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9571,
                                "end": 9579,
                                "loc": {
                                  "start": {
                                    "line": 233,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 233,
                                    "column": 28
                                  }
                                },
                                "name": "geometry"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9580,
                                "end": 9585,
                                "loc": {
                                  "start": {
                                    "line": 233,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 233,
                                    "column": 34
                                  }
                                },
                                "name": "faces"
                              },
                              "computed": false
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 9595,
                        "end": 9643,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 8
                          },
                          "end": {
                            "line": 234,
                            "column": 56
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 9599,
                            "end": 9642,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 12
                              },
                              "end": {
                                "line": 234,
                                "column": 55
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 9599,
                              "end": 9612,
                              "loc": {
                                "start": {
                                  "line": 234,
                                  "column": 12
                                },
                                "end": {
                                  "line": 234,
                                  "column": 25
                                }
                              },
                              "name": "faceVertexUvs"
                            },
                            "init": {
                              "type": "MemberExpression",
                              "start": 9615,
                              "end": 9642,
                              "loc": {
                                "start": {
                                  "line": 234,
                                  "column": 28
                                },
                                "end": {
                                  "line": 234,
                                  "column": 55
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 9615,
                                "end": 9637,
                                "loc": {
                                  "start": {
                                    "line": 234,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 234,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9615,
                                  "end": 9623,
                                  "loc": {
                                    "start": {
                                      "line": 234,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 234,
                                      "column": 36
                                    }
                                  },
                                  "name": "geometry"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9624,
                                  "end": 9637,
                                  "loc": {
                                    "start": {
                                      "line": 234,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 234,
                                      "column": 50
                                    }
                                  },
                                  "name": "faceVertexUvs"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Literal",
                                "start": 9639,
                                "end": 9640,
                                "loc": {
                                  "start": {
                                    "line": 234,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 234,
                                    "column": 53
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "computed": true
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      {
                        "type": "IfStatement",
                        "start": 9652,
                        "end": 9704,
                        "loc": {
                          "start": {
                            "line": 235,
                            "column": 8
                          },
                          "end": {
                            "line": 235,
                            "column": 60
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 9657,
                          "end": 9681,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 13
                            },
                            "end": {
                              "line": 235,
                              "column": 37
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 9657,
                            "end": 9677,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 13
                              },
                              "end": {
                                "line": 235,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9657,
                              "end": 9670,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 13
                                },
                                "end": {
                                  "line": 235,
                                  "column": 26
                                }
                              },
                              "name": "faceVertexUvs"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9671,
                              "end": 9677,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 27
                                },
                                "end": {
                                  "line": 235,
                                  "column": 33
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "operator": ">",
                          "right": {
                            "type": "Literal",
                            "start": 9680,
                            "end": 9681,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 36
                              },
                              "end": {
                                "line": 235,
                                "column": 37
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          }
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 9684,
                          "end": 9704,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 40
                            },
                            "end": {
                              "line": 235,
                              "column": 60
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 9684,
                            "end": 9703,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 40
                              },
                              "end": {
                                "line": 235,
                                "column": 59
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 9684,
                              "end": 9687,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 40
                                },
                                "end": {
                                  "line": 235,
                                  "column": 43
                                }
                              },
                              "name": "uvs"
                            },
                            "right": {
                              "type": "Identifier",
                              "start": 9690,
                              "end": 9703,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 46
                                },
                                "end": {
                                  "line": 235,
                                  "column": 59
                                }
                              },
                              "name": "faceVertexUvs"
                            }
                          }
                        },
                        "alternate": null
                      },
                      {
                        "type": "ForStatement",
                        "start": 9713,
                        "end": 12084,
                        "loc": {
                          "start": {
                            "line": 236,
                            "column": 8
                          },
                          "end": {
                            "line": 279,
                            "column": 9
                          }
                        },
                        "init": {
                          "type": "VariableDeclaration",
                          "start": 9719,
                          "end": 9747,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 14
                            },
                            "end": {
                              "line": 236,
                              "column": 42
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 9723,
                              "end": 9728,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 18
                                },
                                "end": {
                                  "line": 236,
                                  "column": 23
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 9723,
                                "end": 9724,
                                "loc": {
                                  "start": {
                                    "line": 236,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 236,
                                    "column": 19
                                  }
                                },
                                "name": "f"
                              },
                              "init": {
                                "type": "Literal",
                                "start": 9727,
                                "end": 9728,
                                "loc": {
                                  "start": {
                                    "line": 236,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 236,
                                    "column": 23
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              }
                            },
                            {
                              "type": "VariableDeclarator",
                              "start": 9730,
                              "end": 9747,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 25
                                },
                                "end": {
                                  "line": 236,
                                  "column": 42
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 9730,
                                "end": 9732,
                                "loc": {
                                  "start": {
                                    "line": 236,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 236,
                                    "column": 27
                                  }
                                },
                                "name": "fl"
                              },
                              "init": {
                                "type": "MemberExpression",
                                "start": 9735,
                                "end": 9747,
                                "loc": {
                                  "start": {
                                    "line": 236,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 236,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9735,
                                  "end": 9740,
                                  "loc": {
                                    "start": {
                                      "line": 236,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 236,
                                      "column": 35
                                    }
                                  },
                                  "name": "faces"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9741,
                                  "end": 9747,
                                  "loc": {
                                    "start": {
                                      "line": 236,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 236,
                                      "column": 42
                                    }
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              }
                            }
                          ],
                          "kind": "var"
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 9749,
                          "end": 9755,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 44
                            },
                            "end": {
                              "line": 236,
                              "column": 50
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 9749,
                            "end": 9750,
                            "loc": {
                              "start": {
                                "line": 236,
                                "column": 44
                              },
                              "end": {
                                "line": 236,
                                "column": 45
                              }
                            },
                            "name": "f"
                          },
                          "operator": "<",
                          "right": {
                            "type": "Identifier",
                            "start": 9753,
                            "end": 9755,
                            "loc": {
                              "start": {
                                "line": 236,
                                "column": 48
                              },
                              "end": {
                                "line": 236,
                                "column": 50
                              }
                            },
                            "name": "fl"
                          }
                        },
                        "update": {
                          "type": "UpdateExpression",
                          "start": 9757,
                          "end": 9761,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 52
                            },
                            "end": {
                              "line": 236,
                              "column": 56
                            }
                          },
                          "operator": "++",
                          "prefix": false,
                          "argument": {
                            "type": "Identifier",
                            "start": 9757,
                            "end": 9758,
                            "loc": {
                              "start": {
                                "line": 236,
                                "column": 52
                              },
                              "end": {
                                "line": 236,
                                "column": 53
                              }
                            },
                            "name": "f"
                          }
                        },
                        "body": {
                          "type": "BlockStatement",
                          "start": 9764,
                          "end": 12084,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 59
                            },
                            "end": {
                              "line": 279,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "start": 9778,
                              "end": 9800,
                              "loc": {
                                "start": {
                                  "line": 237,
                                  "column": 12
                                },
                                "end": {
                                  "line": 237,
                                  "column": 34
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 9782,
                                  "end": 9799,
                                  "loc": {
                                    "start": {
                                      "line": 237,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 237,
                                      "column": 33
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 9782,
                                    "end": 9786,
                                    "loc": {
                                      "start": {
                                        "line": 237,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 237,
                                        "column": 20
                                      }
                                    },
                                    "name": "face"
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "start": 9789,
                                    "end": 9799,
                                    "loc": {
                                      "start": {
                                        "line": 237,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 237,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9789,
                                      "end": 9794,
                                      "loc": {
                                        "start": {
                                          "line": 237,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 237,
                                          "column": 28
                                        }
                                      },
                                      "name": "faces"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9796,
                                      "end": 9797,
                                      "loc": {
                                        "start": {
                                          "line": 237,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 237,
                                          "column": 31
                                        }
                                      },
                                      "name": "f"
                                    },
                                    "computed": true
                                  }
                                }
                              ],
                              "kind": "var"
                            },
                            {
                              "type": "VariableDeclaration",
                              "start": 9813,
                              "end": 9901,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 12
                                },
                                "end": {
                                  "line": 238,
                                  "column": 100
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 9817,
                                  "end": 9900,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 99
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 9817,
                                    "end": 9829,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 28
                                      }
                                    },
                                    "name": "faceMaterial"
                                  },
                                  "init": {
                                    "type": "ConditionalExpression",
                                    "start": 9832,
                                    "end": 9900,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 99
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 9832,
                                      "end": 9855,
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 54
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 9832,
                                        "end": 9846,
                                        "loc": {
                                          "start": {
                                            "line": 238,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 238,
                                            "column": 45
                                          }
                                        },
                                        "name": "isFaceMaterial"
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "Literal",
                                        "start": 9851,
                                        "end": 9855,
                                        "loc": {
                                          "start": {
                                            "line": 238,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 238,
                                            "column": 54
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      }
                                    },
                                    "consequent": {
                                      "type": "MemberExpression",
                                      "start": 9858,
                                      "end": 9889,
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 88
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 9858,
                                        "end": 9867,
                                        "loc": {
                                          "start": {
                                            "line": 238,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 238,
                                            "column": 66
                                          }
                                        },
                                        "name": "materials"
                                      },
                                      "property": {
                                        "type": "MemberExpression",
                                        "start": 9869,
                                        "end": 9887,
                                        "loc": {
                                          "start": {
                                            "line": 238,
                                            "column": 68
                                          },
                                          "end": {
                                            "line": 238,
                                            "column": 86
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 9869,
                                          "end": 9873,
                                          "loc": {
                                            "start": {
                                              "line": 238,
                                              "column": 68
                                            },
                                            "end": {
                                              "line": 238,
                                              "column": 72
                                            }
                                          },
                                          "name": "face"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9874,
                                          "end": 9887,
                                          "loc": {
                                            "start": {
                                              "line": 238,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 238,
                                              "column": 86
                                            }
                                          },
                                          "name": "materialIndex"
                                        },
                                        "computed": false
                                      },
                                      "computed": true
                                    },
                                    "alternate": {
                                      "type": "Identifier",
                                      "start": 9892,
                                      "end": 9900,
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 91
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 99
                                        }
                                      },
                                      "name": "material"
                                    }
                                  }
                                }
                              ],
                              "kind": "var"
                            },
                            {
                              "type": "IfStatement",
                              "start": 9914,
                              "end": 9957,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 12
                                },
                                "end": {
                                  "line": 239,
                                  "column": 55
                                }
                              },
                              "test": {
                                "type": "BinaryExpression",
                                "start": 9919,
                                "end": 9945,
                                "loc": {
                                  "start": {
                                    "line": 239,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 239,
                                    "column": 43
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 9919,
                                  "end": 9931,
                                  "loc": {
                                    "start": {
                                      "line": 239,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 239,
                                      "column": 29
                                    }
                                  },
                                  "name": "faceMaterial"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "Identifier",
                                  "start": 9936,
                                  "end": 9945,
                                  "loc": {
                                    "start": {
                                      "line": 239,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 239,
                                      "column": 43
                                    }
                                  },
                                  "name": "undefined"
                                }
                              },
                              "consequent": {
                                "type": "ContinueStatement",
                                "start": 9948,
                                "end": 9957,
                                "loc": {
                                  "start": {
                                    "line": 239,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 239,
                                    "column": 55
                                  }
                                },
                                "label": null
                              },
                              "alternate": null
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 9970,
                              "end": 9995,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 12
                                },
                                "end": {
                                  "line": 240,
                                  "column": 37
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 9970,
                                "end": 9994,
                                "loc": {
                                  "start": {
                                    "line": 240,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 240,
                                    "column": 36
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 9970,
                                  "end": 9973,
                                  "loc": {
                                    "start": {
                                      "line": 240,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 240,
                                      "column": 15
                                    }
                                  },
                                  "name": "fvA"
                                },
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 9976,
                                  "end": 9994,
                                  "loc": {
                                    "start": {
                                      "line": 240,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 240,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9976,
                                    "end": 9984,
                                    "loc": {
                                      "start": {
                                        "line": 240,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 240,
                                        "column": 26
                                      }
                                    },
                                    "name": "vertices"
                                  },
                                  "property": {
                                    "type": "MemberExpression",
                                    "start": 9986,
                                    "end": 9992,
                                    "loc": {
                                      "start": {
                                        "line": 240,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 240,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9986,
                                      "end": 9990,
                                      "loc": {
                                        "start": {
                                          "line": 240,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 240,
                                          "column": 32
                                        }
                                      },
                                      "name": "face"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9991,
                                      "end": 9992,
                                      "loc": {
                                        "start": {
                                          "line": 240,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 240,
                                          "column": 34
                                        }
                                      },
                                      "name": "a"
                                    },
                                    "computed": false
                                  },
                                  "computed": true
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 10008,
                              "end": 10033,
                              "loc": {
                                "start": {
                                  "line": 241,
                                  "column": 12
                                },
                                "end": {
                                  "line": 241,
                                  "column": 37
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 10008,
                                "end": 10032,
                                "loc": {
                                  "start": {
                                    "line": 241,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 241,
                                    "column": 36
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 10008,
                                  "end": 10011,
                                  "loc": {
                                    "start": {
                                      "line": 241,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 241,
                                      "column": 15
                                    }
                                  },
                                  "name": "fvB"
                                },
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 10014,
                                  "end": 10032,
                                  "loc": {
                                    "start": {
                                      "line": 241,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 241,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10014,
                                    "end": 10022,
                                    "loc": {
                                      "start": {
                                        "line": 241,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 241,
                                        "column": 26
                                      }
                                    },
                                    "name": "vertices"
                                  },
                                  "property": {
                                    "type": "MemberExpression",
                                    "start": 10024,
                                    "end": 10030,
                                    "loc": {
                                      "start": {
                                        "line": 241,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 241,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10024,
                                      "end": 10028,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 32
                                        }
                                      },
                                      "name": "face"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10029,
                                      "end": 10030,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 34
                                        }
                                      },
                                      "name": "b"
                                    },
                                    "computed": false
                                  },
                                  "computed": true
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 10046,
                              "end": 10071,
                              "loc": {
                                "start": {
                                  "line": 242,
                                  "column": 12
                                },
                                "end": {
                                  "line": 242,
                                  "column": 37
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 10046,
                                "end": 10070,
                                "loc": {
                                  "start": {
                                    "line": 242,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 242,
                                    "column": 36
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 10046,
                                  "end": 10049,
                                  "loc": {
                                    "start": {
                                      "line": 242,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 242,
                                      "column": 15
                                    }
                                  },
                                  "name": "fvC"
                                },
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 10052,
                                  "end": 10070,
                                  "loc": {
                                    "start": {
                                      "line": 242,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 242,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10052,
                                    "end": 10060,
                                    "loc": {
                                      "start": {
                                        "line": 242,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 242,
                                        "column": 26
                                      }
                                    },
                                    "name": "vertices"
                                  },
                                  "property": {
                                    "type": "MemberExpression",
                                    "start": 10062,
                                    "end": 10068,
                                    "loc": {
                                      "start": {
                                        "line": 242,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 242,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10062,
                                      "end": 10066,
                                      "loc": {
                                        "start": {
                                          "line": 242,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 242,
                                          "column": 32
                                        }
                                      },
                                      "name": "face"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10067,
                                      "end": 10068,
                                      "loc": {
                                        "start": {
                                          "line": 242,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 242,
                                          "column": 34
                                        }
                                      },
                                      "name": "c"
                                    },
                                    "computed": false
                                  },
                                  "computed": true
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "start": 10084,
                              "end": 11264,
                              "loc": {
                                "start": {
                                  "line": 243,
                                  "column": 12
                                },
                                "end": {
                                  "line": 263,
                                  "column": 13
                                }
                              },
                              "test": {
                                "type": "BinaryExpression",
                                "start": 10089,
                                "end": 10123,
                                "loc": {
                                  "start": {
                                    "line": 243,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 243,
                                    "column": 51
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 10089,
                                  "end": 10114,
                                  "loc": {
                                    "start": {
                                      "line": 243,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 243,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10089,
                                    "end": 10101,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 29
                                      }
                                    },
                                    "name": "faceMaterial"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10102,
                                    "end": 10114,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 42
                                      }
                                    },
                                    "name": "morphTargets"
                                  },
                                  "computed": false
                                },
                                "operator": "===",
                                "right": {
                                  "type": "Literal",
                                  "start": 10119,
                                  "end": 10123,
                                  "loc": {
                                    "start": {
                                      "line": 243,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 243,
                                      "column": 51
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "start": 10126,
                                "end": 11264,
                                "loc": {
                                  "start": {
                                    "line": 243,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 263,
                                    "column": 13
                                  }
                                },
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "start": 10144,
                                    "end": 10185,
                                    "loc": {
                                      "start": {
                                        "line": 244,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 244,
                                        "column": 57
                                      }
                                    },
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "start": 10148,
                                        "end": 10184,
                                        "loc": {
                                          "start": {
                                            "line": 244,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 244,
                                            "column": 56
                                          }
                                        },
                                        "id": {
                                          "type": "Identifier",
                                          "start": 10148,
                                          "end": 10160,
                                          "loc": {
                                            "start": {
                                              "line": 244,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 244,
                                              "column": 32
                                            }
                                          },
                                          "name": "morphTargets"
                                        },
                                        "init": {
                                          "type": "MemberExpression",
                                          "start": 10163,
                                          "end": 10184,
                                          "loc": {
                                            "start": {
                                              "line": 244,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 244,
                                              "column": 56
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 10163,
                                            "end": 10171,
                                            "loc": {
                                              "start": {
                                                "line": 244,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 244,
                                                "column": 43
                                              }
                                            },
                                            "name": "geometry"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 10172,
                                            "end": 10184,
                                            "loc": {
                                              "start": {
                                                "line": 244,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 244,
                                                "column": 56
                                              }
                                            },
                                            "name": "morphTargets"
                                          },
                                          "computed": false
                                        }
                                      }
                                    ],
                                    "kind": "var"
                                  },
                                  {
                                    "type": "VariableDeclaration",
                                    "start": 10202,
                                    "end": 10251,
                                    "loc": {
                                      "start": {
                                        "line": 245,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 245,
                                        "column": 65
                                      }
                                    },
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "start": 10206,
                                        "end": 10250,
                                        "loc": {
                                          "start": {
                                            "line": 245,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 245,
                                            "column": 64
                                          }
                                        },
                                        "id": {
                                          "type": "Identifier",
                                          "start": 10206,
                                          "end": 10221,
                                          "loc": {
                                            "start": {
                                              "line": 245,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 245,
                                              "column": 35
                                            }
                                          },
                                          "name": "morphInfluences"
                                        },
                                        "init": {
                                          "type": "MemberExpression",
                                          "start": 10224,
                                          "end": 10250,
                                          "loc": {
                                            "start": {
                                              "line": 245,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 245,
                                              "column": 64
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 10224,
                                            "end": 10228,
                                            "loc": {
                                              "start": {
                                                "line": 245,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 245,
                                                "column": 42
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 10229,
                                            "end": 10250,
                                            "loc": {
                                              "start": {
                                                "line": 245,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 245,
                                                "column": 64
                                              }
                                            },
                                            "name": "morphTargetInfluences"
                                          },
                                          "computed": false
                                        }
                                      }
                                    ],
                                    "kind": "var"
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 10268,
                                    "end": 10297,
                                    "loc": {
                                      "start": {
                                        "line": 246,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 246,
                                        "column": 45
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 10268,
                                      "end": 10296,
                                      "loc": {
                                        "start": {
                                          "line": 246,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 246,
                                          "column": 44
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 10268,
                                        "end": 10285,
                                        "loc": {
                                          "start": {
                                            "line": 246,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 246,
                                            "column": 33
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 10268,
                                          "end": 10281,
                                          "loc": {
                                            "start": {
                                              "line": 246,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 246,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 10268,
                                            "end": 10277,
                                            "loc": {
                                              "start": {
                                                "line": 246,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 246,
                                                "column": 25
                                              }
                                            },
                                            "name": "raycaster"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 10278,
                                            "end": 10281,
                                            "loc": {
                                              "start": {
                                                "line": 246,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 246,
                                                "column": 29
                                              }
                                            },
                                            "name": "_vA"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 10282,
                                          "end": 10285,
                                          "loc": {
                                            "start": {
                                              "line": 246,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 246,
                                              "column": 33
                                            }
                                          },
                                          "name": "set"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 10287,
                                          "end": 10288,
                                          "loc": {
                                            "start": {
                                              "line": 246,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 246,
                                              "column": 36
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 10290,
                                          "end": 10291,
                                          "loc": {
                                            "start": {
                                              "line": 246,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 246,
                                              "column": 39
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 10293,
                                          "end": 10294,
                                          "loc": {
                                            "start": {
                                              "line": 246,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 246,
                                              "column": 42
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 10314,
                                    "end": 10343,
                                    "loc": {
                                      "start": {
                                        "line": 247,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 247,
                                        "column": 45
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 10314,
                                      "end": 10342,
                                      "loc": {
                                        "start": {
                                          "line": 247,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 247,
                                          "column": 44
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 10314,
                                        "end": 10331,
                                        "loc": {
                                          "start": {
                                            "line": 247,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 247,
                                            "column": 33
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 10314,
                                          "end": 10327,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 10314,
                                            "end": 10323,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 25
                                              }
                                            },
                                            "name": "raycaster"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 10324,
                                            "end": 10327,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 29
                                              }
                                            },
                                            "name": "_vB"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 10328,
                                          "end": 10331,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 33
                                            }
                                          },
                                          "name": "set"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 10333,
                                          "end": 10334,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 36
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 10336,
                                          "end": 10337,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 39
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 10339,
                                          "end": 10340,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 42
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 10360,
                                    "end": 10389,
                                    "loc": {
                                      "start": {
                                        "line": 248,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 248,
                                        "column": 45
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 10360,
                                      "end": 10388,
                                      "loc": {
                                        "start": {
                                          "line": 248,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 248,
                                          "column": 44
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 10360,
                                        "end": 10377,
                                        "loc": {
                                          "start": {
                                            "line": 248,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 248,
                                            "column": 33
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 10360,
                                          "end": 10373,
                                          "loc": {
                                            "start": {
                                              "line": 248,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 248,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 10360,
                                            "end": 10369,
                                            "loc": {
                                              "start": {
                                                "line": 248,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 248,
                                                "column": 25
                                              }
                                            },
                                            "name": "raycaster"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 10370,
                                            "end": 10373,
                                            "loc": {
                                              "start": {
                                                "line": 248,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 248,
                                                "column": 29
                                              }
                                            },
                                            "name": "_vC"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 10374,
                                          "end": 10377,
                                          "loc": {
                                            "start": {
                                              "line": 248,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 248,
                                              "column": 33
                                            }
                                          },
                                          "name": "set"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 10379,
                                          "end": 10380,
                                          "loc": {
                                            "start": {
                                              "line": 248,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 248,
                                              "column": 36
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 10382,
                                          "end": 10383,
                                          "loc": {
                                            "start": {
                                              "line": 248,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 248,
                                              "column": 39
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 10385,
                                          "end": 10386,
                                          "loc": {
                                            "start": {
                                              "line": 248,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 248,
                                              "column": 42
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "type": "ForStatement",
                                    "start": 10406,
                                    "end": 11013,
                                    "loc": {
                                      "start": {
                                        "line": 249,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 17
                                      }
                                    },
                                    "init": {
                                      "type": "VariableDeclaration",
                                      "start": 10412,
                                      "end": 10447,
                                      "loc": {
                                        "start": {
                                          "line": 249,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 249,
                                          "column": 57
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 10416,
                                          "end": 10421,
                                          "loc": {
                                            "start": {
                                              "line": 249,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 249,
                                              "column": 31
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 10416,
                                            "end": 10417,
                                            "loc": {
                                              "start": {
                                                "line": 249,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 249,
                                                "column": 27
                                              }
                                            },
                                            "name": "t"
                                          },
                                          "init": {
                                            "type": "Literal",
                                            "start": 10420,
                                            "end": 10421,
                                            "loc": {
                                              "start": {
                                                "line": 249,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 249,
                                                "column": 31
                                              }
                                            },
                                            "value": 0,
                                            "rawValue": 0,
                                            "raw": "0"
                                          }
                                        },
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 10423,
                                          "end": 10447,
                                          "loc": {
                                            "start": {
                                              "line": 249,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 249,
                                              "column": 57
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 10423,
                                            "end": 10425,
                                            "loc": {
                                              "start": {
                                                "line": 249,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 249,
                                                "column": 35
                                              }
                                            },
                                            "name": "tl"
                                          },
                                          "init": {
                                            "type": "MemberExpression",
                                            "start": 10428,
                                            "end": 10447,
                                            "loc": {
                                              "start": {
                                                "line": 249,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 249,
                                                "column": 57
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 10428,
                                              "end": 10440,
                                              "loc": {
                                                "start": {
                                                  "line": 249,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 249,
                                                  "column": 50
                                                }
                                              },
                                              "name": "morphTargets"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10441,
                                              "end": 10447,
                                              "loc": {
                                                "start": {
                                                  "line": 249,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 249,
                                                  "column": 57
                                                }
                                              },
                                              "name": "length"
                                            },
                                            "computed": false
                                          }
                                        }
                                      ],
                                      "kind": "var"
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 10449,
                                      "end": 10455,
                                      "loc": {
                                        "start": {
                                          "line": 249,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 249,
                                          "column": 65
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 10449,
                                        "end": 10450,
                                        "loc": {
                                          "start": {
                                            "line": 249,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 249,
                                            "column": 60
                                          }
                                        },
                                        "name": "t"
                                      },
                                      "operator": "<",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 10453,
                                        "end": 10455,
                                        "loc": {
                                          "start": {
                                            "line": 249,
                                            "column": 63
                                          },
                                          "end": {
                                            "line": 249,
                                            "column": 65
                                          }
                                        },
                                        "name": "tl"
                                      }
                                    },
                                    "update": {
                                      "type": "UpdateExpression",
                                      "start": 10457,
                                      "end": 10461,
                                      "loc": {
                                        "start": {
                                          "line": 249,
                                          "column": 67
                                        },
                                        "end": {
                                          "line": 249,
                                          "column": 71
                                        }
                                      },
                                      "operator": "++",
                                      "prefix": false,
                                      "argument": {
                                        "type": "Identifier",
                                        "start": 10457,
                                        "end": 10458,
                                        "loc": {
                                          "start": {
                                            "line": 249,
                                            "column": 67
                                          },
                                          "end": {
                                            "line": 249,
                                            "column": 68
                                          }
                                        },
                                        "name": "t"
                                      }
                                    },
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 10464,
                                      "end": 11013,
                                      "loc": {
                                        "start": {
                                          "line": 249,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 256,
                                          "column": 17
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "VariableDeclaration",
                                          "start": 10486,
                                          "end": 10523,
                                          "loc": {
                                            "start": {
                                              "line": 250,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 250,
                                              "column": 57
                                            }
                                          },
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "start": 10490,
                                              "end": 10522,
                                              "loc": {
                                                "start": {
                                                  "line": 250,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 250,
                                                  "column": 56
                                                }
                                              },
                                              "id": {
                                                "type": "Identifier",
                                                "start": 10490,
                                                "end": 10499,
                                                "loc": {
                                                  "start": {
                                                    "line": 250,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 250,
                                                    "column": 33
                                                  }
                                                },
                                                "name": "influence"
                                              },
                                              "init": {
                                                "type": "MemberExpression",
                                                "start": 10502,
                                                "end": 10522,
                                                "loc": {
                                                  "start": {
                                                    "line": 250,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 250,
                                                    "column": 56
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 10502,
                                                  "end": 10517,
                                                  "loc": {
                                                    "start": {
                                                      "line": 250,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 250,
                                                      "column": 51
                                                    }
                                                  },
                                                  "name": "morphInfluences"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10519,
                                                  "end": 10520,
                                                  "loc": {
                                                    "start": {
                                                      "line": 250,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 250,
                                                      "column": 54
                                                    }
                                                  },
                                                  "name": "t"
                                                },
                                                "computed": true
                                              }
                                            }
                                          ],
                                          "kind": "var"
                                        },
                                        {
                                          "type": "IfStatement",
                                          "start": 10544,
                                          "end": 10576,
                                          "loc": {
                                            "start": {
                                              "line": 251,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 251,
                                              "column": 52
                                            }
                                          },
                                          "test": {
                                            "type": "BinaryExpression",
                                            "start": 10549,
                                            "end": 10564,
                                            "loc": {
                                              "start": {
                                                "line": 251,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 251,
                                                "column": 40
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 10549,
                                              "end": 10558,
                                              "loc": {
                                                "start": {
                                                  "line": 251,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 251,
                                                  "column": 34
                                                }
                                              },
                                              "name": "influence"
                                            },
                                            "operator": "===",
                                            "right": {
                                              "type": "Literal",
                                              "start": 10563,
                                              "end": 10564,
                                              "loc": {
                                                "start": {
                                                  "line": 251,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 251,
                                                  "column": 40
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          },
                                          "consequent": {
                                            "type": "ContinueStatement",
                                            "start": 10567,
                                            "end": 10576,
                                            "loc": {
                                              "start": {
                                                "line": 251,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 251,
                                                "column": 52
                                              }
                                            },
                                            "label": null
                                          },
                                          "alternate": null
                                        },
                                        {
                                          "type": "VariableDeclaration",
                                          "start": 10597,
                                          "end": 10638,
                                          "loc": {
                                            "start": {
                                              "line": 252,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 252,
                                              "column": 61
                                            }
                                          },
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "start": 10601,
                                              "end": 10637,
                                              "loc": {
                                                "start": {
                                                  "line": 252,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 252,
                                                  "column": 60
                                                }
                                              },
                                              "id": {
                                                "type": "Identifier",
                                                "start": 10601,
                                                "end": 10608,
                                                "loc": {
                                                  "start": {
                                                    "line": 252,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 252,
                                                    "column": 31
                                                  }
                                                },
                                                "name": "targets"
                                              },
                                              "init": {
                                                "type": "MemberExpression",
                                                "start": 10611,
                                                "end": 10637,
                                                "loc": {
                                                  "start": {
                                                    "line": 252,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 252,
                                                    "column": 60
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 10611,
                                                  "end": 10628,
                                                  "loc": {
                                                    "start": {
                                                      "line": 252,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 252,
                                                      "column": 51
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 10611,
                                                    "end": 10623,
                                                    "loc": {
                                                      "start": {
                                                        "line": 252,
                                                        "column": 34
                                                      },
                                                      "end": {
                                                        "line": 252,
                                                        "column": 46
                                                      }
                                                    },
                                                    "name": "morphTargets"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 10625,
                                                    "end": 10626,
                                                    "loc": {
                                                      "start": {
                                                        "line": 252,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 252,
                                                        "column": 49
                                                      }
                                                    },
                                                    "name": "t"
                                                  },
                                                  "computed": true
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10629,
                                                  "end": 10637,
                                                  "loc": {
                                                    "start": {
                                                      "line": 252,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 252,
                                                      "column": 60
                                                    }
                                                  },
                                                  "name": "vertices"
                                                },
                                                "computed": false
                                              }
                                            }
                                          ],
                                          "kind": "var"
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 10659,
                                          "end": 10757,
                                          "loc": {
                                            "start": {
                                              "line": 253,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 253,
                                              "column": 118
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 10659,
                                            "end": 10756,
                                            "loc": {
                                              "start": {
                                                "line": 253,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 253,
                                                "column": 117
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 10659,
                                              "end": 10688,
                                              "loc": {
                                                "start": {
                                                  "line": 253,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 253,
                                                  "column": 49
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10659,
                                                "end": 10672,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 10659,
                                                  "end": 10668,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "raycaster"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10669,
                                                  "end": 10672,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "_vA"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10673,
                                                "end": 10688,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 49
                                                  }
                                                },
                                                "name": "addScaledVector"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "CallExpression",
                                                "start": 10690,
                                                "end": 10743,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 104
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 10690,
                                                  "end": 10717,
                                                  "loc": {
                                                    "start": {
                                                      "line": 253,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 253,
                                                      "column": 78
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 10690,
                                                    "end": 10706,
                                                    "loc": {
                                                      "start": {
                                                        "line": 253,
                                                        "column": 51
                                                      },
                                                      "end": {
                                                        "line": 253,
                                                        "column": 67
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 10690,
                                                      "end": 10699,
                                                      "loc": {
                                                        "start": {
                                                          "line": 253,
                                                          "column": 51
                                                        },
                                                        "end": {
                                                          "line": 253,
                                                          "column": 60
                                                        }
                                                      },
                                                      "name": "raycaster"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 10700,
                                                      "end": 10706,
                                                      "loc": {
                                                        "start": {
                                                          "line": 253,
                                                          "column": 61
                                                        },
                                                        "end": {
                                                          "line": 253,
                                                          "column": 67
                                                        }
                                                      },
                                                      "name": "_tempA"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 10707,
                                                    "end": 10717,
                                                    "loc": {
                                                      "start": {
                                                        "line": 253,
                                                        "column": 68
                                                      },
                                                      "end": {
                                                        "line": 253,
                                                        "column": 78
                                                      }
                                                    },
                                                    "name": "subVectors"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "start": 10719,
                                                    "end": 10736,
                                                    "loc": {
                                                      "start": {
                                                        "line": 253,
                                                        "column": 80
                                                      },
                                                      "end": {
                                                        "line": 253,
                                                        "column": 97
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 10719,
                                                      "end": 10726,
                                                      "loc": {
                                                        "start": {
                                                          "line": 253,
                                                          "column": 80
                                                        },
                                                        "end": {
                                                          "line": 253,
                                                          "column": 87
                                                        }
                                                      },
                                                      "name": "targets"
                                                    },
                                                    "property": {
                                                      "type": "MemberExpression",
                                                      "start": 10728,
                                                      "end": 10734,
                                                      "loc": {
                                                        "start": {
                                                          "line": 253,
                                                          "column": 89
                                                        },
                                                        "end": {
                                                          "line": 253,
                                                          "column": 95
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 10728,
                                                        "end": 10732,
                                                        "loc": {
                                                          "start": {
                                                            "line": 253,
                                                            "column": 89
                                                          },
                                                          "end": {
                                                            "line": 253,
                                                            "column": 93
                                                          }
                                                        },
                                                        "name": "face"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 10733,
                                                        "end": 10734,
                                                        "loc": {
                                                          "start": {
                                                            "line": 253,
                                                            "column": 94
                                                          },
                                                          "end": {
                                                            "line": 253,
                                                            "column": 95
                                                          }
                                                        },
                                                        "name": "a"
                                                      },
                                                      "computed": false
                                                    },
                                                    "computed": true
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 10738,
                                                    "end": 10741,
                                                    "loc": {
                                                      "start": {
                                                        "line": 253,
                                                        "column": 99
                                                      },
                                                      "end": {
                                                        "line": 253,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "fvA"
                                                  }
                                                ]
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 10745,
                                                "end": 10754,
                                                "loc": {
                                                  "start": {
                                                    "line": 253,
                                                    "column": 106
                                                  },
                                                  "end": {
                                                    "line": 253,
                                                    "column": 115
                                                  }
                                                },
                                                "name": "influence"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 10778,
                                          "end": 10876,
                                          "loc": {
                                            "start": {
                                              "line": 254,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 254,
                                              "column": 118
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 10778,
                                            "end": 10875,
                                            "loc": {
                                              "start": {
                                                "line": 254,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 254,
                                                "column": 117
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 10778,
                                              "end": 10807,
                                              "loc": {
                                                "start": {
                                                  "line": 254,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 254,
                                                  "column": 49
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10778,
                                                "end": 10791,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 10778,
                                                  "end": 10787,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "raycaster"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10788,
                                                  "end": 10791,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "_vB"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10792,
                                                "end": 10807,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 49
                                                  }
                                                },
                                                "name": "addScaledVector"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "CallExpression",
                                                "start": 10809,
                                                "end": 10862,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 104
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 10809,
                                                  "end": 10836,
                                                  "loc": {
                                                    "start": {
                                                      "line": 254,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 254,
                                                      "column": 78
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 10809,
                                                    "end": 10825,
                                                    "loc": {
                                                      "start": {
                                                        "line": 254,
                                                        "column": 51
                                                      },
                                                      "end": {
                                                        "line": 254,
                                                        "column": 67
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 10809,
                                                      "end": 10818,
                                                      "loc": {
                                                        "start": {
                                                          "line": 254,
                                                          "column": 51
                                                        },
                                                        "end": {
                                                          "line": 254,
                                                          "column": 60
                                                        }
                                                      },
                                                      "name": "raycaster"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 10819,
                                                      "end": 10825,
                                                      "loc": {
                                                        "start": {
                                                          "line": 254,
                                                          "column": 61
                                                        },
                                                        "end": {
                                                          "line": 254,
                                                          "column": 67
                                                        }
                                                      },
                                                      "name": "_tempB"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 10826,
                                                    "end": 10836,
                                                    "loc": {
                                                      "start": {
                                                        "line": 254,
                                                        "column": 68
                                                      },
                                                      "end": {
                                                        "line": 254,
                                                        "column": 78
                                                      }
                                                    },
                                                    "name": "subVectors"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "start": 10838,
                                                    "end": 10855,
                                                    "loc": {
                                                      "start": {
                                                        "line": 254,
                                                        "column": 80
                                                      },
                                                      "end": {
                                                        "line": 254,
                                                        "column": 97
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 10838,
                                                      "end": 10845,
                                                      "loc": {
                                                        "start": {
                                                          "line": 254,
                                                          "column": 80
                                                        },
                                                        "end": {
                                                          "line": 254,
                                                          "column": 87
                                                        }
                                                      },
                                                      "name": "targets"
                                                    },
                                                    "property": {
                                                      "type": "MemberExpression",
                                                      "start": 10847,
                                                      "end": 10853,
                                                      "loc": {
                                                        "start": {
                                                          "line": 254,
                                                          "column": 89
                                                        },
                                                        "end": {
                                                          "line": 254,
                                                          "column": 95
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 10847,
                                                        "end": 10851,
                                                        "loc": {
                                                          "start": {
                                                            "line": 254,
                                                            "column": 89
                                                          },
                                                          "end": {
                                                            "line": 254,
                                                            "column": 93
                                                          }
                                                        },
                                                        "name": "face"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 10852,
                                                        "end": 10853,
                                                        "loc": {
                                                          "start": {
                                                            "line": 254,
                                                            "column": 94
                                                          },
                                                          "end": {
                                                            "line": 254,
                                                            "column": 95
                                                          }
                                                        },
                                                        "name": "b"
                                                      },
                                                      "computed": false
                                                    },
                                                    "computed": true
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 10857,
                                                    "end": 10860,
                                                    "loc": {
                                                      "start": {
                                                        "line": 254,
                                                        "column": 99
                                                      },
                                                      "end": {
                                                        "line": 254,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "fvB"
                                                  }
                                                ]
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 10864,
                                                "end": 10873,
                                                "loc": {
                                                  "start": {
                                                    "line": 254,
                                                    "column": 106
                                                  },
                                                  "end": {
                                                    "line": 254,
                                                    "column": 115
                                                  }
                                                },
                                                "name": "influence"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 10897,
                                          "end": 10995,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 118
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 10897,
                                            "end": 10994,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 117
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 10897,
                                              "end": 10926,
                                              "loc": {
                                                "start": {
                                                  "line": 255,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 255,
                                                  "column": 49
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10897,
                                                "end": 10910,
                                                "loc": {
                                                  "start": {
                                                    "line": 255,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 255,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 10897,
                                                  "end": 10906,
                                                  "loc": {
                                                    "start": {
                                                      "line": 255,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 255,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "raycaster"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10907,
                                                  "end": 10910,
                                                  "loc": {
                                                    "start": {
                                                      "line": 255,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 255,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "_vC"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10911,
                                                "end": 10926,
                                                "loc": {
                                                  "start": {
                                                    "line": 255,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 255,
                                                    "column": 49
                                                  }
                                                },
                                                "name": "addScaledVector"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "CallExpression",
                                                "start": 10928,
                                                "end": 10981,
                                                "loc": {
                                                  "start": {
                                                    "line": 255,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 255,
                                                    "column": 104
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 10928,
                                                  "end": 10955,
                                                  "loc": {
                                                    "start": {
                                                      "line": 255,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 255,
                                                      "column": 78
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 10928,
                                                    "end": 10944,
                                                    "loc": {
                                                      "start": {
                                                        "line": 255,
                                                        "column": 51
                                                      },
                                                      "end": {
                                                        "line": 255,
                                                        "column": 67
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 10928,
                                                      "end": 10937,
                                                      "loc": {
                                                        "start": {
                                                          "line": 255,
                                                          "column": 51
                                                        },
                                                        "end": {
                                                          "line": 255,
                                                          "column": 60
                                                        }
                                                      },
                                                      "name": "raycaster"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 10938,
                                                      "end": 10944,
                                                      "loc": {
                                                        "start": {
                                                          "line": 255,
                                                          "column": 61
                                                        },
                                                        "end": {
                                                          "line": 255,
                                                          "column": 67
                                                        }
                                                      },
                                                      "name": "_tempC"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 10945,
                                                    "end": 10955,
                                                    "loc": {
                                                      "start": {
                                                        "line": 255,
                                                        "column": 68
                                                      },
                                                      "end": {
                                                        "line": 255,
                                                        "column": 78
                                                      }
                                                    },
                                                    "name": "subVectors"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "start": 10957,
                                                    "end": 10974,
                                                    "loc": {
                                                      "start": {
                                                        "line": 255,
                                                        "column": 80
                                                      },
                                                      "end": {
                                                        "line": 255,
                                                        "column": 97
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 10957,
                                                      "end": 10964,
                                                      "loc": {
                                                        "start": {
                                                          "line": 255,
                                                          "column": 80
                                                        },
                                                        "end": {
                                                          "line": 255,
                                                          "column": 87
                                                        }
                                                      },
                                                      "name": "targets"
                                                    },
                                                    "property": {
                                                      "type": "MemberExpression",
                                                      "start": 10966,
                                                      "end": 10972,
                                                      "loc": {
                                                        "start": {
                                                          "line": 255,
                                                          "column": 89
                                                        },
                                                        "end": {
                                                          "line": 255,
                                                          "column": 95
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 10966,
                                                        "end": 10970,
                                                        "loc": {
                                                          "start": {
                                                            "line": 255,
                                                            "column": 89
                                                          },
                                                          "end": {
                                                            "line": 255,
                                                            "column": 93
                                                          }
                                                        },
                                                        "name": "face"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 10971,
                                                        "end": 10972,
                                                        "loc": {
                                                          "start": {
                                                            "line": 255,
                                                            "column": 94
                                                          },
                                                          "end": {
                                                            "line": 255,
                                                            "column": 95
                                                          }
                                                        },
                                                        "name": "c"
                                                      },
                                                      "computed": false
                                                    },
                                                    "computed": true
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 10976,
                                                    "end": 10979,
                                                    "loc": {
                                                      "start": {
                                                        "line": 255,
                                                        "column": 99
                                                      },
                                                      "end": {
                                                        "line": 255,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "fvC"
                                                  }
                                                ]
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 10983,
                                                "end": 10992,
                                                "loc": {
                                                  "start": {
                                                    "line": 255,
                                                    "column": 106
                                                  },
                                                  "end": {
                                                    "line": 255,
                                                    "column": 115
                                                  }
                                                },
                                                "name": "influence"
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 11030,
                                    "end": 11055,
                                    "loc": {
                                      "start": {
                                        "line": 257,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 257,
                                        "column": 41
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 11030,
                                      "end": 11054,
                                      "loc": {
                                        "start": {
                                          "line": 257,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 257,
                                          "column": 40
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 11030,
                                        "end": 11047,
                                        "loc": {
                                          "start": {
                                            "line": 257,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 257,
                                            "column": 33
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11030,
                                          "end": 11043,
                                          "loc": {
                                            "start": {
                                              "line": 257,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 257,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 11030,
                                            "end": 11039,
                                            "loc": {
                                              "start": {
                                                "line": 257,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 257,
                                                "column": 25
                                              }
                                            },
                                            "name": "raycaster"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11040,
                                            "end": 11043,
                                            "loc": {
                                              "start": {
                                                "line": 257,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 257,
                                                "column": 29
                                              }
                                            },
                                            "name": "_vA"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11044,
                                          "end": 11047,
                                          "loc": {
                                            "start": {
                                              "line": 257,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 257,
                                              "column": 33
                                            }
                                          },
                                          "name": "add"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 11049,
                                          "end": 11052,
                                          "loc": {
                                            "start": {
                                              "line": 257,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 257,
                                              "column": 38
                                            }
                                          },
                                          "name": "fvA"
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 11072,
                                    "end": 11097,
                                    "loc": {
                                      "start": {
                                        "line": 258,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 258,
                                        "column": 41
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 11072,
                                      "end": 11096,
                                      "loc": {
                                        "start": {
                                          "line": 258,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 258,
                                          "column": 40
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 11072,
                                        "end": 11089,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 33
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11072,
                                          "end": 11085,
                                          "loc": {
                                            "start": {
                                              "line": 258,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 258,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 11072,
                                            "end": 11081,
                                            "loc": {
                                              "start": {
                                                "line": 258,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 258,
                                                "column": 25
                                              }
                                            },
                                            "name": "raycaster"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11082,
                                            "end": 11085,
                                            "loc": {
                                              "start": {
                                                "line": 258,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 258,
                                                "column": 29
                                              }
                                            },
                                            "name": "_vB"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11086,
                                          "end": 11089,
                                          "loc": {
                                            "start": {
                                              "line": 258,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 258,
                                              "column": 33
                                            }
                                          },
                                          "name": "add"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 11091,
                                          "end": 11094,
                                          "loc": {
                                            "start": {
                                              "line": 258,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 258,
                                              "column": 38
                                            }
                                          },
                                          "name": "fvB"
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 11114,
                                    "end": 11139,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 41
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 11114,
                                      "end": 11138,
                                      "loc": {
                                        "start": {
                                          "line": 259,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 259,
                                          "column": 40
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 11114,
                                        "end": 11131,
                                        "loc": {
                                          "start": {
                                            "line": 259,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 259,
                                            "column": 33
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11114,
                                          "end": 11127,
                                          "loc": {
                                            "start": {
                                              "line": 259,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 259,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 11114,
                                            "end": 11123,
                                            "loc": {
                                              "start": {
                                                "line": 259,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 259,
                                                "column": 25
                                              }
                                            },
                                            "name": "raycaster"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11124,
                                            "end": 11127,
                                            "loc": {
                                              "start": {
                                                "line": 259,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 259,
                                                "column": 29
                                              }
                                            },
                                            "name": "_vC"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11128,
                                          "end": 11131,
                                          "loc": {
                                            "start": {
                                              "line": 259,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 259,
                                              "column": 33
                                            }
                                          },
                                          "name": "add"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 11133,
                                          "end": 11136,
                                          "loc": {
                                            "start": {
                                              "line": 259,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 259,
                                              "column": 38
                                            }
                                          },
                                          "name": "fvC"
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 11156,
                                    "end": 11176,
                                    "loc": {
                                      "start": {
                                        "line": 260,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 260,
                                        "column": 36
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 11156,
                                      "end": 11175,
                                      "loc": {
                                        "start": {
                                          "line": 260,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 260,
                                          "column": 35
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 11156,
                                        "end": 11159,
                                        "loc": {
                                          "start": {
                                            "line": 260,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 260,
                                            "column": 19
                                          }
                                        },
                                        "name": "fvA"
                                      },
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 11162,
                                        "end": 11175,
                                        "loc": {
                                          "start": {
                                            "line": 260,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 260,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 11162,
                                          "end": 11171,
                                          "loc": {
                                            "start": {
                                              "line": 260,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 260,
                                              "column": 31
                                            }
                                          },
                                          "name": "raycaster"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11172,
                                          "end": 11175,
                                          "loc": {
                                            "start": {
                                              "line": 260,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 260,
                                              "column": 35
                                            }
                                          },
                                          "name": "_vA"
                                        },
                                        "computed": false
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 11193,
                                    "end": 11213,
                                    "loc": {
                                      "start": {
                                        "line": 261,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 261,
                                        "column": 36
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 11193,
                                      "end": 11212,
                                      "loc": {
                                        "start": {
                                          "line": 261,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 261,
                                          "column": 35
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 11193,
                                        "end": 11196,
                                        "loc": {
                                          "start": {
                                            "line": 261,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 261,
                                            "column": 19
                                          }
                                        },
                                        "name": "fvB"
                                      },
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 11199,
                                        "end": 11212,
                                        "loc": {
                                          "start": {
                                            "line": 261,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 261,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 11199,
                                          "end": 11208,
                                          "loc": {
                                            "start": {
                                              "line": 261,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 261,
                                              "column": 31
                                            }
                                          },
                                          "name": "raycaster"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11209,
                                          "end": 11212,
                                          "loc": {
                                            "start": {
                                              "line": 261,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 261,
                                              "column": 35
                                            }
                                          },
                                          "name": "_vB"
                                        },
                                        "computed": false
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 11230,
                                    "end": 11250,
                                    "loc": {
                                      "start": {
                                        "line": 262,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 262,
                                        "column": 36
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 11230,
                                      "end": 11249,
                                      "loc": {
                                        "start": {
                                          "line": 262,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 262,
                                          "column": 35
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 11230,
                                        "end": 11233,
                                        "loc": {
                                          "start": {
                                            "line": 262,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 262,
                                            "column": 19
                                          }
                                        },
                                        "name": "fvC"
                                      },
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 11236,
                                        "end": 11249,
                                        "loc": {
                                          "start": {
                                            "line": 262,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 262,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 11236,
                                          "end": 11245,
                                          "loc": {
                                            "start": {
                                              "line": 262,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 262,
                                              "column": 31
                                            }
                                          },
                                          "name": "raycaster"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11246,
                                          "end": 11249,
                                          "loc": {
                                            "start": {
                                              "line": 262,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 262,
                                              "column": 35
                                            }
                                          },
                                          "name": "_vC"
                                        },
                                        "computed": false
                                      }
                                    }
                                  }
                                ]
                              },
                              "alternate": null
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 11277,
                              "end": 11390,
                              "loc": {
                                "start": {
                                  "line": 264,
                                  "column": 12
                                },
                                "end": {
                                  "line": 264,
                                  "column": 125
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 11277,
                                "end": 11389,
                                "loc": {
                                  "start": {
                                    "line": 264,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 264,
                                    "column": 124
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 11277,
                                  "end": 11289,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 24
                                    }
                                  },
                                  "name": "intersection"
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 11292,
                                  "end": 11389,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 124
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 11292,
                                    "end": 11309,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 44
                                      }
                                    },
                                    "name": "checkIntersection"
                                  },
                                  "arguments": [
                                    {
                                      "type": "ThisExpression",
                                      "start": 11311,
                                      "end": 11315,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 50
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 11317,
                                      "end": 11326,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 61
                                        }
                                      },
                                      "name": "raycaster"
                                    },
                                    {
                                      "type": "MemberExpression",
                                      "start": 11328,
                                      "end": 11342,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 63
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 77
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 11328,
                                        "end": 11337,
                                        "loc": {
                                          "start": {
                                            "line": 264,
                                            "column": 63
                                          },
                                          "end": {
                                            "line": 264,
                                            "column": 72
                                          }
                                        },
                                        "name": "raycaster"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11338,
                                        "end": 11342,
                                        "loc": {
                                          "start": {
                                            "line": 264,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 264,
                                            "column": 77
                                          }
                                        },
                                        "name": "_ray"
                                      },
                                      "computed": false
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 11344,
                                      "end": 11347,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 79
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 82
                                        }
                                      },
                                      "name": "fvA"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 11349,
                                      "end": 11352,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 84
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 87
                                        }
                                      },
                                      "name": "fvB"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 11354,
                                      "end": 11357,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 92
                                        }
                                      },
                                      "name": "fvC"
                                    },
                                    {
                                      "type": "MemberExpression",
                                      "start": 11359,
                                      "end": 11387,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 94
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 122
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 11359,
                                        "end": 11368,
                                        "loc": {
                                          "start": {
                                            "line": 264,
                                            "column": 94
                                          },
                                          "end": {
                                            "line": 264,
                                            "column": 103
                                          }
                                        },
                                        "name": "raycaster"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11369,
                                        "end": 11387,
                                        "loc": {
                                          "start": {
                                            "line": 264,
                                            "column": 104
                                          },
                                          "end": {
                                            "line": 264,
                                            "column": 122
                                          }
                                        },
                                        "name": "_intersectionPoint"
                                      },
                                      "computed": false
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "start": 11403,
                              "end": 12074,
                              "loc": {
                                "start": {
                                  "line": 265,
                                  "column": 12
                                },
                                "end": {
                                  "line": 278,
                                  "column": 13
                                }
                              },
                              "test": {
                                "type": "Identifier",
                                "start": 11408,
                                "end": 11420,
                                "loc": {
                                  "start": {
                                    "line": 265,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 265,
                                    "column": 29
                                  }
                                },
                                "name": "intersection"
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "start": 11423,
                                "end": 12074,
                                "loc": {
                                  "start": {
                                    "line": 265,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 278,
                                    "column": 13
                                  }
                                },
                                "body": [
                                  {
                                    "type": "IfStatement",
                                    "start": 11441,
                                    "end": 11838,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 17
                                      }
                                    },
                                    "test": {
                                      "type": "Identifier",
                                      "start": 11446,
                                      "end": 11449,
                                      "loc": {
                                        "start": {
                                          "line": 266,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 266,
                                          "column": 24
                                        }
                                      },
                                      "name": "uvs"
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 11452,
                                      "end": 11838,
                                      "loc": {
                                        "start": {
                                          "line": 266,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 17
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "VariableDeclaration",
                                          "start": 11474,
                                          "end": 11495,
                                          "loc": {
                                            "start": {
                                              "line": 267,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 267,
                                              "column": 41
                                            }
                                          },
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "start": 11478,
                                              "end": 11494,
                                              "loc": {
                                                "start": {
                                                  "line": 267,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 267,
                                                  "column": 40
                                                }
                                              },
                                              "id": {
                                                "type": "Identifier",
                                                "start": 11478,
                                                "end": 11483,
                                                "loc": {
                                                  "start": {
                                                    "line": 267,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 267,
                                                    "column": 29
                                                  }
                                                },
                                                "name": "uvs_f"
                                              },
                                              "init": {
                                                "type": "MemberExpression",
                                                "start": 11486,
                                                "end": 11494,
                                                "loc": {
                                                  "start": {
                                                    "line": 267,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 267,
                                                    "column": 40
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 11486,
                                                  "end": 11489,
                                                  "loc": {
                                                    "start": {
                                                      "line": 267,
                                                      "column": 32
                                                    },
                                                    "end": {
                                                      "line": 267,
                                                      "column": 35
                                                    }
                                                  },
                                                  "name": "uvs"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 11491,
                                                  "end": 11492,
                                                  "loc": {
                                                    "start": {
                                                      "line": 267,
                                                      "column": 37
                                                    },
                                                    "end": {
                                                      "line": 267,
                                                      "column": 38
                                                    }
                                                  },
                                                  "name": "f"
                                                },
                                                "computed": true
                                              }
                                            }
                                          ],
                                          "kind": "var"
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 11516,
                                          "end": 11550,
                                          "loc": {
                                            "start": {
                                              "line": 268,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 268,
                                              "column": 54
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 11516,
                                            "end": 11549,
                                            "loc": {
                                              "start": {
                                                "line": 268,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 268,
                                                "column": 53
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 11516,
                                              "end": 11535,
                                              "loc": {
                                                "start": {
                                                  "line": 268,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 268,
                                                  "column": 39
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 11516,
                                                "end": 11530,
                                                "loc": {
                                                  "start": {
                                                    "line": 268,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 268,
                                                    "column": 34
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 11516,
                                                  "end": 11525,
                                                  "loc": {
                                                    "start": {
                                                      "line": 268,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 268,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "raycaster"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 11526,
                                                  "end": 11530,
                                                  "loc": {
                                                    "start": {
                                                      "line": 268,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 268,
                                                      "column": 34
                                                    }
                                                  },
                                                  "name": "_uvA"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 11531,
                                                "end": 11535,
                                                "loc": {
                                                  "start": {
                                                    "line": 268,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 268,
                                                    "column": 39
                                                  }
                                                },
                                                "name": "copy"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "start": 11537,
                                                "end": 11547,
                                                "loc": {
                                                  "start": {
                                                    "line": 268,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 268,
                                                    "column": 51
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 11537,
                                                  "end": 11542,
                                                  "loc": {
                                                    "start": {
                                                      "line": 268,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 268,
                                                      "column": 46
                                                    }
                                                  },
                                                  "name": "uvs_f"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 11544,
                                                  "end": 11545,
                                                  "loc": {
                                                    "start": {
                                                      "line": 268,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 268,
                                                      "column": 49
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "computed": true
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 11571,
                                          "end": 11605,
                                          "loc": {
                                            "start": {
                                              "line": 269,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 269,
                                              "column": 54
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 11571,
                                            "end": 11604,
                                            "loc": {
                                              "start": {
                                                "line": 269,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 269,
                                                "column": 53
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 11571,
                                              "end": 11590,
                                              "loc": {
                                                "start": {
                                                  "line": 269,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 269,
                                                  "column": 39
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 11571,
                                                "end": 11585,
                                                "loc": {
                                                  "start": {
                                                    "line": 269,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 269,
                                                    "column": 34
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 11571,
                                                  "end": 11580,
                                                  "loc": {
                                                    "start": {
                                                      "line": 269,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 269,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "raycaster"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 11581,
                                                  "end": 11585,
                                                  "loc": {
                                                    "start": {
                                                      "line": 269,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 269,
                                                      "column": 34
                                                    }
                                                  },
                                                  "name": "_uvB"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 11586,
                                                "end": 11590,
                                                "loc": {
                                                  "start": {
                                                    "line": 269,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 269,
                                                    "column": 39
                                                  }
                                                },
                                                "name": "copy"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "start": 11592,
                                                "end": 11602,
                                                "loc": {
                                                  "start": {
                                                    "line": 269,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 269,
                                                    "column": 51
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 11592,
                                                  "end": 11597,
                                                  "loc": {
                                                    "start": {
                                                      "line": 269,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 269,
                                                      "column": 46
                                                    }
                                                  },
                                                  "name": "uvs_f"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 11599,
                                                  "end": 11600,
                                                  "loc": {
                                                    "start": {
                                                      "line": 269,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 269,
                                                      "column": 49
                                                    }
                                                  },
                                                  "value": 1,
                                                  "rawValue": 1,
                                                  "raw": "1"
                                                },
                                                "computed": true
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 11626,
                                          "end": 11660,
                                          "loc": {
                                            "start": {
                                              "line": 270,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 270,
                                              "column": 54
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 11626,
                                            "end": 11659,
                                            "loc": {
                                              "start": {
                                                "line": 270,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 270,
                                                "column": 53
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 11626,
                                              "end": 11645,
                                              "loc": {
                                                "start": {
                                                  "line": 270,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 270,
                                                  "column": 39
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 11626,
                                                "end": 11640,
                                                "loc": {
                                                  "start": {
                                                    "line": 270,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 270,
                                                    "column": 34
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 11626,
                                                  "end": 11635,
                                                  "loc": {
                                                    "start": {
                                                      "line": 270,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 270,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "raycaster"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 11636,
                                                  "end": 11640,
                                                  "loc": {
                                                    "start": {
                                                      "line": 270,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 270,
                                                      "column": 34
                                                    }
                                                  },
                                                  "name": "_uvC"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 11641,
                                                "end": 11645,
                                                "loc": {
                                                  "start": {
                                                    "line": 270,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 270,
                                                    "column": 39
                                                  }
                                                },
                                                "name": "copy"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "start": 11647,
                                                "end": 11657,
                                                "loc": {
                                                  "start": {
                                                    "line": 270,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 270,
                                                    "column": 51
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 11647,
                                                  "end": 11652,
                                                  "loc": {
                                                    "start": {
                                                      "line": 270,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 270,
                                                      "column": 46
                                                    }
                                                  },
                                                  "name": "uvs_f"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 11654,
                                                  "end": 11655,
                                                  "loc": {
                                                    "start": {
                                                      "line": 270,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 270,
                                                      "column": 49
                                                    }
                                                  },
                                                  "value": 2,
                                                  "rawValue": 2,
                                                  "raw": "2"
                                                },
                                                "computed": true
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 11681,
                                          "end": 11820,
                                          "loc": {
                                            "start": {
                                              "line": 271,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 271,
                                              "column": 159
                                            }
                                          },
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 11681,
                                            "end": 11819,
                                            "loc": {
                                              "start": {
                                                "line": 271,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 271,
                                                "column": 158
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 11681,
                                              "end": 11696,
                                              "loc": {
                                                "start": {
                                                  "line": 271,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 271,
                                                  "column": 35
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 11681,
                                                "end": 11693,
                                                "loc": {
                                                  "start": {
                                                    "line": 271,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 271,
                                                    "column": 32
                                                  }
                                                },
                                                "name": "intersection"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 11694,
                                                "end": 11696,
                                                "loc": {
                                                  "start": {
                                                    "line": 271,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 271,
                                                    "column": 35
                                                  }
                                                },
                                                "name": "uv"
                                              },
                                              "computed": false
                                            },
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 11699,
                                              "end": 11819,
                                              "loc": {
                                                "start": {
                                                  "line": 271,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 271,
                                                  "column": 158
                                                }
                                              },
                                              "callee": {
                                                "type": "Identifier",
                                                "start": 11699,
                                                "end": 11713,
                                                "loc": {
                                                  "start": {
                                                    "line": 271,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 271,
                                                    "column": 52
                                                  }
                                                },
                                                "name": "uvIntersection"
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 11715,
                                                  "end": 11724,
                                                  "loc": {
                                                    "start": {
                                                      "line": 271,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 271,
                                                      "column": 63
                                                    }
                                                  },
                                                  "name": "raycaster"
                                                },
                                                {
                                                  "type": "MemberExpression",
                                                  "start": 11726,
                                                  "end": 11754,
                                                  "loc": {
                                                    "start": {
                                                      "line": 271,
                                                      "column": 65
                                                    },
                                                    "end": {
                                                      "line": 271,
                                                      "column": 93
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 11726,
                                                    "end": 11735,
                                                    "loc": {
                                                      "start": {
                                                        "line": 271,
                                                        "column": 65
                                                      },
                                                      "end": {
                                                        "line": 271,
                                                        "column": 74
                                                      }
                                                    },
                                                    "name": "raycaster"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 11736,
                                                    "end": 11754,
                                                    "loc": {
                                                      "start": {
                                                        "line": 271,
                                                        "column": 75
                                                      },
                                                      "end": {
                                                        "line": 271,
                                                        "column": 93
                                                      }
                                                    },
                                                    "name": "_intersectionPoint"
                                                  },
                                                  "computed": false
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 11756,
                                                  "end": 11759,
                                                  "loc": {
                                                    "start": {
                                                      "line": 271,
                                                      "column": 95
                                                    },
                                                    "end": {
                                                      "line": 271,
                                                      "column": 98
                                                    }
                                                  },
                                                  "name": "fvA"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 11761,
                                                  "end": 11764,
                                                  "loc": {
                                                    "start": {
                                                      "line": 271,
                                                      "column": 100
                                                    },
                                                    "end": {
                                                      "line": 271,
                                                      "column": 103
                                                    }
                                                  },
                                                  "name": "fvB"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 11766,
                                                  "end": 11769,
                                                  "loc": {
                                                    "start": {
                                                      "line": 271,
                                                      "column": 105
                                                    },
                                                    "end": {
                                                      "line": 271,
                                                      "column": 108
                                                    }
                                                  },
                                                  "name": "fvC"
                                                },
                                                {
                                                  "type": "MemberExpression",
                                                  "start": 11771,
                                                  "end": 11785,
                                                  "loc": {
                                                    "start": {
                                                      "line": 271,
                                                      "column": 110
                                                    },
                                                    "end": {
                                                      "line": 271,
                                                      "column": 124
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 11771,
                                                    "end": 11780,
                                                    "loc": {
                                                      "start": {
                                                        "line": 271,
                                                        "column": 110
                                                      },
                                                      "end": {
                                                        "line": 271,
                                                        "column": 119
                                                      }
                                                    },
                                                    "name": "raycaster"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 11781,
                                                    "end": 11785,
                                                    "loc": {
                                                      "start": {
                                                        "line": 271,
                                                        "column": 120
                                                      },
                                                      "end": {
                                                        "line": 271,
                                                        "column": 124
                                                      }
                                                    },
                                                    "name": "_uvA"
                                                  },
                                                  "computed": false
                                                },
                                                {
                                                  "type": "MemberExpression",
                                                  "start": 11787,
                                                  "end": 11801,
                                                  "loc": {
                                                    "start": {
                                                      "line": 271,
                                                      "column": 126
                                                    },
                                                    "end": {
                                                      "line": 271,
                                                      "column": 140
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 11787,
                                                    "end": 11796,
                                                    "loc": {
                                                      "start": {
                                                        "line": 271,
                                                        "column": 126
                                                      },
                                                      "end": {
                                                        "line": 271,
                                                        "column": 135
                                                      }
                                                    },
                                                    "name": "raycaster"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 11797,
                                                    "end": 11801,
                                                    "loc": {
                                                      "start": {
                                                        "line": 271,
                                                        "column": 136
                                                      },
                                                      "end": {
                                                        "line": 271,
                                                        "column": 140
                                                      }
                                                    },
                                                    "name": "_uvB"
                                                  },
                                                  "computed": false
                                                },
                                                {
                                                  "type": "MemberExpression",
                                                  "start": 11803,
                                                  "end": 11817,
                                                  "loc": {
                                                    "start": {
                                                      "line": 271,
                                                      "column": 142
                                                    },
                                                    "end": {
                                                      "line": 271,
                                                      "column": 156
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 11803,
                                                    "end": 11812,
                                                    "loc": {
                                                      "start": {
                                                        "line": 271,
                                                        "column": 142
                                                      },
                                                      "end": {
                                                        "line": 271,
                                                        "column": 151
                                                      }
                                                    },
                                                    "name": "raycaster"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 11813,
                                                    "end": 11817,
                                                    "loc": {
                                                      "start": {
                                                        "line": 271,
                                                        "column": 152
                                                      },
                                                      "end": {
                                                        "line": 271,
                                                        "column": 156
                                                      }
                                                    },
                                                    "name": "_uvC"
                                                  },
                                                  "computed": false
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    },
                                    "alternate": null
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 11855,
                                    "end": 11880,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 41
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 11855,
                                      "end": 11879,
                                      "loc": {
                                        "start": {
                                          "line": 273,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 273,
                                          "column": 40
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 11855,
                                        "end": 11872,
                                        "loc": {
                                          "start": {
                                            "line": 273,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 273,
                                            "column": 33
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 11855,
                                          "end": 11867,
                                          "loc": {
                                            "start": {
                                              "line": 273,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 273,
                                              "column": 28
                                            }
                                          },
                                          "name": "intersection"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11868,
                                          "end": 11872,
                                          "loc": {
                                            "start": {
                                              "line": 273,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 273,
                                              "column": 33
                                            }
                                          },
                                          "name": "face"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "Identifier",
                                        "start": 11875,
                                        "end": 11879,
                                        "loc": {
                                          "start": {
                                            "line": 273,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 273,
                                            "column": 40
                                          }
                                        },
                                        "name": "face"
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 11897,
                                    "end": 11924,
                                    "loc": {
                                      "start": {
                                        "line": 274,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 274,
                                        "column": 43
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 11897,
                                      "end": 11923,
                                      "loc": {
                                        "start": {
                                          "line": 274,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 274,
                                          "column": 42
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 11897,
                                        "end": 11919,
                                        "loc": {
                                          "start": {
                                            "line": 274,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 274,
                                            "column": 38
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 11897,
                                          "end": 11909,
                                          "loc": {
                                            "start": {
                                              "line": 274,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 274,
                                              "column": 28
                                            }
                                          },
                                          "name": "intersection"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11910,
                                          "end": 11919,
                                          "loc": {
                                            "start": {
                                              "line": 274,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 274,
                                              "column": 38
                                            }
                                          },
                                          "name": "faceIndex"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "Identifier",
                                        "start": 11922,
                                        "end": 11923,
                                        "loc": {
                                          "start": {
                                            "line": 274,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 274,
                                            "column": 42
                                          }
                                        },
                                        "name": "f"
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 11941,
                                    "end": 11973,
                                    "loc": {
                                      "start": {
                                        "line": 275,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 275,
                                        "column": 48
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 11941,
                                      "end": 11972,
                                      "loc": {
                                        "start": {
                                          "line": 275,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 275,
                                          "column": 47
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 11941,
                                        "end": 11956,
                                        "loc": {
                                          "start": {
                                            "line": 275,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 275,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 11941,
                                          "end": 11951,
                                          "loc": {
                                            "start": {
                                              "line": 275,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 275,
                                              "column": 26
                                            }
                                          },
                                          "name": "intersects"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11952,
                                          "end": 11956,
                                          "loc": {
                                            "start": {
                                              "line": 275,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 275,
                                              "column": 31
                                            }
                                          },
                                          "name": "push"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 11958,
                                          "end": 11970,
                                          "loc": {
                                            "start": {
                                              "line": 275,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 275,
                                              "column": 45
                                            }
                                          },
                                          "name": "intersection"
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 11990,
                                    "end": 12060,
                                    "loc": {
                                      "start": {
                                        "line": 276,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 27
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 11994,
                                      "end": 12031,
                                      "loc": {
                                        "start": {
                                          "line": 276,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 276,
                                          "column": 57
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 11994,
                                        "end": 12002,
                                        "loc": {
                                          "start": {
                                            "line": 276,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 276,
                                            "column": 28
                                          }
                                        },
                                        "name": "approach"
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 12007,
                                        "end": 12031,
                                        "loc": {
                                          "start": {
                                            "line": 276,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 276,
                                            "column": 57
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 12007,
                                          "end": 12025,
                                          "loc": {
                                            "start": {
                                              "line": 276,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 276,
                                              "column": 51
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 12007,
                                            "end": 12016,
                                            "loc": {
                                              "start": {
                                                "line": 276,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 276,
                                                "column": 42
                                              }
                                            },
                                            "name": "Raycaster"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 12017,
                                            "end": 12025,
                                            "loc": {
                                              "start": {
                                                "line": 276,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 276,
                                                "column": 51
                                              }
                                            },
                                            "name": "Approach"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 12026,
                                          "end": 12031,
                                          "loc": {
                                            "start": {
                                              "line": 276,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 276,
                                              "column": 57
                                            }
                                          },
                                          "name": "First"
                                        },
                                        "computed": false
                                      }
                                    },
                                    "consequent": {
                                      "type": "ReturnStatement",
                                      "start": 12053,
                                      "end": 12060,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 27
                                        }
                                      },
                                      "argument": null
                                    },
                                    "alternate": null
                                  }
                                ]
                              },
                              "alternate": null
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "alternate": null
                }
              }
            ]
          }
        }
      }
    }
  ]
}