{
  "type": "Program",
  "start": 0,
  "end": 6002,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 125,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 54,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 54
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 9,
          "end": 13,
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 13
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 9,
            "end": 13,
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 13
              }
            },
            "name": "guid"
          },
          "local": {
            "type": "Identifier",
            "start": 9,
            "end": 13,
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 13
              }
            },
            "name": "guid"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 15,
          "end": 23,
          "loc": {
            "start": {
              "line": 1,
              "column": 15
            },
            "end": {
              "line": 1,
              "column": 23
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 15,
            "end": 23,
            "loc": {
              "start": {
                "line": 1,
                "column": 15
              },
              "end": {
                "line": 1,
                "column": 23
              }
            },
            "name": "queryDom"
          },
          "local": {
            "type": "Identifier",
            "start": 15,
            "end": 23,
            "loc": {
              "start": {
                "line": 1,
                "column": 15
              },
              "end": {
                "line": 1,
                "column": 23
              }
            },
            "name": "queryDom"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 25,
          "end": 28,
          "loc": {
            "start": {
              "line": 1,
              "column": 25
            },
            "end": {
              "line": 1,
              "column": 28
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 25,
            "end": 28,
            "loc": {
              "start": {
                "line": 1,
                "column": 25
              },
              "end": {
                "line": 1,
                "column": 28
              }
            },
            "name": "url"
          },
          "local": {
            "type": "Identifier",
            "start": 25,
            "end": 28,
            "loc": {
              "start": {
                "line": 1,
                "column": 25
              },
              "end": {
                "line": 1,
                "column": 28
              }
            },
            "name": "url"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 36,
        "end": 53,
        "loc": {
          "start": {
            "line": 1,
            "column": 36
          },
          "end": {
            "line": 1,
            "column": 53
          }
        },
        "value": "../core/helpers",
        "rawValue": "../core/helpers",
        "raw": "'../core/helpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 56,
      "end": 92,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 36
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 63,
          "end": 69,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 63,
            "end": 69,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 13
              }
            },
            "name": "Parser"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 75,
        "end": 91,
        "loc": {
          "start": {
            "line": 2,
            "column": 19
          },
          "end": {
            "line": 2,
            "column": 35
          }
        },
        "value": "../core/parser",
        "rawValue": "../core/parser",
        "raw": "'../core/parser'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 94,
      "end": 130,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 36
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 101,
          "end": 107,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 101,
            "end": 107,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "name": "Events"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 113,
        "end": 129,
        "loc": {
          "start": {
            "line": 3,
            "column": 19
          },
          "end": {
            "line": 3,
            "column": 35
          }
        },
        "value": "../core/events",
        "rawValue": "../core/events",
        "raw": "'../core/events'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 132,
      "end": 172,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 40
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 139,
          "end": 147,
          "loc": {
            "start": {
              "line": 4,
              "column": 7
            },
            "end": {
              "line": 4,
              "column": 15
            }
          },
          "local": {
            "type": "Identifier",
            "start": 139,
            "end": 147,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 15
              }
            },
            "name": "Renderer"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 153,
        "end": 171,
        "loc": {
          "start": {
            "line": 4,
            "column": 21
          },
          "end": {
            "line": 4,
            "column": 39
          }
        },
        "value": "../core/renderer",
        "rawValue": "../core/renderer",
        "raw": "'../core/renderer'"
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "* Global awv3 version ",
          "start": 176,
          "end": 202,
          "loc": {
            "start": {
              "line": 6,
              "column": 0
            },
            "end": {
              "line": 6,
              "column": 26
            }
          },
          "range": [
            176,
            202
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 204,
      "end": 233,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 29
        }
      },
      "declaration": {
        "type": "VariableDeclaration",
        "start": 211,
        "end": 233,
        "loc": {
          "start": {
            "line": 7,
            "column": 7
          },
          "end": {
            "line": 7,
            "column": 29
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 215,
            "end": 232,
            "loc": {
              "start": {
                "line": 7,
                "column": 11
              },
              "end": {
                "line": 7,
                "column": 28
              }
            },
            "id": {
              "type": "Identifier",
              "start": 215,
              "end": 222,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 11
                },
                "end": {
                  "line": 7,
                  "column": 18
                }
              },
              "name": "version",
              "leadingComments": null
            },
            "init": {
              "type": "Literal",
              "start": 225,
              "end": 232,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 21
                },
                "end": {
                  "line": 7,
                  "column": 28
                }
              },
              "value": "1.0.0",
              "rawValue": "1.0.0",
              "raw": "'1.0.0'"
            },
            "leadingComments": null
          }
        ],
        "kind": "let",
        "leadingComments": [
          {
            "type": "Block",
            "value": "* Global awv3 version ",
            "start": 176,
            "end": 202,
            "loc": {
              "start": {
                "line": 6,
                "column": 0
              },
              "end": {
                "line": 6,
                "column": 26
              }
            },
            "range": [
              176,
              202
            ]
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "* last created canvas ",
            "start": 235,
            "end": 261,
            "loc": {
              "start": {
                "line": 8,
                "column": 0
              },
              "end": {
                "line": 8,
                "column": 26
              }
            },
            "range": [
              235,
              261
            ]
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "Block",
          "value": "* Global awv3 version ",
          "start": 176,
          "end": 202,
          "loc": {
            "start": {
              "line": 6,
              "column": 0
            },
            "end": {
              "line": 6,
              "column": 26
            }
          },
          "range": [
            176,
            202
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "* last created canvas ",
          "start": 235,
          "end": 261,
          "loc": {
            "start": {
              "line": 8,
              "column": 0
            },
            "end": {
              "line": 8,
              "column": 26
            }
          },
          "range": [
            235,
            261
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 263,
      "end": 298,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 35
        }
      },
      "declaration": {
        "type": "VariableDeclaration",
        "start": 270,
        "end": 298,
        "loc": {
          "start": {
            "line": 9,
            "column": 7
          },
          "end": {
            "line": 9,
            "column": 35
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 274,
            "end": 297,
            "loc": {
              "start": {
                "line": 9,
                "column": 11
              },
              "end": {
                "line": 9,
                "column": 34
              }
            },
            "id": {
              "type": "Identifier",
              "start": 274,
              "end": 285,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 11
                },
                "end": {
                  "line": 9,
                  "column": 22
                }
              },
              "name": "lastCreated",
              "leadingComments": null
            },
            "init": {
              "type": "Identifier",
              "start": 288,
              "end": 297,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 25
                },
                "end": {
                  "line": 9,
                  "column": 34
                }
              },
              "name": "undefined"
            },
            "leadingComments": null
          }
        ],
        "kind": "let",
        "leadingComments": [
          {
            "type": "Block",
            "value": "* last created canvas ",
            "start": 235,
            "end": 261,
            "loc": {
              "start": {
                "line": 8,
                "column": 0
              },
              "end": {
                "line": 8,
                "column": 26
              }
            },
            "range": [
              235,
              261
            ]
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "* The Canvas class holds the webGL context and maps the underlying views.\r\n    It initializes it's own renderer, event system and parser. ",
            "start": 302,
            "end": 444,
            "loc": {
              "start": {
                "line": 11,
                "column": 0
              },
              "end": {
                "line": 12,
                "column": 65
              }
            },
            "range": [
              302,
              444
            ]
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "Block",
          "value": "* last created canvas ",
          "start": 235,
          "end": 261,
          "loc": {
            "start": {
              "line": 8,
              "column": 0
            },
            "end": {
              "line": 8,
              "column": 26
            }
          },
          "range": [
            235,
            261
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "* The Canvas class holds the webGL context and maps the underlying views.\r\n    It initializes it's own renderer, event system and parser. ",
          "start": 302,
          "end": 444,
          "loc": {
            "start": {
              "line": 11,
              "column": 0
            },
            "end": {
              "line": 12,
              "column": 65
            }
          },
          "range": [
            302,
            444
          ]
        }
      ]
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 446,
      "end": 6000,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 124,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 461,
        "end": 6000,
        "loc": {
          "start": {
            "line": 13,
            "column": 15
          },
          "end": {
            "line": 124,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 467,
          "end": 473,
          "loc": {
            "start": {
              "line": 13,
              "column": 21
            },
            "end": {
              "line": 13,
              "column": 27
            }
          },
          "name": "Canvas",
          "leadingComments": null
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 474,
          "end": 6000,
          "loc": {
            "start": {
              "line": 13,
              "column": 28
            },
            "end": {
              "line": 124,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 2409,
              "end": 5592,
              "loc": {
                "start": {
                  "line": 38,
                  "column": 4
                },
                "end": {
                  "line": 110,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2409,
                "end": 2420,
                "loc": {
                  "start": {
                    "line": 38,
                    "column": 4
                  },
                  "end": {
                    "line": 38,
                    "column": 15
                  }
                },
                "name": "constructor",
                "leadingComments": null
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 2420,
                "end": 5592,
                "loc": {
                  "start": {
                    "line": 38,
                    "column": 15
                  },
                  "end": {
                    "line": 110,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 2421,
                    "end": 2433,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 16
                      },
                      "end": {
                        "line": 38,
                        "column": 28
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 2421,
                      "end": 2428,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 16
                        },
                        "end": {
                          "line": 38,
                          "column": 23
                        }
                      },
                      "name": "options"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 2431,
                      "end": 2433,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 26
                        },
                        "end": {
                          "line": 38,
                          "column": 28
                        }
                      },
                      "properties": []
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2435,
                  "end": 5592,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 30
                    },
                    "end": {
                      "line": 110,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2477,
                      "end": 2500,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 8
                        },
                        "end": {
                          "line": 41,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2477,
                        "end": 2499,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 8
                          },
                          "end": {
                            "line": 41,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2477,
                          "end": 2489,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2477,
                            "end": 2481,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2482,
                            "end": 2489,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 13
                              },
                              "end": {
                                "line": 41,
                                "column": 20
                              }
                            },
                            "name": "version"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 2492,
                          "end": 2499,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 23
                            },
                            "end": {
                              "line": 41,
                              "column": 30
                            }
                          },
                          "name": "version"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "* awv3 version ",
                          "start": 2448,
                          "end": 2467,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 8
                            },
                            "end": {
                              "line": 40,
                              "column": 27
                            }
                          },
                          "range": [
                            2448,
                            2467
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "* GUID to help identify the canvas ",
                          "start": 2510,
                          "end": 2549,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 47
                            }
                          },
                          "range": [
                            2510,
                            2549
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2559,
                      "end": 2576,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 8
                        },
                        "end": {
                          "line": 43,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2559,
                        "end": 2575,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2559,
                          "end": 2566,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2559,
                            "end": 2563,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 8
                              },
                              "end": {
                                "line": 43,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2564,
                            "end": 2566,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 13
                              },
                              "end": {
                                "line": 43,
                                "column": 15
                              }
                            },
                            "name": "id"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2569,
                          "end": 2575,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 18
                            },
                            "end": {
                              "line": 43,
                              "column": 24
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2569,
                            "end": 2573,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 18
                              },
                              "end": {
                                "line": 43,
                                "column": 22
                              }
                            },
                            "name": "guid"
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "* GUID to help identify the canvas ",
                          "start": 2510,
                          "end": 2549,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 47
                            }
                          },
                          "range": [
                            2510,
                            2549
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "* List of managed views ",
                          "start": 2586,
                          "end": 2614,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 8
                            },
                            "end": {
                              "line": 44,
                              "column": 36
                            }
                          },
                          "range": [
                            2586,
                            2614
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2624,
                      "end": 2640,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 8
                        },
                        "end": {
                          "line": 45,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2624,
                        "end": 2639,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 8
                          },
                          "end": {
                            "line": 45,
                            "column": 23
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2624,
                          "end": 2634,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 45,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2624,
                            "end": 2628,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 8
                              },
                              "end": {
                                "line": 45,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2629,
                            "end": 2634,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 13
                              },
                              "end": {
                                "line": 45,
                                "column": 18
                              }
                            },
                            "name": "views"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 2637,
                          "end": 2639,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 21
                            },
                            "end": {
                              "line": 45,
                              "column": 23
                            }
                          },
                          "elements": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "* List of managed views ",
                          "start": 2586,
                          "end": 2614,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 8
                            },
                            "end": {
                              "line": 44,
                              "column": 36
                            }
                          },
                          "range": [
                            2586,
                            2614
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 2652,
                      "end": 2964,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 50,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 2656,
                        "end": 2668,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 12
                          },
                          "end": {
                            "line": 47,
                            "column": 24
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 2657,
                          "end": 2668,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 13
                            },
                            "end": {
                              "line": 47,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2657,
                            "end": 2664,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 13
                              },
                              "end": {
                                "line": 47,
                                "column": 20
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2665,
                            "end": 2668,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 21
                              },
                              "end": {
                                "line": 47,
                                "column": 24
                              }
                            },
                            "name": "dom"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2670,
                        "end": 2964,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 26
                          },
                          "end": {
                            "line": 50,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 2685,
                            "end": 2729,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 12
                              },
                              "end": {
                                "line": 48,
                                "column": 56
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 2685,
                              "end": 2728,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 12
                                },
                                "end": {
                                  "line": 48,
                                  "column": 55
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 2685,
                                "end": 2696,
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2685,
                                  "end": 2692,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 19
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2693,
                                  "end": 2696,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 23
                                    }
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 2699,
                                "end": 2728,
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 55
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2699,
                                  "end": 2721,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2699,
                                    "end": 2707,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 34
                                      }
                                    },
                                    "name": "document"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2708,
                                    "end": 2721,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 48
                                      }
                                    },
                                    "name": "createElement"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 2722,
                                    "end": 2727,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 54
                                      }
                                    },
                                    "value": "div",
                                    "rawValue": "div",
                                    "raw": "\"div\""
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 2743,
                            "end": 2953,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 12
                              },
                              "end": {
                                "line": 49,
                                "column": 222
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 2743,
                              "end": 2952,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 12
                                },
                                "end": {
                                  "line": 49,
                                  "column": 221
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 2743,
                                "end": 2768,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2743,
                                  "end": 2760,
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 2743,
                                    "end": 2754,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2743,
                                      "end": 2750,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 19
                                        }
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2751,
                                      "end": 2754,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 23
                                        }
                                      },
                                      "name": "dom"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2755,
                                    "end": 2760,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 29
                                      }
                                    },
                                    "name": "style"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2761,
                                  "end": 2768,
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 37
                                    }
                                  },
                                  "name": "cssText"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Literal",
                                "start": 2771,
                                "end": 2952,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 221
                                  }
                                },
                                "value": "position: relative; width: 100%; height: 100%; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;",
                                "rawValue": "position: relative; width: 100%; height: 100%; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;",
                                "raw": "\"position: relative; width: 100%; height: 100%; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;\""
                              }
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "* The dom node in which the canvas lives ",
                          "start": 2976,
                          "end": 3021,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 53
                            }
                          },
                          "range": [
                            2976,
                            3021
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3031,
                      "end": 3064,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3031,
                        "end": 3063,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 8
                          },
                          "end": {
                            "line": 53,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3031,
                          "end": 3039,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3031,
                            "end": 3035,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 8
                              },
                              "end": {
                                "line": 53,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3036,
                            "end": 3039,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 13
                              },
                              "end": {
                                "line": 53,
                                "column": 16
                              }
                            },
                            "name": "dom"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 3042,
                          "end": 3063,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 19
                            },
                            "end": {
                              "line": 53,
                              "column": 40
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3042,
                            "end": 3050,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 19
                              },
                              "end": {
                                "line": 53,
                                "column": 27
                              }
                            },
                            "name": "queryDom"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 3051,
                              "end": 3062,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 28
                                },
                                "end": {
                                  "line": 53,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3051,
                                "end": 3058,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 35
                                  }
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3059,
                                "end": 3062,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 39
                                  }
                                },
                                "name": "dom"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "* The dom node in which the canvas lives ",
                          "start": 2976,
                          "end": 3021,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 53
                            }
                          },
                          "range": [
                            2976,
                            3021
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3074,
                      "end": 3155,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 8
                        },
                        "end": {
                          "line": 54,
                          "column": 89
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3074,
                        "end": 3154,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 8
                          },
                          "end": {
                            "line": 54,
                            "column": 88
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3074,
                          "end": 3099,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3074,
                            "end": 3082,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 8
                              },
                              "end": {
                                "line": 54,
                                "column": 16
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3074,
                              "end": 3078,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 8
                                },
                                "end": {
                                  "line": 54,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3079,
                              "end": 3082,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 13
                                },
                                "end": {
                                  "line": 54,
                                  "column": 16
                                }
                              },
                              "name": "dom"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3083,
                            "end": 3099,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 17
                              },
                              "end": {
                                "line": 54,
                                "column": 33
                              }
                            },
                            "name": "addEventListener"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 3100,
                            "end": 3113,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 34
                              },
                              "end": {
                                "line": 54,
                                "column": 47
                              }
                            },
                            "value": "contextmenu",
                            "rawValue": "contextmenu",
                            "raw": "'contextmenu'"
                          },
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 3115,
                            "end": 3146,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 49
                              },
                              "end": {
                                "line": 54,
                                "column": 80
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 3115,
                                "end": 3120,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 54
                                  }
                                },
                                "name": "event"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 3124,
                              "end": 3146,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 58
                                },
                                "end": {
                                  "line": 54,
                                  "column": 80
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3124,
                                "end": 3144,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 78
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3124,
                                  "end": 3129,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 63
                                    }
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3130,
                                  "end": 3144,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 78
                                    }
                                  },
                                  "name": "preventDefault"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 3148,
                            "end": 3153,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 82
                              },
                              "end": {
                                "line": 54,
                                "column": 87
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "* Debug level for this canvas ",
                          "start": 3165,
                          "end": 3199,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 8
                            },
                            "end": {
                              "line": 55,
                              "column": 42
                            }
                          },
                          "range": [
                            3165,
                            3199
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3209,
                      "end": 3282,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 8
                        },
                        "end": {
                          "line": 56,
                          "column": 81
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3209,
                        "end": 3281,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 8
                          },
                          "end": {
                            "line": 56,
                            "column": 80
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3209,
                          "end": 3224,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3209,
                            "end": 3213,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 8
                              },
                              "end": {
                                "line": 56,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3214,
                            "end": 3224,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 13
                              },
                              "end": {
                                "line": 56,
                                "column": 23
                              }
                            },
                            "name": "debugLevel"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 3227,
                          "end": 3281,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 26
                            },
                            "end": {
                              "line": 56,
                              "column": 80
                            }
                          },
                          "left": {
                            "type": "LogicalExpression",
                            "start": 3227,
                            "end": 3276,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 26
                              },
                              "end": {
                                "line": 56,
                                "column": 75
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 3227,
                              "end": 3245,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 26
                                },
                                "end": {
                                  "line": 56,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3227,
                                "end": 3234,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 33
                                  }
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3235,
                                "end": 3245,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 44
                                  }
                                },
                                "name": "debugLevel"
                              },
                              "computed": false
                            },
                            "operator": "||",
                            "right": {
                              "type": "CallExpression",
                              "start": 3249,
                              "end": 3276,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 48
                                },
                                "end": {
                                  "line": 56,
                                  "column": 75
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 3249,
                                "end": 3257,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 56
                                  }
                                },
                                "name": "parseInt"
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 3258,
                                  "end": 3275,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 74
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 3258,
                                    "end": 3261,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 60
                                      }
                                    },
                                    "name": "url"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Literal",
                                      "start": 3262,
                                      "end": 3274,
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 73
                                        }
                                      },
                                      "value": "debugLevel",
                                      "rawValue": "debugLevel",
                                      "raw": "'debugLevel'"
                                    }
                                  ]
                                }
                              ]
                            }
                          },
                          "operator": "||",
                          "right": {
                            "type": "Literal",
                            "start": 3280,
                            "end": 3281,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 79
                              },
                              "end": {
                                "line": 56,
                                "column": 80
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "* Debug level for this canvas ",
                          "start": 3165,
                          "end": 3199,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 8
                            },
                            "end": {
                              "line": 55,
                              "column": 42
                            }
                          },
                          "range": [
                            3165,
                            3199
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 3294,
                      "end": 3820,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 8
                        },
                        "end": {
                          "line": 67,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 3298,
                        "end": 3310,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 12
                          },
                          "end": {
                            "line": 58,
                            "column": 24
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 3299,
                          "end": 3310,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 13
                            },
                            "end": {
                              "line": 58,
                              "column": 24
                            }
                          },
                          "name": "lastCreated"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 3312,
                        "end": 3820,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 26
                          },
                          "end": {
                            "line": 67,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 3327,
                            "end": 3494,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 12
                              },
                              "end": {
                                "line": 59,
                                "column": 179
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 3331,
                                "end": 3493,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 178
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 3331,
                                  "end": 3334,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 19
                                    }
                                  },
                                  "name": "tag"
                                },
                                "init": {
                                  "type": "TemplateLiteral",
                                  "start": 3337,
                                  "end": 3493,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 178
                                    }
                                  },
                                  "expressions": [
                                    {
                                      "type": "Identifier",
                                      "start": 3362,
                                      "end": 3369,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 54
                                        }
                                      },
                                      "name": "version"
                                    },
                                    {
                                      "type": "LogicalExpression",
                                      "start": 3387,
                                      "end": 3443,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 128
                                        }
                                      },
                                      "left": {
                                        "type": "LogicalExpression",
                                        "start": 3387,
                                        "end": 3438,
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 123
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 3387,
                                          "end": 3405,
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 59,
                                              "column": 90
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 3387,
                                            "end": 3394,
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 72
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 79
                                              }
                                            },
                                            "name": "options"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 3395,
                                            "end": 3405,
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 80
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 90
                                              }
                                            },
                                            "name": "resolution"
                                          },
                                          "computed": false
                                        },
                                        "operator": "||",
                                        "right": {
                                          "type": "CallExpression",
                                          "start": 3409,
                                          "end": 3438,
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 94
                                            },
                                            "end": {
                                              "line": 59,
                                              "column": 123
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 3409,
                                            "end": 3419,
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 94
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 104
                                              }
                                            },
                                            "name": "parseFloat"
                                          },
                                          "arguments": [
                                            {
                                              "type": "CallExpression",
                                              "start": 3420,
                                              "end": 3437,
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 105
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 122
                                                }
                                              },
                                              "callee": {
                                                "type": "Identifier",
                                                "start": 3420,
                                                "end": 3423,
                                                "loc": {
                                                  "start": {
                                                    "line": 59,
                                                    "column": 105
                                                  },
                                                  "end": {
                                                    "line": 59,
                                                    "column": 108
                                                  }
                                                },
                                                "name": "url"
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Literal",
                                                  "start": 3424,
                                                  "end": 3436,
                                                  "loc": {
                                                    "start": {
                                                      "line": 59,
                                                      "column": 109
                                                    },
                                                    "end": {
                                                      "line": 59,
                                                      "column": 121
                                                    }
                                                  },
                                                  "value": "resolution",
                                                  "rawValue": "resolution",
                                                  "raw": "'resolution'"
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      },
                                      "operator": "||",
                                      "right": {
                                        "type": "Literal",
                                        "start": 3442,
                                        "end": 3443,
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 127
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 128
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    },
                                    {
                                      "type": "LogicalExpression",
                                      "start": 3456,
                                      "end": 3490,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 141
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 175
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 3456,
                                        "end": 3485,
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 141
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 170
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 3456,
                                          "end": 3465,
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 141
                                            },
                                            "end": {
                                              "line": 59,
                                              "column": 150
                                            }
                                          },
                                          "name": "navigator"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3466,
                                          "end": 3485,
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 151
                                            },
                                            "end": {
                                              "line": 59,
                                              "column": 170
                                            }
                                          },
                                          "name": "hardwareConcurrency"
                                        },
                                        "computed": false
                                      },
                                      "operator": "||",
                                      "right": {
                                        "type": "Literal",
                                        "start": 3489,
                                        "end": 3490,
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 174
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 175
                                          }
                                        },
                                        "value": 4,
                                        "rawValue": 4,
                                        "raw": "4"
                                      }
                                    }
                                  ],
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "start": 3338,
                                      "end": 3360,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 45
                                        }
                                      },
                                      "value": {
                                        "raw": "%c AWV.3 %c ES2015 %c ",
                                        "cooked": "%c AWV.3 %c ES2015 %c "
                                      },
                                      "tail": false
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "start": 3370,
                                      "end": 3385,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 70
                                        }
                                      },
                                      "value": {
                                        "raw": " %c Resolution:",
                                        "cooked": " %c Resolution:"
                                      },
                                      "tail": false
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "start": 3444,
                                      "end": 3454,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 129
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 139
                                        }
                                      },
                                      "value": {
                                        "raw": " %c Cores:",
                                        "cooked": " %c Cores:"
                                      },
                                      "tail": false
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "start": 3491,
                                      "end": 3492,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 176
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 177
                                        }
                                      },
                                      "value": {
                                        "raw": " ",
                                        "cooked": " "
                                      },
                                      "tail": true
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 3508,
                            "end": 3809,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 12
                              },
                              "end": {
                                "line": 66,
                                "column": 14
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 3508,
                              "end": 3808,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 12
                                },
                                "end": {
                                  "line": 66,
                                  "column": 13
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3508,
                                "end": 3519,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3508,
                                  "end": 3515,
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 19
                                    }
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3516,
                                  "end": 3519,
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 23
                                    }
                                  },
                                  "name": "log"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 3520,
                                  "end": 3523,
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 27
                                    }
                                  },
                                  "name": "tag"
                                },
                                {
                                  "type": "Literal",
                                  "start": 3542,
                                  "end": 3576,
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 50
                                    }
                                  },
                                  "value": "background: black; color: white;",
                                  "rawValue": "background: black; color: white;",
                                  "raw": "'background: black; color: white;'"
                                },
                                {
                                  "type": "Literal",
                                  "start": 3595,
                                  "end": 3628,
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 49
                                    }
                                  },
                                  "value": "background: gray; color: white;",
                                  "rawValue": "background: gray; color: white;",
                                  "raw": "'background: gray; color: white;'"
                                },
                                {
                                  "type": "Literal",
                                  "start": 3647,
                                  "end": 3683,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 52
                                    }
                                  },
                                  "value": "background: #c23369; color: white;",
                                  "rawValue": "background: #c23369; color: white;",
                                  "raw": "'background: #c23369; color: white;'"
                                },
                                {
                                  "type": "Literal",
                                  "start": 3702,
                                  "end": 3738,
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 52
                                    }
                                  },
                                  "value": "background: #28d79f; color: white;",
                                  "rawValue": "background: #28d79f; color: white;",
                                  "raw": "'background: #28d79f; color: white;'"
                                },
                                {
                                  "type": "Literal",
                                  "start": 3757,
                                  "end": 3793,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 52
                                    }
                                  },
                                  "value": "background: #28b4d7; color: white;",
                                  "rawValue": "background: #28b4d7; color: white;",
                                  "raw": "'background: #28b4d7; color: white;'"
                                }
                              ]
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "* Global events using the {@link Events} class ",
                          "start": 3832,
                          "end": 3883,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 59
                            }
                          },
                          "range": [
                            3832,
                            3883
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3893,
                      "end": 3920,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 8
                        },
                        "end": {
                          "line": 70,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3893,
                        "end": 3919,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 8
                          },
                          "end": {
                            "line": 70,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3893,
                          "end": 3904,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3893,
                            "end": 3897,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 8
                              },
                              "end": {
                                "line": 70,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3898,
                            "end": 3904,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 13
                              },
                              "end": {
                                "line": 70,
                                "column": 19
                              }
                            },
                            "name": "events"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 3907,
                          "end": 3919,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 22
                            },
                            "end": {
                              "line": 70,
                              "column": 34
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3911,
                            "end": 3917,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 26
                              },
                              "end": {
                                "line": 70,
                                "column": 32
                              }
                            },
                            "name": "Events"
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "* Global events using the {@link Events} class ",
                          "start": 3832,
                          "end": 3883,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 59
                            }
                          },
                          "range": [
                            3832,
                            3883
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "* GL {@link Renderer} via three.js ",
                          "start": 3930,
                          "end": 3969,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 47
                            }
                          },
                          "range": [
                            3930,
                            3969
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3979,
                      "end": 4023,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 8
                        },
                        "end": {
                          "line": 72,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3979,
                        "end": 4022,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 8
                          },
                          "end": {
                            "line": 72,
                            "column": 51
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3979,
                          "end": 3992,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3979,
                            "end": 3983,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 8
                              },
                              "end": {
                                "line": 72,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3984,
                            "end": 3992,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 13
                              },
                              "end": {
                                "line": 72,
                                "column": 21
                              }
                            },
                            "name": "renderer"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 3995,
                          "end": 4022,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 24
                            },
                            "end": {
                              "line": 72,
                              "column": 51
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3999,
                            "end": 4007,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 28
                              },
                              "end": {
                                "line": 72,
                                "column": 36
                              }
                            },
                            "name": "Renderer"
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 4008,
                              "end": 4012,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 37
                                },
                                "end": {
                                  "line": 72,
                                  "column": 41
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "start": 4014,
                              "end": 4021,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 43
                                },
                                "end": {
                                  "line": 72,
                                  "column": 50
                                }
                              },
                              "name": "options"
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "* GL {@link Renderer} via three.js ",
                          "start": 3930,
                          "end": 3969,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 47
                            }
                          },
                          "range": [
                            3930,
                            3969
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "* {@link Parser} using webworkers to unpack and optimize compressed packages ",
                          "start": 4033,
                          "end": 4114,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 8
                            },
                            "end": {
                              "line": 73,
                              "column": 89
                            }
                          },
                          "range": [
                            4033,
                            4114
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4124,
                      "end": 4151,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 8
                        },
                        "end": {
                          "line": 74,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4124,
                        "end": 4150,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 8
                          },
                          "end": {
                            "line": 74,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4124,
                          "end": 4135,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4124,
                            "end": 4128,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 8
                              },
                              "end": {
                                "line": 74,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4129,
                            "end": 4135,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 13
                              },
                              "end": {
                                "line": 74,
                                "column": 19
                              }
                            },
                            "name": "parser"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 4138,
                          "end": 4150,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 22
                            },
                            "end": {
                              "line": 74,
                              "column": 34
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4142,
                            "end": 4148,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 26
                              },
                              "end": {
                                "line": 74,
                                "column": 32
                              }
                            },
                            "name": "Parser"
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "* {@link Parser} using webworkers to unpack and optimize compressed packages ",
                          "start": 4033,
                          "end": 4114,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 8
                            },
                            "end": {
                              "line": 73,
                              "column": 89
                            }
                          },
                          "range": [
                            4033,
                            4114
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "* Map of managed scopes.\r\n            This contains dom nodes with references to all the views influenced.\r\n            It is used internally to track changes in position and size.\r\n            @example\r\n            // Get all views affected for node #main\r\n            let array = canvas.scopes.get(document.querySelector('#main')); ",
                          "start": 4163,
                          "end": 4501,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 81,
                              "column": 78
                            }
                          },
                          "range": [
                            4163,
                            4501
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4511,
                      "end": 4535,
                      "loc": {
                        "start": {
                          "line": 82,
                          "column": 8
                        },
                        "end": {
                          "line": 82,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4511,
                        "end": 4534,
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 8
                          },
                          "end": {
                            "line": 82,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4511,
                          "end": 4522,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 8
                            },
                            "end": {
                              "line": 82,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4511,
                            "end": 4515,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 8
                              },
                              "end": {
                                "line": 82,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4516,
                            "end": 4522,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 13
                              },
                              "end": {
                                "line": 82,
                                "column": 19
                              }
                            },
                            "name": "scopes"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 4525,
                          "end": 4534,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 22
                            },
                            "end": {
                              "line": 82,
                              "column": 31
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4529,
                            "end": 4532,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 26
                              },
                              "end": {
                                "line": 82,
                                "column": 29
                              }
                            },
                            "name": "Map"
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "* Map of managed scopes.\r\n            This contains dom nodes with references to all the views influenced.\r\n            It is used internally to track changes in position and size.\r\n            @example\r\n            // Get all views affected for node #main\r\n            let array = canvas.scopes.get(document.querySelector('#main')); ",
                          "start": 4163,
                          "end": 4501,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 81,
                              "column": 78
                            }
                          },
                          "range": [
                            4163,
                            4501
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4545,
                      "end": 5292,
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 8
                        },
                        "end": {
                          "line": 99,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4545,
                        "end": 5291,
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 8
                          },
                          "end": {
                            "line": 99,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4545,
                          "end": 4558,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 8
                            },
                            "end": {
                              "line": 83,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4545,
                            "end": 4549,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 8
                              },
                              "end": {
                                "line": 83,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4550,
                            "end": 4558,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 13
                              },
                              "end": {
                                "line": 83,
                                "column": 21
                              }
                            },
                            "name": "observer"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 4561,
                          "end": 5291,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 24
                            },
                            "end": {
                              "line": 99,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4565,
                            "end": 4581,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 28
                              },
                              "end": {
                                "line": 83,
                                "column": 44
                              }
                            },
                            "name": "MutationObserver"
                          },
                          "arguments": [
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 4582,
                              "end": 5290,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 45
                                },
                                "end": {
                                  "line": 99,
                                  "column": 9
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 4582,
                                  "end": 4589,
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 52
                                    }
                                  },
                                  "name": "records"
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "start": 4593,
                                "end": 5290,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 99,
                                    "column": 9
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ForOfStatement",
                                    "start": 4608,
                                    "end": 5279,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 98,
                                        "column": 13
                                      }
                                    },
                                    "left": {
                                      "type": "VariableDeclaration",
                                      "start": 4613,
                                      "end": 4623,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 27
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 4617,
                                          "end": 4623,
                                          "loc": {
                                            "start": {
                                              "line": 84,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 84,
                                              "column": 27
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 4617,
                                            "end": 4623,
                                            "loc": {
                                              "start": {
                                                "line": 84,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 84,
                                                "column": 27
                                              }
                                            },
                                            "name": "record"
                                          },
                                          "init": null
                                        }
                                      ],
                                      "kind": "let"
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 4627,
                                      "end": 4634,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 38
                                        }
                                      },
                                      "name": "records"
                                    },
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4636,
                                      "end": 5279,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 98,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "IfStatement",
                                          "start": 4736,
                                          "end": 4962,
                                          "loc": {
                                            "start": {
                                              "line": 86,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 17
                                            }
                                          },
                                          "test": {
                                            "type": "LogicalExpression",
                                            "start": 4740,
                                            "end": 4802,
                                            "loc": {
                                              "start": {
                                                "line": 86,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 86,
                                                "column": 82
                                              }
                                            },
                                            "left": {
                                              "type": "BinaryExpression",
                                              "start": 4740,
                                              "end": 4768,
                                              "loc": {
                                                "start": {
                                                  "line": 86,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 86,
                                                  "column": 48
                                                }
                                              },
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 4740,
                                                "end": 4764,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 44
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4740,
                                                  "end": 4757,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 37
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 4740,
                                                    "end": 4746,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 26
                                                      }
                                                    },
                                                    "name": "record",
                                                    "leadingComments": null
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4747,
                                                    "end": 4757,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 37
                                                      }
                                                    },
                                                    "name": "addedNodes"
                                                  },
                                                  "computed": false,
                                                  "leadingComments": null
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4758,
                                                  "end": 4764,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 44
                                                    }
                                                  },
                                                  "name": "length"
                                                },
                                                "computed": false,
                                                "leadingComments": null
                                              },
                                              "operator": ">",
                                              "right": {
                                                "type": "Literal",
                                                "start": 4767,
                                                "end": 4768,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 48
                                                  }
                                                },
                                                "value": 0,
                                                "rawValue": 0,
                                                "raw": "0"
                                              },
                                              "leadingComments": null
                                            },
                                            "operator": "||",
                                            "right": {
                                              "type": "BinaryExpression",
                                              "start": 4772,
                                              "end": 4802,
                                              "loc": {
                                                "start": {
                                                  "line": 86,
                                                  "column": 52
                                                },
                                                "end": {
                                                  "line": 86,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 4772,
                                                "end": 4798,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 52
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 78
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4772,
                                                  "end": 4791,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 71
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 4772,
                                                    "end": 4778,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 52
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 58
                                                      }
                                                    },
                                                    "name": "record"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4779,
                                                    "end": 4791,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 59
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 71
                                                      }
                                                    },
                                                    "name": "removedNodes"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4792,
                                                  "end": 4798,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 72
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 78
                                                    }
                                                  },
                                                  "name": "length"
                                                },
                                                "computed": false
                                              },
                                              "operator": ">",
                                              "right": {
                                                "type": "Literal",
                                                "start": 4801,
                                                "end": 4802,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 81
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 82
                                                  }
                                                },
                                                "value": 0,
                                                "rawValue": 0,
                                                "raw": "0"
                                              }
                                            },
                                            "leadingComments": null
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "start": 4804,
                                            "end": 4962,
                                            "loc": {
                                              "start": {
                                                "line": 86,
                                                "column": 84
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 17
                                              }
                                            },
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 4827,
                                                "end": 4847,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 40
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 4827,
                                                  "end": 4846,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 39
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 4827,
                                                    "end": 4844,
                                                    "loc": {
                                                      "start": {
                                                        "line": 87,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 87,
                                                        "column": 37
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 4827,
                                                      "end": 4838,
                                                      "loc": {
                                                        "start": {
                                                          "line": 87,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 87,
                                                          "column": 31
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 4827,
                                                        "end": 4831,
                                                        "loc": {
                                                          "start": {
                                                            "line": 87,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 87,
                                                            "column": 24
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4832,
                                                        "end": 4838,
                                                        "loc": {
                                                          "start": {
                                                            "line": 87,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 87,
                                                            "column": 31
                                                          }
                                                        },
                                                        "name": "scopes"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4839,
                                                      "end": 4844,
                                                      "loc": {
                                                        "start": {
                                                          "line": 87,
                                                          "column": 32
                                                        },
                                                        "end": {
                                                          "line": 87,
                                                          "column": 37
                                                        }
                                                      },
                                                      "name": "clear"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": []
                                                }
                                              },
                                              {
                                                "type": "ForOfStatement",
                                                "start": 4869,
                                                "end": 4943,
                                                "loc": {
                                                  "start": {
                                                    "line": 88,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "VariableDeclaration",
                                                  "start": 4874,
                                                  "end": 4882,
                                                  "loc": {
                                                    "start": {
                                                      "line": 88,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 88,
                                                      "column": 33
                                                    }
                                                  },
                                                  "declarations": [
                                                    {
                                                      "type": "VariableDeclarator",
                                                      "start": 4878,
                                                      "end": 4882,
                                                      "loc": {
                                                        "start": {
                                                          "line": 88,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 88,
                                                          "column": 33
                                                        }
                                                      },
                                                      "id": {
                                                        "type": "Identifier",
                                                        "start": 4878,
                                                        "end": 4882,
                                                        "loc": {
                                                          "start": {
                                                            "line": 88,
                                                            "column": 29
                                                          },
                                                          "end": {
                                                            "line": 88,
                                                            "column": 33
                                                          }
                                                        },
                                                        "name": "view"
                                                      },
                                                      "init": null
                                                    }
                                                  ],
                                                  "kind": "let"
                                                },
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4886,
                                                  "end": 4896,
                                                  "loc": {
                                                    "start": {
                                                      "line": 88,
                                                      "column": 37
                                                    },
                                                    "end": {
                                                      "line": 88,
                                                      "column": 47
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4886,
                                                    "end": 4890,
                                                    "loc": {
                                                      "start": {
                                                        "line": 88,
                                                        "column": 37
                                                      },
                                                      "end": {
                                                        "line": 88,
                                                        "column": 41
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4891,
                                                    "end": 4896,
                                                    "loc": {
                                                      "start": {
                                                        "line": 88,
                                                        "column": 42
                                                      },
                                                      "end": {
                                                        "line": 88,
                                                        "column": 47
                                                      }
                                                    },
                                                    "name": "views"
                                                  },
                                                  "computed": false
                                                },
                                                "body": {
                                                  "type": "ExpressionStatement",
                                                  "start": 4923,
                                                  "end": 4943,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 44
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "start": 4923,
                                                    "end": 4942,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 43
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 4923,
                                                      "end": 4940,
                                                      "loc": {
                                                        "start": {
                                                          "line": 89,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 89,
                                                          "column": 41
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 4923,
                                                        "end": 4927,
                                                        "loc": {
                                                          "start": {
                                                            "line": 89,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 89,
                                                            "column": 28
                                                          }
                                                        },
                                                        "name": "view"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4928,
                                                        "end": 4940,
                                                        "loc": {
                                                          "start": {
                                                            "line": 89,
                                                            "column": 29
                                                          },
                                                          "end": {
                                                            "line": 89,
                                                            "column": 41
                                                          }
                                                        },
                                                        "name": "updateScopes"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": []
                                                  }
                                                }
                                              }
                                            ]
                                          },
                                          "alternate": null,
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": " Any hard mutation causes views to update their parent scopes",
                                              "start": 4655,
                                              "end": 4718,
                                              "loc": {
                                                "start": {
                                                  "line": 85,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 85,
                                                  "column": 79
                                                }
                                              },
                                              "range": [
                                                4655,
                                                4718
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "IfStatement",
                                          "start": 4982,
                                          "end": 5264,
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 97,
                                              "column": 17
                                            }
                                          },
                                          "test": {
                                            "type": "BinaryExpression",
                                            "start": 4986,
                                            "end": 5012,
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 92,
                                                "column": 46
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 4986,
                                              "end": 4999,
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 33
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4986,
                                                "end": 4992,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 26
                                                  }
                                                },
                                                "name": "record"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4993,
                                                "end": 4999,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 33
                                                  }
                                                },
                                                "name": "target"
                                              },
                                              "computed": false
                                            },
                                            "operator": "===",
                                            "right": {
                                              "type": "MemberExpression",
                                              "start": 5004,
                                              "end": 5012,
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 46
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 5004,
                                                "end": 5008,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 42
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5009,
                                                "end": 5012,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 46
                                                  }
                                                },
                                                "name": "dom"
                                              },
                                              "computed": false
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "start": 5014,
                                            "end": 5091,
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 94,
                                                "column": 17
                                              }
                                            },
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 5037,
                                                "end": 5072,
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 55
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 5037,
                                                  "end": 5071,
                                                  "loc": {
                                                    "start": {
                                                      "line": 93,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 93,
                                                      "column": 54
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 5037,
                                                    "end": 5067,
                                                    "loc": {
                                                      "start": {
                                                        "line": 93,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 93,
                                                        "column": 50
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 5037,
                                                      "end": 5050,
                                                      "loc": {
                                                        "start": {
                                                          "line": 93,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 93,
                                                          "column": 33
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 5037,
                                                        "end": 5041,
                                                        "loc": {
                                                          "start": {
                                                            "line": 93,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 93,
                                                            "column": 24
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 5042,
                                                        "end": 5050,
                                                        "loc": {
                                                          "start": {
                                                            "line": 93,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 93,
                                                            "column": 33
                                                          }
                                                        },
                                                        "name": "renderer"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 5051,
                                                      "end": 5067,
                                                      "loc": {
                                                        "start": {
                                                          "line": 93,
                                                          "column": 34
                                                        },
                                                        "end": {
                                                          "line": 93,
                                                          "column": 50
                                                        }
                                                      },
                                                      "name": "invalidateCanvas"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Literal",
                                                      "start": 5068,
                                                      "end": 5070,
                                                      "loc": {
                                                        "start": {
                                                          "line": 93,
                                                          "column": 51
                                                        },
                                                        "end": {
                                                          "line": 93,
                                                          "column": 53
                                                        }
                                                      },
                                                      "value": 30,
                                                      "rawValue": 30,
                                                      "raw": "30"
                                                    }
                                                  ]
                                                }
                                              }
                                            ]
                                          },
                                          "alternate": {
                                            "type": "BlockStatement",
                                            "start": 5097,
                                            "end": 5264,
                                            "loc": {
                                              "start": {
                                                "line": 94,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 97,
                                                "column": 17
                                              }
                                            },
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 5211,
                                                "end": 5245,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 54
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 5211,
                                                  "end": 5244,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 53
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 5211,
                                                    "end": 5240,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 49
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 5211,
                                                      "end": 5224,
                                                      "loc": {
                                                        "start": {
                                                          "line": 96,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 96,
                                                          "column": 33
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 5211,
                                                        "end": 5215,
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 24
                                                          }
                                                        },
                                                        "leadingComments": null
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 5216,
                                                        "end": 5224,
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 33
                                                          }
                                                        },
                                                        "name": "renderer"
                                                      },
                                                      "computed": false,
                                                      "leadingComments": null
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 5225,
                                                      "end": 5240,
                                                      "loc": {
                                                        "start": {
                                                          "line": 96,
                                                          "column": 34
                                                        },
                                                        "end": {
                                                          "line": 96,
                                                          "column": 49
                                                        }
                                                      },
                                                      "name": "invalidateViews"
                                                    },
                                                    "computed": false,
                                                    "leadingComments": null
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Literal",
                                                      "start": 5241,
                                                      "end": 5243,
                                                      "loc": {
                                                        "start": {
                                                          "line": 96,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 96,
                                                          "column": 52
                                                        }
                                                      },
                                                      "value": 30,
                                                      "rawValue": 30,
                                                      "raw": "30"
                                                    }
                                                  ],
                                                  "leadingComments": null
                                                },
                                                "leadingComments": [
                                                  {
                                                    "type": "CommentLine",
                                                    "value": " Invalidate views (means they'll have x frames to test for changes)",
                                                    "start": 5120,
                                                    "end": 5189,
                                                    "loc": {
                                                      "start": {
                                                        "line": 95,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 95,
                                                        "column": 89
                                                      }
                                                    },
                                                    "range": [
                                                      5120,
                                                      5189
                                                    ]
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    }
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5302,
                      "end": 5554,
                      "loc": {
                        "start": {
                          "line": 100,
                          "column": 8
                        },
                        "end": {
                          "line": 107,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5302,
                        "end": 5553,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 8
                          },
                          "end": {
                            "line": 107,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5302,
                          "end": 5323,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 8
                            },
                            "end": {
                              "line": 100,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5302,
                            "end": 5315,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 8
                              },
                              "end": {
                                "line": 100,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5302,
                              "end": 5306,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 8
                                },
                                "end": {
                                  "line": 100,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5307,
                              "end": 5315,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 13
                                },
                                "end": {
                                  "line": 100,
                                  "column": 21
                                }
                              },
                              "name": "observer"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5316,
                            "end": 5323,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 22
                              },
                              "end": {
                                "line": 100,
                                "column": 29
                              }
                            },
                            "name": "observe"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 5324,
                            "end": 5332,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 30
                              },
                              "end": {
                                "line": 100,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5324,
                              "end": 5328,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 30
                                },
                                "end": {
                                  "line": 100,
                                  "column": 34
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5329,
                              "end": 5332,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 35
                                },
                                "end": {
                                  "line": 100,
                                  "column": 38
                                }
                              },
                              "name": "dom"
                            },
                            "computed": false
                          },
                          {
                            "type": "ObjectExpression",
                            "start": 5334,
                            "end": 5552,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 40
                              },
                              "end": {
                                "line": 107,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 5349,
                                "end": 5364,
                                "loc": {
                                  "start": {
                                    "line": 101,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 27
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5349,
                                  "end": 5358,
                                  "loc": {
                                    "start": {
                                      "line": 101,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 101,
                                      "column": 21
                                    }
                                  },
                                  "name": "childList"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 5360,
                                  "end": 5364,
                                  "loc": {
                                    "start": {
                                      "line": 101,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 101,
                                      "column": 27
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 5379,
                                "end": 5392,
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 102,
                                    "column": 25
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5379,
                                  "end": 5386,
                                  "loc": {
                                    "start": {
                                      "line": 102,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 19
                                    }
                                  },
                                  "name": "subtree"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 5388,
                                  "end": 5392,
                                  "loc": {
                                    "start": {
                                      "line": 102,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 25
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 5407,
                                "end": 5423,
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 28
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5407,
                                  "end": 5417,
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 22
                                    }
                                  },
                                  "name": "attributes"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 5419,
                                  "end": 5423,
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 28
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 5438,
                                "end": 5459,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 33
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5438,
                                  "end": 5451,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 25
                                    }
                                  },
                                  "name": "characterData"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 5454,
                                  "end": 5459,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 33
                                    }
                                  },
                                  "value": false,
                                  "rawValue": false,
                                  "raw": "false"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 5474,
                                "end": 5498,
                                "loc": {
                                  "start": {
                                    "line": 105,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 105,
                                    "column": 36
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5474,
                                  "end": 5491,
                                  "loc": {
                                    "start": {
                                      "line": 105,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 29
                                    }
                                  },
                                  "name": "attributeOldValue"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 5493,
                                  "end": 5498,
                                  "loc": {
                                    "start": {
                                      "line": 105,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 36
                                    }
                                  },
                                  "value": false,
                                  "rawValue": false,
                                  "raw": "false"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 5513,
                                "end": 5541,
                                "loc": {
                                  "start": {
                                    "line": 106,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 40
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5513,
                                  "end": 5534,
                                  "loc": {
                                    "start": {
                                      "line": 106,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 106,
                                      "column": 33
                                    }
                                  },
                                  "name": "characterDataOldValue"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 5536,
                                  "end": 5541,
                                  "loc": {
                                    "start": {
                                      "line": 106,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 106,
                                      "column": 40
                                    }
                                  },
                                  "value": false,
                                  "rawValue": false,
                                  "raw": "false"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5566,
                      "end": 5585,
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 8
                        },
                        "end": {
                          "line": 109,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5566,
                        "end": 5584,
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 8
                          },
                          "end": {
                            "line": 109,
                            "column": 26
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 5566,
                          "end": 5577,
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 8
                            },
                            "end": {
                              "line": 109,
                              "column": 19
                            }
                          },
                          "name": "lastCreated"
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 5580,
                          "end": 5584,
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 22
                            },
                            "end": {
                              "line": 109,
                              "column": 26
                            }
                          }
                        }
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "* Construct a new Canvas\r\n        @param {Object} [options={}] - Options to initialize the Canvas with\r\n        @param {HTMLElement} [options.dom] - The HTML element in which the canvas will live. If this is empty a detached div element will be created that needs to be appended to the DOM manually. This may be the best option for viewmodel driven frameworks since the state can be exported out and held separtely to the 3d-control.\r\n        @param {Number} [options.debugLevel=0] - Console debugging levels\r\n        @param {Number} [options.resolution=1] - GL Canvas rasolution\r\n        @param {String} [options.place='first'] - Where to place the render-element, options are 'first' and 'last'\r\n        @param {Boolean} [options.startImmediately=true] - If true will run a requestAnimationFrame going into a loop. If false, it can be called manually (canvas,renderer.start();)\r\n        @param {THREE.Color} [options.clearColor=new THREE.Color(0)] - WebGL option\r\n        @param {String} [options.precision='highp'] - WebGL option\r\n        @param {Boolean} [options.premultipliedAlpha=true] - WebGL option\r\n        @param {Boolean} [options.stencil=true] - WebGL option\r\n        @param {Boolean} [options.depth=true] - WebGL option, depth buffer\r\n        @param {Boolean} [options.preserveDrawingBuffer=true] - WebGL option, retains draw calls, critical for multiple views\r\n        @param {Boolean} [options.alpha=true] - WebGL option, enables alpha cannel\r\n        @param {Boolean} [options.antialias=true] - WebGL option, enables aleasing\r\n        @param {Boolean} [options.logarithmicDepthBuffer=false] - WebGL option\r\n        @example\r\n        import Canvas from 'canvas';\r\n        // Create new canvas inside #main\r\n        const canvas = new Canvas({ dom: '#main' });\r\n        // Parse meshes\r\n        let context = await canvas.parser.stream('meshes.txt');\r\n        @returns {Object} The constructed Canvas ",
                  "start": 483,
                  "end": 2403,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 4
                    },
                    "end": {
                      "line": 37,
                      "column": 51
                    }
                  },
                  "range": [
                    483,
                    2403
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 5600,
              "end": 5997,
              "loc": {
                "start": {
                  "line": 112,
                  "column": 4
                },
                "end": {
                  "line": 123,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5600,
                "end": 5607,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 4
                  },
                  "end": {
                    "line": 112,
                    "column": 11
                  }
                },
                "name": "destroy"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5607,
                "end": 5997,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 11
                  },
                  "end": {
                    "line": 123,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5610,
                  "end": 5997,
                  "loc": {
                    "start": {
                      "line": 112,
                      "column": 14
                    },
                    "end": {
                      "line": 123,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5621,
                      "end": 5648,
                      "loc": {
                        "start": {
                          "line": 113,
                          "column": 8
                        },
                        "end": {
                          "line": 113,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5621,
                        "end": 5647,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 8
                          },
                          "end": {
                            "line": 113,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5621,
                          "end": 5645,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 8
                            },
                            "end": {
                              "line": 113,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5621,
                            "end": 5634,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 8
                              },
                              "end": {
                                "line": 113,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5621,
                              "end": 5625,
                              "loc": {
                                "start": {
                                  "line": 113,
                                  "column": 8
                                },
                                "end": {
                                  "line": 113,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5626,
                              "end": 5634,
                              "loc": {
                                "start": {
                                  "line": 113,
                                  "column": 13
                                },
                                "end": {
                                  "line": 113,
                                  "column": 21
                                }
                              },
                              "name": "observer"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5635,
                            "end": 5645,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 22
                              },
                              "end": {
                                "line": 113,
                                "column": 32
                              }
                            },
                            "name": "disconnect"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5658,
                      "end": 5684,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 8
                        },
                        "end": {
                          "line": 114,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5658,
                        "end": 5683,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 8
                          },
                          "end": {
                            "line": 114,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5658,
                          "end": 5671,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 8
                            },
                            "end": {
                              "line": 114,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5658,
                            "end": 5662,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 8
                              },
                              "end": {
                                "line": 114,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5663,
                            "end": 5671,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 13
                              },
                              "end": {
                                "line": 114,
                                "column": 21
                              }
                            },
                            "name": "observer"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5674,
                          "end": 5683,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 24
                            },
                            "end": {
                              "line": 114,
                              "column": 33
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5694,
                      "end": 5718,
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 8
                        },
                        "end": {
                          "line": 115,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5694,
                        "end": 5717,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 8
                          },
                          "end": {
                            "line": 115,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5694,
                          "end": 5705,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 8
                            },
                            "end": {
                              "line": 115,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5694,
                            "end": 5698,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 8
                              },
                              "end": {
                                "line": 115,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5699,
                            "end": 5705,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 13
                              },
                              "end": {
                                "line": 115,
                                "column": 19
                              }
                            },
                            "name": "scopes"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5708,
                          "end": 5717,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 22
                            },
                            "end": {
                              "line": 115,
                              "column": 31
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5728,
                      "end": 5771,
                      "loc": {
                        "start": {
                          "line": 116,
                          "column": 8
                        },
                        "end": {
                          "line": 116,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5728,
                        "end": 5770,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 8
                          },
                          "end": {
                            "line": 116,
                            "column": 50
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5728,
                          "end": 5746,
                          "loc": {
                            "start": {
                              "line": 116,
                              "column": 8
                            },
                            "end": {
                              "line": 116,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5728,
                            "end": 5738,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 8
                              },
                              "end": {
                                "line": 116,
                                "column": 18
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5728,
                              "end": 5732,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 8
                                },
                                "end": {
                                  "line": 116,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5733,
                              "end": 5738,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 13
                                },
                                "end": {
                                  "line": 116,
                                  "column": 18
                                }
                              },
                              "name": "views"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5739,
                            "end": 5746,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 19
                              },
                              "end": {
                                "line": 116,
                                "column": 26
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 5747,
                            "end": 5769,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 27
                              },
                              "end": {
                                "line": 116,
                                "column": 49
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 5747,
                                "end": 5751,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 31
                                  }
                                },
                                "name": "view"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 5755,
                              "end": 5769,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 35
                                },
                                "end": {
                                  "line": 116,
                                  "column": 49
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 5755,
                                "end": 5767,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5755,
                                  "end": 5759,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 39
                                    }
                                  },
                                  "name": "view"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5760,
                                  "end": 5767,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 47
                                    }
                                  },
                                  "name": "destroy"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5781,
                      "end": 5805,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 8
                        },
                        "end": {
                          "line": 117,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5781,
                        "end": 5804,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 8
                          },
                          "end": {
                            "line": 117,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5781,
                          "end": 5792,
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 8
                            },
                            "end": {
                              "line": 117,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5781,
                            "end": 5785,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 8
                              },
                              "end": {
                                "line": 117,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5786,
                            "end": 5792,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 13
                              },
                              "end": {
                                "line": 117,
                                "column": 19
                              }
                            },
                            "name": "parser"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5795,
                          "end": 5804,
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 22
                            },
                            "end": {
                              "line": 117,
                              "column": 31
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5815,
                      "end": 5839,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 8
                        },
                        "end": {
                          "line": 118,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5815,
                        "end": 5838,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 8
                          },
                          "end": {
                            "line": 118,
                            "column": 31
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5815,
                          "end": 5836,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 8
                            },
                            "end": {
                              "line": 118,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5815,
                            "end": 5828,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 8
                              },
                              "end": {
                                "line": 118,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5815,
                              "end": 5819,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 8
                                },
                                "end": {
                                  "line": 118,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5820,
                              "end": 5828,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 13
                                },
                                "end": {
                                  "line": 118,
                                  "column": 21
                                }
                              },
                              "name": "renderer"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5829,
                            "end": 5836,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 22
                              },
                              "end": {
                                "line": 118,
                                "column": 29
                              }
                            },
                            "name": "destroy"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5849,
                      "end": 5875,
                      "loc": {
                        "start": {
                          "line": 119,
                          "column": 8
                        },
                        "end": {
                          "line": 119,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5849,
                        "end": 5874,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 8
                          },
                          "end": {
                            "line": 119,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5849,
                          "end": 5862,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 8
                            },
                            "end": {
                              "line": 119,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5849,
                            "end": 5853,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 8
                              },
                              "end": {
                                "line": 119,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5854,
                            "end": 5862,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 13
                              },
                              "end": {
                                "line": 119,
                                "column": 21
                              }
                            },
                            "name": "renderer"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5865,
                          "end": 5874,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 24
                            },
                            "end": {
                              "line": 119,
                              "column": 33
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5885,
                      "end": 5915,
                      "loc": {
                        "start": {
                          "line": 120,
                          "column": 8
                        },
                        "end": {
                          "line": 120,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5885,
                        "end": 5914,
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 8
                          },
                          "end": {
                            "line": 120,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5885,
                          "end": 5912,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 8
                            },
                            "end": {
                              "line": 120,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5885,
                            "end": 5896,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 8
                              },
                              "end": {
                                "line": 120,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5885,
                              "end": 5889,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 8
                                },
                                "end": {
                                  "line": 120,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5890,
                              "end": 5896,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 13
                                },
                                "end": {
                                  "line": 120,
                                  "column": 19
                                }
                              },
                              "name": "events"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5897,
                            "end": 5912,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 20
                              },
                              "end": {
                                "line": 120,
                                "column": 35
                              }
                            },
                            "name": "removeListeners"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5925,
                      "end": 5956,
                      "loc": {
                        "start": {
                          "line": 121,
                          "column": 8
                        },
                        "end": {
                          "line": 121,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5925,
                        "end": 5955,
                        "loc": {
                          "start": {
                            "line": 121,
                            "column": 8
                          },
                          "end": {
                            "line": 121,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5925,
                          "end": 5953,
                          "loc": {
                            "start": {
                              "line": 121,
                              "column": 8
                            },
                            "end": {
                              "line": 121,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5925,
                            "end": 5936,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 8
                              },
                              "end": {
                                "line": 121,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5925,
                              "end": 5929,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 8
                                },
                                "end": {
                                  "line": 121,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5930,
                              "end": 5936,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 13
                                },
                                "end": {
                                  "line": 121,
                                  "column": 19
                                }
                              },
                              "name": "events"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5937,
                            "end": 5953,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 20
                              },
                              "end": {
                                "line": 121,
                                "column": 36
                              }
                            },
                            "name": "removeInspectors"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5966,
                      "end": 5990,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 8
                        },
                        "end": {
                          "line": 122,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5966,
                        "end": 5989,
                        "loc": {
                          "start": {
                            "line": 122,
                            "column": 8
                          },
                          "end": {
                            "line": 122,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5966,
                          "end": 5977,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 8
                            },
                            "end": {
                              "line": 122,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5966,
                            "end": 5970,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 8
                              },
                              "end": {
                                "line": 122,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5971,
                            "end": 5977,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 13
                              },
                              "end": {
                                "line": 122,
                                "column": 19
                              }
                            },
                            "name": "events"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5980,
                          "end": 5989,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 22
                            },
                            "end": {
                              "line": 122,
                              "column": 31
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "* The Canvas class holds the webGL context and maps the underlying views.\r\n    It initializes it's own renderer, event system and parser. ",
            "start": 302,
            "end": 444,
            "loc": {
              "start": {
                "line": 11,
                "column": 0
              },
              "end": {
                "line": 12,
                "column": 65
              }
            },
            "range": [
              302,
              444
            ]
          }
        ],
        "trailingComments": []
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "* The Canvas class holds the webGL context and maps the underlying views.\r\n    It initializes it's own renderer, event system and parser. ",
          "start": 302,
          "end": 444,
          "loc": {
            "start": {
              "line": 11,
              "column": 0
            },
            "end": {
              "line": 12,
              "column": 65
            }
          },
          "range": [
            302,
            444
          ]
        }
      ]
    }
  ]
}