{
  "type": "Program",
  "body": [
    {
      "type": "ExportDefaultDeclaration",
      "declaration": {
        "type": "ClassDeclaration",
        "id": {
          "type": "Identifier",
          "name": "BaseStats",
          "range": [
            292,
            301
          ],
          "loc": {
            "start": {
              "line": 10,
              "column": 21
            },
            "end": {
              "line": 10,
              "column": 30
            }
          }
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "body": [
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "constructor",
                "range": [
                  306,
                  317
                ],
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 2
                  },
                  "end": {
                    "line": 11,
                    "column": 13
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              326,
                              330
                            ],
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 4
                              },
                              "end": {
                                "line": 12,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_collectors",
                            "range": [
                              331,
                              342
                            ],
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 9
                              },
                              "end": {
                                "line": 12,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            326,
                            342
                          ],
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 4
                            },
                            "end": {
                              "line": 12,
                              "column": 20
                            }
                          }
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "properties": [],
                          "range": [
                            345,
                            347
                          ],
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 23
                            },
                            "end": {
                              "line": 12,
                              "column": 25
                            }
                          }
                        },
                        "range": [
                          326,
                          347
                        ],
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 4
                          },
                          "end": {
                            "line": 12,
                            "column": 25
                          }
                        }
                      },
                      "range": [
                        326,
                        348
                      ],
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 4
                        },
                        "end": {
                          "line": 12,
                          "column": 26
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              353,
                              357
                            ],
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 4
                              },
                              "end": {
                                "line": 13,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_collectorNames",
                            "range": [
                              358,
                              373
                            ],
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 9
                              },
                              "end": {
                                "line": 13,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            353,
                            373
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 4
                            },
                            "end": {
                              "line": 13,
                              "column": 24
                            }
                          }
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "elements": [],
                          "range": [
                            376,
                            378
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 27
                            },
                            "end": {
                              "line": 13,
                              "column": 29
                            }
                          }
                        },
                        "range": [
                          353,
                          378
                        ],
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 4
                          },
                          "end": {
                            "line": 13,
                            "column": 29
                          }
                        }
                      },
                      "range": [
                        353,
                        379
                      ],
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 4
                        },
                        "end": {
                          "line": 13,
                          "column": 30
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              384,
                              388
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 4
                              },
                              "end": {
                                "line": 14,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_processCount",
                            "range": [
                              389,
                              402
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 9
                              },
                              "end": {
                                "line": 14,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            384,
                            402
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 4
                            },
                            "end": {
                              "line": 14,
                              "column": 22
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": 0,
                          "raw": "0",
                          "range": [
                            405,
                            406
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 25
                            },
                            "end": {
                              "line": 14,
                              "column": 26
                            }
                          }
                        },
                        "range": [
                          384,
                          406
                        ],
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 4
                          },
                          "end": {
                            "line": 14,
                            "column": 26
                          }
                        }
                      },
                      "range": [
                        384,
                        407
                      ],
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 4
                        },
                        "end": {
                          "line": 14,
                          "column": 27
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              412,
                              416
                            ],
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 4
                              },
                              "end": {
                                "line": 15,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_processFilteredCount",
                            "range": [
                              417,
                              438
                            ],
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 9
                              },
                              "end": {
                                "line": 15,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            412,
                            438
                          ],
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 4
                            },
                            "end": {
                              "line": 15,
                              "column": 30
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": 0,
                          "raw": "0",
                          "range": [
                            441,
                            442
                          ],
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 33
                            },
                            "end": {
                              "line": 15,
                              "column": 34
                            }
                          }
                        },
                        "range": [
                          412,
                          442
                        ],
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 4
                          },
                          "end": {
                            "line": 15,
                            "column": 34
                          }
                        }
                      },
                      "range": [
                        412,
                        443
                      ],
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 4
                        },
                        "end": {
                          "line": 15,
                          "column": 35
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              448,
                              452
                            ],
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 4
                              },
                              "end": {
                                "line": 16,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_state",
                            "range": [
                              453,
                              459
                            ],
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 9
                              },
                              "end": {
                                "line": 16,
                                "column": 15
                              }
                            }
                          },
                          "range": [
                            448,
                            459
                          ],
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 4
                            },
                            "end": {
                              "line": 16,
                              "column": 15
                            }
                          }
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "properties": [],
                          "range": [
                            462,
                            464
                          ],
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 18
                            },
                            "end": {
                              "line": 16,
                              "column": 20
                            }
                          }
                        },
                        "range": [
                          448,
                          464
                        ],
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 4
                          },
                          "end": {
                            "line": 16,
                            "column": 20
                          }
                        }
                      },
                      "range": [
                        448,
                        465
                      ],
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 4
                        },
                        "end": {
                          "line": 16,
                          "column": 21
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              470,
                              474
                            ],
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 4
                              },
                              "end": {
                                "line": 17,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_ignore",
                            "range": [
                              475,
                              482
                            ],
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 9
                              },
                              "end": {
                                "line": 17,
                                "column": 16
                              }
                            }
                          },
                          "range": [
                            470,
                            482
                          ],
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 4
                            },
                            "end": {
                              "line": 17,
                              "column": 16
                            }
                          }
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "elements": [],
                          "range": [
                            485,
                            487
                          ],
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 19
                            },
                            "end": {
                              "line": 17,
                              "column": 21
                            }
                          }
                        },
                        "range": [
                          470,
                          487
                        ],
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 4
                          },
                          "end": {
                            "line": 17,
                            "column": 21
                          }
                        }
                      },
                      "range": [
                        470,
                        488
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 4
                        },
                        "end": {
                          "line": 17,
                          "column": 22
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              493,
                              497
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 4
                              },
                              "end": {
                                "line": 18,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_filters",
                            "range": [
                              498,
                              506
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 9
                              },
                              "end": {
                                "line": 18,
                                "column": 17
                              }
                            }
                          },
                          "range": [
                            493,
                            506
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 4
                            },
                            "end": {
                              "line": 18,
                              "column": 17
                            }
                          }
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "elements": [],
                          "range": [
                            509,
                            511
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 20
                            },
                            "end": {
                              "line": 18,
                              "column": 22
                            }
                          }
                        },
                        "range": [
                          493,
                          511
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 4
                          },
                          "end": {
                            "line": 18,
                            "column": 22
                          }
                        }
                      },
                      "range": [
                        493,
                        512
                      ],
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 4
                        },
                        "end": {
                          "line": 18,
                          "column": 23
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              517,
                              521
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 4
                              },
                              "end": {
                                "line": 19,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_handleProcessList",
                            "range": [
                              522,
                              540
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 9
                              },
                              "end": {
                                "line": 19,
                                "column": 27
                              }
                            }
                          },
                          "range": [
                            517,
                            540
                          ],
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 4
                            },
                            "end": {
                              "line": 19,
                              "column": 27
                            }
                          }
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "elements": [],
                          "range": [
                            543,
                            545
                          ],
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 30
                            },
                            "end": {
                              "line": 19,
                              "column": 32
                            }
                          }
                        },
                        "range": [
                          517,
                          545
                        ],
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 4
                          },
                          "end": {
                            "line": 19,
                            "column": 32
                          }
                        }
                      },
                      "range": [
                        517,
                        546
                      ],
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 4
                        },
                        "end": {
                          "line": 19,
                          "column": 33
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              551,
                              555
                            ],
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 4
                              },
                              "end": {
                                "line": 20,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_handleGetList",
                            "range": [
                              556,
                              570
                            ],
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 9
                              },
                              "end": {
                                "line": 20,
                                "column": 23
                              }
                            }
                          },
                          "range": [
                            551,
                            570
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 4
                            },
                            "end": {
                              "line": 20,
                              "column": 23
                            }
                          }
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "elements": [],
                          "range": [
                            573,
                            575
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 26
                            },
                            "end": {
                              "line": 20,
                              "column": 28
                            }
                          }
                        },
                        "range": [
                          551,
                          575
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 4
                          },
                          "end": {
                            "line": 20,
                            "column": 28
                          }
                        }
                      },
                      "range": [
                        551,
                        576
                      ],
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 4
                        },
                        "end": {
                          "line": 20,
                          "column": 29
                        }
                      }
                    }
                  ],
                  "range": [
                    320,
                    580
                  ],
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 16
                    },
                    "end": {
                      "line": 21,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  317,
                  580
                ],
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 13
                  },
                  "end": {
                    "line": 21,
                    "column": 3
                  }
                }
              },
              "kind": "constructor",
              "computed": false,
              "range": [
                306,
                580
              ],
              "loc": {
                "start": {
                  "line": 11,
                  "column": 2
                },
                "end": {
                  "line": 21,
                  "column": 3
                }
              },
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Add a collector function that can process data\n   * when process() or get() is called.\n   * @param {Object} collector An object with the following properties:\n   *   - **name** - [String] The name of the collector\n   *   - **initialValue** - [any] The initial value if update() has never been called\n   *   - **requirements** - [Array] An array of collector names that must be added before this collector\n   *   - **handleProcess** - [Function]\n   *   - **handleGet** - [Function]\n   * @example\n   * const stats = new BaseStats();\n   * stats.addCollector({\n   *   name: 'test-sum',\n   *   initialValue: 0,\n   *   requirements: [],\n   *   handleUpdate: function (prev, state, val) { return prev + val; }\n   * });\n   * @return {undefined}\n   ",
                  "range": [
                    583,
                    1334
                  ],
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 2
                    },
                    "end": {
                      "line": 40,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "addCollector",
                "range": [
                  1337,
                  1349
                ],
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 2
                  },
                  "end": {
                    "line": 41,
                    "column": 14
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "collector",
                    "range": [
                      1350,
                      1359
                    ],
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 15
                      },
                      "end": {
                        "line": 41,
                        "column": 24
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "self",
                            "range": [
                              1373,
                              1377
                            ],
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 10
                              },
                              "end": {
                                "line": 42,
                                "column": 14
                              }
                            }
                          },
                          "init": {
                            "type": "ThisExpression",
                            "range": [
                              1380,
                              1384
                            ],
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 17
                              },
                              "end": {
                                "line": 42,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            1373,
                            1384
                          ],
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 10
                            },
                            "end": {
                              "line": 42,
                              "column": 21
                            }
                          }
                        }
                      ],
                      "kind": "const",
                      "range": [
                        1367,
                        1385
                      ],
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 4
                        },
                        "end": {
                          "line": 42,
                          "column": 22
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "BinaryExpression",
                        "operator": ">",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "self",
                            "range": [
                              1394,
                              1398
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 8
                              },
                              "end": {
                                "line": 43,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_processCount",
                            "range": [
                              1399,
                              1412
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 13
                              },
                              "end": {
                                "line": 43,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            1394,
                            1412
                          ],
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 26
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": 0,
                          "raw": "0",
                          "range": [
                            1415,
                            1416
                          ],
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 29
                            },
                            "end": {
                              "line": 43,
                              "column": 30
                            }
                          }
                        },
                        "range": [
                          1394,
                          1416
                        ],
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 30
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Error",
                                "range": [
                                  1436,
                                  1441
                                ],
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 21
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "value": "Cannot add a new collector unless you call reset() first",
                                  "raw": "'Cannot add a new collector unless you call reset() first'",
                                  "range": [
                                    1442,
                                    1500
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 80
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1432,
                                1501
                              ],
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 12
                                },
                                "end": {
                                  "line": 44,
                                  "column": 81
                                }
                              }
                            },
                            "range": [
                              1426,
                              1502
                            ],
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 6
                              },
                              "end": {
                                "line": 44,
                                "column": 82
                              }
                            }
                          }
                        ],
                        "range": [
                          1418,
                          1508
                        ],
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 32
                          },
                          "end": {
                            "line": 45,
                            "column": 5
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        1390,
                        1508
                      ],
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 4
                        },
                        "end": {
                          "line": 45,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "LogicalExpression",
                        "operator": "&&",
                        "left": {
                          "type": "LogicalExpression",
                          "operator": "&&",
                          "left": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "collector",
                                "range": [
                                  1517,
                                  1526
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 17
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "hasOwnProperty",
                                "range": [
                                  1527,
                                  1541
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 32
                                  }
                                }
                              },
                              "range": [
                                1517,
                                1541
                              ],
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 8
                                },
                                "end": {
                                  "line": 46,
                                  "column": 32
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "value": "name",
                                "raw": "'name'",
                                "range": [
                                  1542,
                                  1548
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 39
                                  }
                                }
                              }
                            ],
                            "range": [
                              1517,
                              1549
                            ],
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 40
                              }
                            }
                          },
                          "right": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "collector",
                                "range": [
                                  1559,
                                  1568
                                ],
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 15
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "hasOwnProperty",
                                "range": [
                                  1569,
                                  1583
                                ],
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 30
                                  }
                                }
                              },
                              "range": [
                                1559,
                                1583
                              ],
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 6
                                },
                                "end": {
                                  "line": 47,
                                  "column": 30
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "value": "initialValue",
                                "raw": "'initialValue'",
                                "range": [
                                  1584,
                                  1598
                                ],
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 45
                                  }
                                }
                              }
                            ],
                            "range": [
                              1559,
                              1599
                            ],
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 6
                              },
                              "end": {
                                "line": 47,
                                "column": 46
                              }
                            }
                          },
                          "range": [
                            1517,
                            1599
                          ],
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 47,
                              "column": 46
                            }
                          }
                        },
                        "right": {
                          "type": "CallExpression",
                          "callee": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "collector",
                              "range": [
                                1609,
                                1618
                              ],
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 6
                                },
                                "end": {
                                  "line": 48,
                                  "column": 15
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "hasOwnProperty",
                              "range": [
                                1619,
                                1633
                              ],
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 16
                                },
                                "end": {
                                  "line": 48,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              1609,
                              1633
                            ],
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 6
                              },
                              "end": {
                                "line": 48,
                                "column": 30
                              }
                            }
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "value": "requirements",
                              "raw": "'requirements'",
                              "range": [
                                1634,
                                1648
                              ],
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 31
                                },
                                "end": {
                                  "line": 48,
                                  "column": 45
                                }
                              }
                            }
                          ],
                          "range": [
                            1609,
                            1649
                          ],
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 6
                            },
                            "end": {
                              "line": 48,
                              "column": 46
                            }
                          }
                        },
                        "range": [
                          1517,
                          1649
                        ],
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 48,
                            "column": 46
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "id": {
                                  "type": "Identifier",
                                  "name": "reqIndex",
                                  "range": [
                                    1663,
                                    1671
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 18
                                    }
                                  }
                                },
                                "init": null,
                                "range": [
                                  1663,
                                  1671
                                ],
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 18
                                  }
                                }
                              }
                            ],
                            "kind": "let",
                            "range": [
                              1659,
                              1672
                            ],
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 6
                              },
                              "end": {
                                "line": 49,
                                "column": 19
                              }
                            }
                          },
                          {
                            "type": "VariableDeclaration",
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "id": {
                                  "type": "Identifier",
                                  "name": "requirements",
                                  "range": [
                                    1683,
                                    1695
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 22
                                    }
                                  }
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "collector",
                                    "range": [
                                      1698,
                                      1707
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 50,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 50,
                                        "column": 34
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "requirements",
                                    "range": [
                                      1708,
                                      1720
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 50,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 50,
                                        "column": 47
                                      }
                                    }
                                  },
                                  "range": [
                                    1698,
                                    1720
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 47
                                    }
                                  }
                                },
                                "range": [
                                  1683,
                                  1720
                                ],
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 47
                                  }
                                }
                              }
                            ],
                            "kind": "let",
                            "range": [
                              1679,
                              1721
                            ],
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 6
                              },
                              "end": {
                                "line": 50,
                                "column": 48
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "UnaryExpression",
                              "operator": "!",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "Array",
                                    "range": [
                                      1733,
                                      1738
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 51,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "isArray",
                                    "range": [
                                      1739,
                                      1746
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 51,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "range": [
                                    1733,
                                    1746
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 24
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "requirements",
                                    "range": [
                                      1747,
                                      1759
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 51,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 37
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1733,
                                  1760
                                ],
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 38
                                  }
                                }
                              },
                              "prefix": true,
                              "range": [
                                1732,
                                1760
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 10
                                },
                                "end": {
                                  "line": 51,
                                  "column": 38
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ThrowStatement",
                                  "argument": {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "Error",
                                      "range": [
                                        1782,
                                        1787
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "value": "The collector's requirements need to be an array.",
                                        "raw": "'The collector\\'s requirements need to be an array.'",
                                        "range": [
                                          1788,
                                          1840
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 76
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      1778,
                                      1841
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 77
                                      }
                                    }
                                  },
                                  "range": [
                                    1772,
                                    1842
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 78
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1762,
                                1850
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 40
                                },
                                "end": {
                                  "line": 53,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": null,
                            "range": [
                              1728,
                              1850
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 6
                              },
                              "end": {
                                "line": 53,
                                "column": 7
                              }
                            },
                            "trailingComments": [
                              {
                                "type": "Line",
                                "value": " make a copy",
                                "range": [
                                  1857,
                                  1871
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 20
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "name": "requirements",
                                "range": [
                                  1878,
                                  1890
                                ],
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 18
                                  }
                                }
                              },
                              "right": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "requirements",
                                    "range": [
                                      1893,
                                      1905
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "slice",
                                    "range": [
                                      1906,
                                      1911
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 39
                                      }
                                    }
                                  },
                                  "range": [
                                    1893,
                                    1911
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 39
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "value": 0,
                                    "raw": "0",
                                    "range": [
                                      1912,
                                      1913
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 41
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1893,
                                  1914
                                ],
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 42
                                  }
                                }
                              },
                              "range": [
                                1878,
                                1914
                              ],
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 6
                                },
                                "end": {
                                  "line": 55,
                                  "column": 42
                                }
                              }
                            },
                            "range": [
                              1878,
                              1915
                            ],
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 6
                              },
                              "end": {
                                "line": 55,
                                "column": 43
                              }
                            },
                            "leadingComments": [
                              {
                                "type": "Line",
                                "value": " make a copy",
                                "range": [
                                  1857,
                                  1871
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 20
                                  }
                                }
                              }
                            ],
                            "trailingComments": [
                              {
                                "type": "Line",
                                "value": " check requirements",
                                "range": [
                                  1922,
                                  1943
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 27
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "self",
                                    "range": [
                                      1950,
                                      1954
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_collectorNames",
                                    "range": [
                                      1955,
                                      1970
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    1950,
                                    1970
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 26
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "forEach",
                                  "range": [
                                    1971,
                                    1978
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 34
                                    }
                                  }
                                },
                                "range": [
                                  1950,
                                  1978
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 34
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "FunctionExpression",
                                  "id": null,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "name": "collectorName",
                                      "range": [
                                        1989,
                                        2002
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 58
                                        }
                                      }
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "VariableDeclaration",
                                        "declarations": [
                                          {
                                            "type": "VariableDeclarator",
                                            "id": {
                                              "type": "Identifier",
                                              "name": "currentCollector",
                                              "range": [
                                                2020,
                                                2036
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 58,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 58,
                                                  "column": 30
                                                }
                                              }
                                            },
                                            "init": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "self",
                                                  "range": [
                                                    2039,
                                                    2043
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 58,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 58,
                                                      "column": 37
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "_collectors",
                                                  "range": [
                                                    2044,
                                                    2055
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 58,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 58,
                                                      "column": 49
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2039,
                                                  2055
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 58,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 58,
                                                    "column": 49
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "collectorName",
                                                "range": [
                                                  2056,
                                                  2069
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 58,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 58,
                                                    "column": 63
                                                  }
                                                }
                                              },
                                              "range": [
                                                2039,
                                                2070
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 58,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 58,
                                                  "column": 64
                                                }
                                              }
                                            },
                                            "range": [
                                              2020,
                                              2070
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 58,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 58,
                                                "column": 64
                                              }
                                            }
                                          }
                                        ],
                                        "kind": "const",
                                        "range": [
                                          2014,
                                          2071
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 65
                                          }
                                        }
                                      },
                                      {
                                        "type": "IfStatement",
                                        "test": {
                                          "type": "BinaryExpression",
                                          "operator": "===",
                                          "left": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "currentCollector",
                                              "range": [
                                                2084,
                                                2100
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "name",
                                              "range": [
                                                2101,
                                                2105
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 33
                                                }
                                              }
                                            },
                                            "range": [
                                              2084,
                                              2105
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 33
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "collector",
                                              "range": [
                                                2110,
                                                2119
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 47
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "name",
                                              "range": [
                                                2120,
                                                2124
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 52
                                                }
                                              }
                                            },
                                            "range": [
                                              2110,
                                              2124
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 52
                                              }
                                            }
                                          },
                                          "range": [
                                            2084,
                                            2124
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 59,
                                              "column": 52
                                            }
                                          }
                                        },
                                        "consequent": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ThrowStatement",
                                              "argument": {
                                                "type": "NewExpression",
                                                "callee": {
                                                  "type": "Identifier",
                                                  "name": "Error",
                                                  "range": [
                                                    2148,
                                                    2153
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 60,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 60,
                                                      "column": 25
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Literal",
                                                    "value": "A collector with that name has already been added.",
                                                    "raw": "'A collector with that name has already been added.'",
                                                    "range": [
                                                      2154,
                                                      2206
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 60,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 60,
                                                        "column": 78
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  2144,
                                                  2207
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 60,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 60,
                                                    "column": 79
                                                  }
                                                }
                                              },
                                              "range": [
                                                2138,
                                                2208
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 60,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 60,
                                                  "column": 80
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            2126,
                                            2218
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 61,
                                              "column": 9
                                            }
                                          }
                                        },
                                        "alternate": null,
                                        "range": [
                                          2080,
                                          2218
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 61,
                                            "column": 9
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "name": "reqIndex",
                                            "range": [
                                              2227,
                                              2235
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "requirements",
                                                "range": [
                                                  2238,
                                                  2250
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 62,
                                                    "column": 19
                                                  },
                                                  "end": {
                                                    "line": 62,
                                                    "column": 31
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "indexOf",
                                                "range": [
                                                  2251,
                                                  2258
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 62,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 62,
                                                    "column": 39
                                                  }
                                                }
                                              },
                                              "range": [
                                                2238,
                                                2258
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 62,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 62,
                                                  "column": 39
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "currentCollector",
                                                  "range": [
                                                    2259,
                                                    2275
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 62,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 62,
                                                      "column": 56
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "name",
                                                  "range": [
                                                    2276,
                                                    2280
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 62,
                                                      "column": 57
                                                    },
                                                    "end": {
                                                      "line": 62,
                                                      "column": 61
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2259,
                                                  2280
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 62,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 62,
                                                    "column": 61
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              2238,
                                              2281
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 62
                                              }
                                            }
                                          },
                                          "range": [
                                            2227,
                                            2281
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 62
                                            }
                                          }
                                        },
                                        "range": [
                                          2227,
                                          2282
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 62,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 62,
                                            "column": 63
                                          }
                                        }
                                      },
                                      {
                                        "type": "IfStatement",
                                        "test": {
                                          "type": "BinaryExpression",
                                          "operator": ">=",
                                          "left": {
                                            "type": "Identifier",
                                            "name": "reqIndex",
                                            "range": [
                                              2295,
                                              2303
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              2307,
                                              2308
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "range": [
                                            2295,
                                            2308
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "consequent": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "requirements",
                                                    "range": [
                                                      2322,
                                                      2334
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 64,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 64,
                                                        "column": 22
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "splice",
                                                    "range": [
                                                      2335,
                                                      2341
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 64,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 64,
                                                        "column": 29
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2322,
                                                    2341
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 64,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 64,
                                                      "column": 29
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "reqIndex",
                                                    "range": [
                                                      2342,
                                                      2350
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 64,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 64,
                                                        "column": 38
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "type": "Literal",
                                                    "value": 1,
                                                    "raw": "1",
                                                    "range": [
                                                      2352,
                                                      2353
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 64,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 64,
                                                        "column": 41
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  2322,
                                                  2354
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 42
                                                  }
                                                }
                                              },
                                              "range": [
                                                2322,
                                                2355
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 43
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            2310,
                                            2365
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 65,
                                              "column": 9
                                            }
                                          }
                                        },
                                        "alternate": null,
                                        "range": [
                                          2291,
                                          2365
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 9
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2004,
                                      2373
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 7
                                      }
                                    }
                                  },
                                  "generator": false,
                                  "expression": false,
                                  "range": [
                                    1979,
                                    2373
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 7
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1950,
                                2374
                              ],
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 6
                                },
                                "end": {
                                  "line": 66,
                                  "column": 8
                                }
                              }
                            },
                            "range": [
                              1950,
                              2375
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 6
                              },
                              "end": {
                                "line": 66,
                                "column": 9
                              }
                            },
                            "leadingComments": [
                              {
                                "type": "Line",
                                "value": " check requirements",
                                "range": [
                                  1922,
                                  1943
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 27
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "requirements",
                                "range": [
                                  2386,
                                  2398
                                ],
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 22
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "length",
                                "range": [
                                  2399,
                                  2405
                                ],
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 29
                                  }
                                }
                              },
                              "range": [
                                2386,
                                2405
                              ],
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 10
                                },
                                "end": {
                                  "line": 67,
                                  "column": 29
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ThrowStatement",
                                  "argument": {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "Error",
                                      "range": [
                                        2427,
                                        2432
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "TemplateLiteral",
                                        "quasis": [
                                          {
                                            "type": "TemplateElement",
                                            "value": {
                                              "raw": "Did not meet the requirements: ",
                                              "cooked": "Did not meet the requirements: "
                                            },
                                            "tail": false,
                                            "range": [
                                              2433,
                                              2467
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 58
                                              }
                                            }
                                          },
                                          {
                                            "type": "TemplateElement",
                                            "value": {
                                              "raw": "",
                                              "cooked": ""
                                            },
                                            "tail": true,
                                            "range": [
                                              2479,
                                              2481
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 70
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 72
                                              }
                                            }
                                          }
                                        ],
                                        "expressions": [
                                          {
                                            "type": "Identifier",
                                            "name": "requirements",
                                            "range": [
                                              2467,
                                              2479
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 70
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2433,
                                          2481
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 72
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2423,
                                      2482
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 73
                                      }
                                    }
                                  },
                                  "range": [
                                    2417,
                                    2483
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 74
                                    }
                                  }
                                }
                              ],
                              "range": [
                                2407,
                                2491
                              ],
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 31
                                },
                                "end": {
                                  "line": 69,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": null,
                            "range": [
                              2382,
                              2491
                            ],
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 6
                              },
                              "end": {
                                "line": 69,
                                "column": 7
                              }
                            },
                            "trailingComments": [
                              {
                                "type": "Line",
                                "value": " add our collector",
                                "range": [
                                  2498,
                                  2518
                                ],
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 26
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "self",
                                    "range": [
                                      2525,
                                      2529
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_collectorNames",
                                    "range": [
                                      2530,
                                      2545
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    2525,
                                    2545
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 26
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "push",
                                  "range": [
                                    2546,
                                    2550
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 31
                                    }
                                  }
                                },
                                "range": [
                                  2525,
                                  2550
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 31
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "collector",
                                    "range": [
                                      2551,
                                      2560
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 41
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "name",
                                    "range": [
                                      2561,
                                      2565
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 46
                                      }
                                    }
                                  },
                                  "range": [
                                    2551,
                                    2565
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 46
                                    }
                                  }
                                }
                              ],
                              "range": [
                                2525,
                                2566
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 6
                                },
                                "end": {
                                  "line": 71,
                                  "column": 47
                                }
                              }
                            },
                            "range": [
                              2525,
                              2567
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 6
                              },
                              "end": {
                                "line": 71,
                                "column": 48
                              }
                            },
                            "leadingComments": [
                              {
                                "type": "Line",
                                "value": " add our collector",
                                "range": [
                                  2498,
                                  2518
                                ],
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 26
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "self",
                                    "range": [
                                      2574,
                                      2578
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_collectors",
                                    "range": [
                                      2579,
                                      2590
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "range": [
                                    2574,
                                    2590
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 22
                                    }
                                  }
                                },
                                "property": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "collector",
                                    "range": [
                                      2591,
                                      2600
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "name",
                                    "range": [
                                      2601,
                                      2605
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "range": [
                                    2591,
                                    2605
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 37
                                    }
                                  }
                                },
                                "range": [
                                  2574,
                                  2606
                                ],
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 38
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "collector",
                                "range": [
                                  2609,
                                  2618
                                ],
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 50
                                  }
                                }
                              },
                              "range": [
                                2574,
                                2618
                              ],
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 6
                                },
                                "end": {
                                  "line": 72,
                                  "column": 50
                                }
                              }
                            },
                            "range": [
                              2574,
                              2619
                            ],
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 6
                              },
                              "end": {
                                "line": 72,
                                "column": 51
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "BinaryExpression",
                              "operator": "===",
                              "left": {
                                "type": "UnaryExpression",
                                "operator": "typeof",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "collector",
                                    "range": [
                                      2637,
                                      2646
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "handleProcess",
                                    "range": [
                                      2647,
                                      2660
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 40
                                      }
                                    }
                                  },
                                  "range": [
                                    2637,
                                    2660
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 40
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  2630,
                                  2660
                                ],
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 40
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": "function",
                                "raw": "'function'",
                                "range": [
                                  2665,
                                  2675
                                ],
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 55
                                  }
                                }
                              },
                              "range": [
                                2630,
                                2675
                              ],
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 10
                                },
                                "end": {
                                  "line": 73,
                                  "column": 55
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "self",
                                          "range": [
                                            2687,
                                            2691
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_handleProcessList",
                                          "range": [
                                            2692,
                                            2710
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 31
                                            }
                                          }
                                        },
                                        "range": [
                                          2687,
                                          2710
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 31
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "push",
                                        "range": [
                                          2711,
                                          2715
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "range": [
                                        2687,
                                        2715
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "collector",
                                          "range": [
                                            2716,
                                            2725
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 46
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "name",
                                          "range": [
                                            2726,
                                            2730
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 51
                                            }
                                          }
                                        },
                                        "range": [
                                          2716,
                                          2730
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 51
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2687,
                                      2731
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 52
                                      }
                                    }
                                  },
                                  "range": [
                                    2687,
                                    2732
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 53
                                    }
                                  }
                                }
                              ],
                              "range": [
                                2677,
                                2740
                              ],
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 57
                                },
                                "end": {
                                  "line": 75,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": null,
                            "range": [
                              2626,
                              2740
                            ],
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 6
                              },
                              "end": {
                                "line": 75,
                                "column": 7
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "BinaryExpression",
                              "operator": "===",
                              "left": {
                                "type": "UnaryExpression",
                                "operator": "typeof",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "collector",
                                    "range": [
                                      2758,
                                      2767
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 76,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 76,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "handleGet",
                                    "range": [
                                      2768,
                                      2777
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 76,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 76,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "range": [
                                    2758,
                                    2777
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 76,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 76,
                                      "column": 36
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  2751,
                                  2777
                                ],
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 36
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": "function",
                                "raw": "'function'",
                                "range": [
                                  2782,
                                  2792
                                ],
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 51
                                  }
                                }
                              },
                              "range": [
                                2751,
                                2792
                              ],
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 10
                                },
                                "end": {
                                  "line": 76,
                                  "column": 51
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "self",
                                          "range": [
                                            2804,
                                            2808
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 77,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 77,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_handleGetList",
                                          "range": [
                                            2809,
                                            2823
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 77,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 77,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "range": [
                                          2804,
                                          2823
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 77,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 77,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "push",
                                        "range": [
                                          2824,
                                          2828
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 77,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 77,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "range": [
                                        2804,
                                        2828
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 77,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "collector",
                                          "range": [
                                            2829,
                                            2838
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 77,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 77,
                                              "column": 42
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "name",
                                          "range": [
                                            2839,
                                            2843
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 77,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 77,
                                              "column": 47
                                            }
                                          }
                                        },
                                        "range": [
                                          2829,
                                          2843
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 77,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 77,
                                            "column": 47
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2804,
                                      2844
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 77,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 48
                                      }
                                    }
                                  },
                                  "range": [
                                    2804,
                                    2845
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 49
                                    }
                                  }
                                }
                              ],
                              "range": [
                                2794,
                                2853
                              ],
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 53
                                },
                                "end": {
                                  "line": 78,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": null,
                            "range": [
                              2747,
                              2853
                            ],
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 6
                              },
                              "end": {
                                "line": 78,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "range": [
                          1651,
                          2859
                        ],
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 48
                          },
                          "end": {
                            "line": 79,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Error",
                                "range": [
                                  2883,
                                  2888
                                ],
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 21
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "value": "Collectors have names, initialValues, and requirements",
                                  "raw": "'Collectors have names, initialValues, and requirements'",
                                  "range": [
                                    2889,
                                    2945
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 78
                                    }
                                  }
                                }
                              ],
                              "range": [
                                2879,
                                2946
                              ],
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 12
                                },
                                "end": {
                                  "line": 80,
                                  "column": 79
                                }
                              }
                            },
                            "range": [
                              2873,
                              2947
                            ],
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 6
                              },
                              "end": {
                                "line": 80,
                                "column": 80
                              }
                            }
                          }
                        ],
                        "range": [
                          2865,
                          2953
                        ],
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 11
                          },
                          "end": {
                            "line": 81,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1513,
                        2953
                      ],
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 4
                        },
                        "end": {
                          "line": 81,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "self",
                            "range": [
                              2958,
                              2962
                            ],
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 4
                              },
                              "end": {
                                "line": 82,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "reset",
                            "range": [
                              2963,
                              2968
                            ],
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 9
                              },
                              "end": {
                                "line": 82,
                                "column": 14
                              }
                            }
                          },
                          "range": [
                            2958,
                            2968
                          ],
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 4
                            },
                            "end": {
                              "line": 82,
                              "column": 14
                            }
                          }
                        },
                        "arguments": [],
                        "range": [
                          2958,
                          2970
                        ],
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 4
                          },
                          "end": {
                            "line": 82,
                            "column": 16
                          }
                        }
                      },
                      "range": [
                        2958,
                        2971
                      ],
                      "loc": {
                        "start": {
                          "line": 82,
                          "column": 4
                        },
                        "end": {
                          "line": 82,
                          "column": 17
                        }
                      }
                    }
                  ],
                  "range": [
                    1361,
                    2975
                  ],
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 26
                    },
                    "end": {
                      "line": 83,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  1349,
                  2975
                ],
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 14
                  },
                  "end": {
                    "line": 83,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                1337,
                2975
              ],
              "loc": {
                "start": {
                  "line": 41,
                  "column": 2
                },
                "end": {
                  "line": 83,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Add a collector function that can process data\n   * when process() or get() is called.\n   * @param {Object} collector An object with the following properties:\n   *   - **name** - [String] The name of the collector\n   *   - **initialValue** - [any] The initial value if update() has never been called\n   *   - **requirements** - [Array] An array of collector names that must be added before this collector\n   *   - **handleProcess** - [Function]\n   *   - **handleGet** - [Function]\n   * @example\n   * const stats = new BaseStats();\n   * stats.addCollector({\n   *   name: 'test-sum',\n   *   initialValue: 0,\n   *   requirements: [],\n   *   handleUpdate: function (prev, state, val) { return prev + val; }\n   * });\n   * @return {undefined}\n   ",
                  "range": [
                    583,
                    1334
                  ],
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 2
                    },
                    "end": {
                      "line": 40,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "addFilter",
                "range": [
                  2978,
                  2987
                ],
                "loc": {
                  "start": {
                    "line": 84,
                    "column": 2
                  },
                  "end": {
                    "line": 84,
                    "column": 11
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "filter",
                    "range": [
                      2988,
                      2994
                    ],
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 12
                      },
                      "end": {
                        "line": 84,
                        "column": 18
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "BinaryExpression",
                        "operator": "!==",
                        "left": {
                          "type": "UnaryExpression",
                          "operator": "typeof",
                          "argument": {
                            "type": "Identifier",
                            "name": "filter",
                            "range": [
                              3013,
                              3019
                            ],
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 15
                              },
                              "end": {
                                "line": 85,
                                "column": 21
                              }
                            }
                          },
                          "prefix": true,
                          "range": [
                            3006,
                            3019
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 8
                            },
                            "end": {
                              "line": 85,
                              "column": 21
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": "function",
                          "raw": "'function'",
                          "range": [
                            3024,
                            3034
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 26
                            },
                            "end": {
                              "line": 85,
                              "column": 36
                            }
                          }
                        },
                        "range": [
                          3006,
                          3034
                        ],
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 8
                          },
                          "end": {
                            "line": 85,
                            "column": 36
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Error",
                                "range": [
                                  3054,
                                  3059
                                ],
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 21
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "value": "Filter must be a function.",
                                  "raw": "'Filter must be a function.'",
                                  "range": [
                                    3060,
                                    3088
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 50
                                    }
                                  }
                                }
                              ],
                              "range": [
                                3050,
                                3089
                              ],
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 12
                                },
                                "end": {
                                  "line": 86,
                                  "column": 51
                                }
                              }
                            },
                            "range": [
                              3044,
                              3090
                            ],
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 6
                              },
                              "end": {
                                "line": 86,
                                "column": 52
                              }
                            }
                          }
                        ],
                        "range": [
                          3036,
                          3096
                        ],
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 38
                          },
                          "end": {
                            "line": 87,
                            "column": 5
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        3002,
                        3096
                      ],
                      "loc": {
                        "start": {
                          "line": 85,
                          "column": 4
                        },
                        "end": {
                          "line": 87,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                3101,
                                3105
                              ],
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 4
                                },
                                "end": {
                                  "line": 88,
                                  "column": 8
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_filters",
                              "range": [
                                3106,
                                3114
                              ],
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 9
                                },
                                "end": {
                                  "line": 88,
                                  "column": 17
                                }
                              }
                            },
                            "range": [
                              3101,
                              3114
                            ],
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 4
                              },
                              "end": {
                                "line": 88,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "push",
                            "range": [
                              3115,
                              3119
                            ],
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 18
                              },
                              "end": {
                                "line": 88,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            3101,
                            3119
                          ],
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 4
                            },
                            "end": {
                              "line": 88,
                              "column": 22
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "filter",
                            "range": [
                              3120,
                              3126
                            ],
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 23
                              },
                              "end": {
                                "line": 88,
                                "column": 29
                              }
                            }
                          }
                        ],
                        "range": [
                          3101,
                          3127
                        ],
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 4
                          },
                          "end": {
                            "line": 88,
                            "column": 30
                          }
                        }
                      },
                      "range": [
                        3101,
                        3128
                      ],
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 4
                        },
                        "end": {
                          "line": 88,
                          "column": 31
                        }
                      }
                    }
                  ],
                  "range": [
                    2996,
                    3132
                  ],
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 20
                    },
                    "end": {
                      "line": 89,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  2987,
                  3132
                ],
                "loc": {
                  "start": {
                    "line": 84,
                    "column": 11
                  },
                  "end": {
                    "line": 89,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                2978,
                3132
              ],
              "loc": {
                "start": {
                  "line": 84,
                  "column": 2
                },
                "end": {
                  "line": 89,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "addIgnore",
                "range": [
                  3135,
                  3144
                ],
                "loc": {
                  "start": {
                    "line": 90,
                    "column": 2
                  },
                  "end": {
                    "line": 90,
                    "column": 11
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "name",
                    "range": [
                      3145,
                      3149
                    ],
                    "loc": {
                      "start": {
                        "line": 90,
                        "column": 12
                      },
                      "end": {
                        "line": 90,
                        "column": 16
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "BinaryExpression",
                        "operator": "===",
                        "left": {
                          "type": "CallExpression",
                          "callee": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  3161,
                                  3165
                                ],
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "_ignore",
                                "range": [
                                  3166,
                                  3173
                                ],
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 20
                                  }
                                }
                              },
                              "range": [
                                3161,
                                3173
                              ],
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 8
                                },
                                "end": {
                                  "line": 91,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "indexOf",
                              "range": [
                                3174,
                                3181
                              ],
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 21
                                },
                                "end": {
                                  "line": 91,
                                  "column": 28
                                }
                              }
                            },
                            "range": [
                              3161,
                              3181
                            ],
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 8
                              },
                              "end": {
                                "line": 91,
                                "column": 28
                              }
                            }
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "name": "name",
                              "range": [
                                3182,
                                3186
                              ],
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 29
                                },
                                "end": {
                                  "line": 91,
                                  "column": 33
                                }
                              }
                            }
                          ],
                          "range": [
                            3161,
                            3187
                          ],
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 8
                            },
                            "end": {
                              "line": 91,
                              "column": 34
                            }
                          }
                        },
                        "right": {
                          "type": "UnaryExpression",
                          "operator": "-",
                          "argument": {
                            "type": "Literal",
                            "value": 1,
                            "raw": "1",
                            "range": [
                              3193,
                              3194
                            ],
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 40
                              },
                              "end": {
                                "line": 91,
                                "column": 41
                              }
                            }
                          },
                          "prefix": true,
                          "range": [
                            3192,
                            3194
                          ],
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 39
                            },
                            "end": {
                              "line": 91,
                              "column": 41
                            }
                          }
                        },
                        "range": [
                          3161,
                          3194
                        ],
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 8
                          },
                          "end": {
                            "line": 91,
                            "column": 41
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3204,
                                      3208
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_ignore",
                                    "range": [
                                      3209,
                                      3216
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "range": [
                                    3204,
                                    3216
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 18
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "push",
                                  "range": [
                                    3217,
                                    3221
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 23
                                    }
                                  }
                                },
                                "range": [
                                  3204,
                                  3221
                                ],
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 23
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "name": "name",
                                  "range": [
                                    3222,
                                    3226
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 28
                                    }
                                  }
                                }
                              ],
                              "range": [
                                3204,
                                3227
                              ],
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 6
                                },
                                "end": {
                                  "line": 92,
                                  "column": 29
                                }
                              }
                            },
                            "range": [
                              3204,
                              3228
                            ],
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 6
                              },
                              "end": {
                                "line": 92,
                                "column": 30
                              }
                            }
                          }
                        ],
                        "range": [
                          3196,
                          3234
                        ],
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 43
                          },
                          "end": {
                            "line": 93,
                            "column": 5
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        3157,
                        3234
                      ],
                      "loc": {
                        "start": {
                          "line": 91,
                          "column": 4
                        },
                        "end": {
                          "line": 93,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    3151,
                    3238
                  ],
                  "loc": {
                    "start": {
                      "line": 90,
                      "column": 18
                    },
                    "end": {
                      "line": 94,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  3144,
                  3238
                ],
                "loc": {
                  "start": {
                    "line": 90,
                    "column": 11
                  },
                  "end": {
                    "line": 94,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                3135,
                3238
              ],
              "loc": {
                "start": {
                  "line": 90,
                  "column": 2
                },
                "end": {
                  "line": 94,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "get",
                "range": [
                  3241,
                  3244
                ],
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 2
                  },
                  "end": {
                    "line": 95,
                    "column": 5
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "zeroForUndefined",
                    "range": [
                      3245,
                      3261
                    ],
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 6
                      },
                      "end": {
                        "line": 95,
                        "column": 22
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "self",
                            "range": [
                              3275,
                              3279
                            ],
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 10
                              },
                              "end": {
                                "line": 96,
                                "column": 14
                              }
                            }
                          },
                          "init": {
                            "type": "ThisExpression",
                            "range": [
                              3282,
                              3286
                            ],
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 17
                              },
                              "end": {
                                "line": 96,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            3275,
                            3286
                          ],
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 10
                            },
                            "end": {
                              "line": 96,
                              "column": 21
                            }
                          }
                        }
                      ],
                      "kind": "const",
                      "range": [
                        3269,
                        3287
                      ],
                      "loc": {
                        "start": {
                          "line": 96,
                          "column": 4
                        },
                        "end": {
                          "line": 96,
                          "column": 22
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "result",
                            "range": [
                              3298,
                              3304
                            ],
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 10
                              },
                              "end": {
                                "line": 97,
                                "column": 16
                              }
                            }
                          },
                          "init": {
                            "type": "ObjectExpression",
                            "properties": [],
                            "range": [
                              3307,
                              3309
                            ],
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 19
                              },
                              "end": {
                                "line": 97,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            3298,
                            3309
                          ],
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 10
                            },
                            "end": {
                              "line": 97,
                              "column": 21
                            }
                          }
                        }
                      ],
                      "kind": "const",
                      "range": [
                        3292,
                        3310
                      ],
                      "loc": {
                        "start": {
                          "line": 97,
                          "column": 4
                        },
                        "end": {
                          "line": 97,
                          "column": 22
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "Line",
                          "value": " run handleGet()",
                          "range": [
                            3315,
                            3333
                          ],
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 4
                            },
                            "end": {
                              "line": 98,
                              "column": 22
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "BinaryExpression",
                        "operator": ">",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              3342,
                              3346
                            ],
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 8
                              },
                              "end": {
                                "line": 99,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_processCount",
                            "range": [
                              3347,
                              3360
                            ],
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 13
                              },
                              "end": {
                                "line": 99,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            3342,
                            3360
                          ],
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 8
                            },
                            "end": {
                              "line": 99,
                              "column": 26
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": 0,
                          "raw": "0",
                          "range": [
                            3363,
                            3364
                          ],
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 29
                            },
                            "end": {
                              "line": 99,
                              "column": 30
                            }
                          }
                        },
                        "range": [
                          3342,
                          3364
                        ],
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 8
                          },
                          "end": {
                            "line": 99,
                            "column": 30
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ForStatement",
                            "init": {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "i",
                                    "range": [
                                      3383,
                                      3384
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "Literal",
                                    "value": 0,
                                    "raw": "0",
                                    "range": [
                                      3387,
                                      3388
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "range": [
                                    3383,
                                    3388
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 100,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 100,
                                      "column": 20
                                    }
                                  }
                                }
                              ],
                              "kind": "let",
                              "range": [
                                3379,
                                3388
                              ],
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 11
                                },
                                "end": {
                                  "line": 100,
                                  "column": 20
                                }
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "operator": "<",
                              "left": {
                                "type": "Identifier",
                                "name": "i",
                                "range": [
                                  3390,
                                  3391
                                ],
                                "loc": {
                                  "start": {
                                    "line": 100,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 100,
                                    "column": 23
                                  }
                                }
                              },
                              "right": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3394,
                                      3398
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_handleGetList",
                                    "range": [
                                      3399,
                                      3413
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "range": [
                                    3394,
                                    3413
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 100,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 100,
                                      "column": 45
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "length",
                                  "range": [
                                    3414,
                                    3420
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 100,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 100,
                                      "column": 52
                                    }
                                  }
                                },
                                "range": [
                                  3394,
                                  3420
                                ],
                                "loc": {
                                  "start": {
                                    "line": 100,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 100,
                                    "column": 52
                                  }
                                }
                              },
                              "range": [
                                3390,
                                3420
                              ],
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 22
                                },
                                "end": {
                                  "line": 100,
                                  "column": 52
                                }
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "operator": "++",
                              "argument": {
                                "type": "Identifier",
                                "name": "i",
                                "range": [
                                  3422,
                                  3423
                                ],
                                "loc": {
                                  "start": {
                                    "line": 100,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 100,
                                    "column": 55
                                  }
                                }
                              },
                              "prefix": false,
                              "range": [
                                3422,
                                3425
                              ],
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 54
                                },
                                "end": {
                                  "line": 100,
                                  "column": 57
                                }
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "id": {
                                        "type": "Identifier",
                                        "name": "collectorName",
                                        "range": [
                                          3443,
                                          3456
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 101,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 101,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              3459,
                                              3463
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 101,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 101,
                                                "column": 34
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_handleGetList",
                                            "range": [
                                              3464,
                                              3478
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 101,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 101,
                                                "column": 49
                                              }
                                            }
                                          },
                                          "range": [
                                            3459,
                                            3478
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 101,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 101,
                                              "column": 49
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "i",
                                          "range": [
                                            3479,
                                            3480
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 101,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 101,
                                              "column": 51
                                            }
                                          }
                                        },
                                        "range": [
                                          3459,
                                          3481
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 101,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 101,
                                            "column": 52
                                          }
                                        }
                                      },
                                      "range": [
                                        3443,
                                        3481
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 101,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 101,
                                          "column": 52
                                        }
                                      }
                                    }
                                  ],
                                  "kind": "const",
                                  "range": [
                                    3437,
                                    3482
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 101,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 101,
                                      "column": 53
                                    }
                                  }
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "id": {
                                        "type": "Identifier",
                                        "name": "collector",
                                        "range": [
                                          3497,
                                          3506
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 102,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 102,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              3509,
                                              3513
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 102,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 102,
                                                "column": 30
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_collectors",
                                            "range": [
                                              3514,
                                              3525
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 102,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 102,
                                                "column": 42
                                              }
                                            }
                                          },
                                          "range": [
                                            3509,
                                            3525
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 102,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 102,
                                              "column": 42
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "collectorName",
                                          "range": [
                                            3526,
                                            3539
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 102,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 102,
                                              "column": 56
                                            }
                                          }
                                        },
                                        "range": [
                                          3509,
                                          3540
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 102,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 102,
                                            "column": 57
                                          }
                                        }
                                      },
                                      "range": [
                                        3497,
                                        3540
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 102,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 102,
                                          "column": 57
                                        }
                                      }
                                    }
                                  ],
                                  "kind": "const",
                                  "range": [
                                    3491,
                                    3541
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 102,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 58
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": true,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3550,
                                            3554
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_state",
                                          "range": [
                                            3555,
                                            3561
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 19
                                            }
                                          }
                                        },
                                        "range": [
                                          3550,
                                          3561
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 19
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "collectorName",
                                        "range": [
                                          3562,
                                          3575
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "range": [
                                        3550,
                                        3576
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "collector",
                                          "range": [
                                            3579,
                                            3588
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 46
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "handleGet",
                                          "range": [
                                            3589,
                                            3598
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 56
                                            }
                                          }
                                        },
                                        "range": [
                                          3579,
                                          3598
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 56
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              3610,
                                              3614
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 14
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_state",
                                            "range": [
                                              3615,
                                              3621
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 21
                                              }
                                            }
                                          },
                                          "range": [
                                            3610,
                                            3621
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 21
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3579,
                                        3631
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "range": [
                                      3550,
                                      3631
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    3550,
                                    3632
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 10
                                    }
                                  }
                                }
                              ],
                              "range": [
                                3427,
                                3640
                              ],
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 59
                                },
                                "end": {
                                  "line": 106,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              3374,
                              3640
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 6
                              },
                              "end": {
                                "line": 106,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "range": [
                          3366,
                          3646
                        ],
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 32
                          },
                          "end": {
                            "line": 107,
                            "column": 5
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        3338,
                        3646
                      ],
                      "loc": {
                        "start": {
                          "line": 99,
                          "column": 4
                        },
                        "end": {
                          "line": 107,
                          "column": 5
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Line",
                          "value": " run handleGet()",
                          "range": [
                            3315,
                            3333
                          ],
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 4
                            },
                            "end": {
                              "line": 98,
                              "column": 22
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Line",
                          "value": " sort, ignore, deep-copy, and use zeroForUndefined if neeeded",
                          "range": [
                            3651,
                            3714
                          ],
                          "loc": {
                            "start": {
                              "line": 108,
                              "column": 4
                            },
                            "end": {
                              "line": 108,
                              "column": 67
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "Object",
                                    "range": [
                                      3719,
                                      3725
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 4
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "keys",
                                    "range": [
                                      3726,
                                      3730
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 15
                                      }
                                    }
                                  },
                                  "range": [
                                    3719,
                                    3730
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 109,
                                      "column": 4
                                    },
                                    "end": {
                                      "line": 109,
                                      "column": 15
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3731,
                                        3735
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "_state",
                                      "range": [
                                        3736,
                                        3742
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "range": [
                                      3731,
                                      3742
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 27
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3719,
                                  3743
                                ],
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 28
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "sort",
                                "range": [
                                  3744,
                                  3748
                                ],
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 33
                                  }
                                }
                              },
                              "range": [
                                3719,
                                3748
                              ],
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 4
                                },
                                "end": {
                                  "line": 109,
                                  "column": 33
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              3719,
                              3750
                            ],
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 4
                              },
                              "end": {
                                "line": 109,
                                "column": 35
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "forEach",
                            "range": [
                              3751,
                              3758
                            ],
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 36
                              },
                              "end": {
                                "line": 109,
                                "column": 43
                              }
                            }
                          },
                          "range": [
                            3719,
                            3758
                          ],
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 4
                            },
                            "end": {
                              "line": 109,
                              "column": 43
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "FunctionExpression",
                            "id": null,
                            "params": [
                              {
                                "type": "Identifier",
                                "name": "key",
                                "range": [
                                  3769,
                                  3772
                                ],
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 57
                                  }
                                }
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "BinaryExpression",
                                    "operator": "===",
                                    "left": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "self",
                                            "range": [
                                              3786,
                                              3790
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 110,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 110,
                                                "column": 14
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_ignore",
                                            "range": [
                                              3791,
                                              3798
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 110,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 110,
                                                "column": 22
                                              }
                                            }
                                          },
                                          "range": [
                                            3786,
                                            3798
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "indexOf",
                                          "range": [
                                            3799,
                                            3806
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 30
                                            }
                                          }
                                        },
                                        "range": [
                                          3786,
                                          3806
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 110,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "key",
                                          "range": [
                                            3807,
                                            3810
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 34
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3786,
                                        3811
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "UnaryExpression",
                                      "operator": "-",
                                      "argument": {
                                        "type": "Literal",
                                        "value": 1,
                                        "raw": "1",
                                        "range": [
                                          3817,
                                          3818
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 110,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 42
                                          }
                                        }
                                      },
                                      "prefix": true,
                                      "range": [
                                        3816,
                                        3818
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "range": [
                                      3786,
                                      3818
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 42
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "VariableDeclaration",
                                        "declarations": [
                                          {
                                            "type": "VariableDeclarator",
                                            "id": {
                                              "type": "Identifier",
                                              "name": "val",
                                              "range": [
                                                3834,
                                                3837
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 15
                                                }
                                              }
                                            },
                                            "init": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "self",
                                                  "range": [
                                                    3840,
                                                    3844
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 111,
                                                      "column": 18
                                                    },
                                                    "end": {
                                                      "line": 111,
                                                      "column": 22
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "_state",
                                                  "range": [
                                                    3845,
                                                    3851
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 111,
                                                      "column": 23
                                                    },
                                                    "end": {
                                                      "line": 111,
                                                      "column": 29
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3840,
                                                  3851
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 111,
                                                    "column": 18
                                                  },
                                                  "end": {
                                                    "line": 111,
                                                    "column": 29
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "key",
                                                "range": [
                                                  3852,
                                                  3855
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 111,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 111,
                                                    "column": 33
                                                  }
                                                }
                                              },
                                              "range": [
                                                3840,
                                                3856
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 18
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            "range": [
                                              3834,
                                              3856
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 34
                                              }
                                            }
                                          }
                                        ],
                                        "kind": "let",
                                        "range": [
                                          3830,
                                          3857
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 35
                                          }
                                        }
                                      },
                                      {
                                        "type": "IfStatement",
                                        "test": {
                                          "type": "Identifier",
                                          "name": "val",
                                          "range": [
                                            3870,
                                            3873
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 112,
                                              "column": 15
                                            }
                                          }
                                        },
                                        "consequent": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "AssignmentExpression",
                                                "operator": "=",
                                                "left": {
                                                  "type": "Identifier",
                                                  "name": "val",
                                                  "range": [
                                                    3887,
                                                    3890
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 113,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 113,
                                                      "column": 13
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "JSON",
                                                      "range": [
                                                        3893,
                                                        3897
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 113,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 113,
                                                          "column": 20
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "parse",
                                                      "range": [
                                                        3898,
                                                        3903
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 113,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 113,
                                                          "column": 26
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      3893,
                                                      3903
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 113,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 113,
                                                        "column": 26
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "JSON",
                                                          "range": [
                                                            3904,
                                                            3908
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 113,
                                                              "column": 27
                                                            },
                                                            "end": {
                                                              "line": 113,
                                                              "column": 31
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "stringify",
                                                          "range": [
                                                            3909,
                                                            3918
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 113,
                                                              "column": 32
                                                            },
                                                            "end": {
                                                              "line": 113,
                                                              "column": 41
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          3904,
                                                          3918
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 113,
                                                            "column": 27
                                                          },
                                                          "end": {
                                                            "line": 113,
                                                            "column": 41
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "name": "val",
                                                          "range": [
                                                            3919,
                                                            3922
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 113,
                                                              "column": 42
                                                            },
                                                            "end": {
                                                              "line": 113,
                                                              "column": 45
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        3904,
                                                        3923
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 113,
                                                          "column": 27
                                                        },
                                                        "end": {
                                                          "line": 113,
                                                          "column": 46
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    3893,
                                                    3924
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 113,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 113,
                                                      "column": 47
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3887,
                                                  3924
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 113,
                                                    "column": 47
                                                  }
                                                }
                                              },
                                              "range": [
                                                3887,
                                                3925
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 113,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 113,
                                                  "column": 48
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            3875,
                                            3935
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 114,
                                              "column": 9
                                            }
                                          }
                                        },
                                        "alternate": {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "LogicalExpression",
                                            "operator": "&&",
                                            "left": {
                                              "type": "BinaryExpression",
                                              "operator": "===",
                                              "left": {
                                                "type": "UnaryExpression",
                                                "operator": "typeof",
                                                "argument": {
                                                  "type": "Identifier",
                                                  "name": "val",
                                                  "range": [
                                                    3952,
                                                    3955
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 114,
                                                      "column": 26
                                                    },
                                                    "end": {
                                                      "line": 114,
                                                      "column": 29
                                                    }
                                                  }
                                                },
                                                "prefix": true,
                                                "range": [
                                                  3945,
                                                  3955
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 114,
                                                    "column": 19
                                                  },
                                                  "end": {
                                                    "line": 114,
                                                    "column": 29
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "Literal",
                                                "value": "undefined",
                                                "raw": "'undefined'",
                                                "range": [
                                                  3960,
                                                  3971
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 114,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 114,
                                                    "column": 45
                                                  }
                                                }
                                              },
                                              "range": [
                                                3945,
                                                3971
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 45
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "Identifier",
                                              "name": "zeroForUndefined",
                                              "range": [
                                                3975,
                                                3991
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 65
                                                }
                                              }
                                            },
                                            "range": [
                                              3945,
                                              3991
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 114,
                                                "column": 65
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "AssignmentExpression",
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "Identifier",
                                                    "name": "val",
                                                    "range": [
                                                      4005,
                                                      4008
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 115,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 115,
                                                        "column": 13
                                                      }
                                                    }
                                                  },
                                                  "right": {
                                                    "type": "Literal",
                                                    "value": 0,
                                                    "raw": "0",
                                                    "range": [
                                                      4011,
                                                      4012
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 115,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 115,
                                                        "column": 17
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4005,
                                                    4012
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 115,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 115,
                                                      "column": 17
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4005,
                                                  4013
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 115,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 115,
                                                    "column": 18
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              3993,
                                              4023
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 67
                                              },
                                              "end": {
                                                "line": 116,
                                                "column": 9
                                              }
                                            }
                                          },
                                          "alternate": null,
                                          "range": [
                                            3941,
                                            4023
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 114,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 9
                                            }
                                          }
                                        },
                                        "range": [
                                          3866,
                                          4023
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 116,
                                            "column": 9
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "computed": true,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "result",
                                              "range": [
                                                4032,
                                                4038
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 8
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 14
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "key",
                                              "range": [
                                                4039,
                                                4042
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 18
                                                }
                                              }
                                            },
                                            "range": [
                                              4032,
                                              4043
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 117,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 117,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "name": "val",
                                            "range": [
                                              4046,
                                              4049
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 117,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 117,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "range": [
                                            4032,
                                            4049
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "range": [
                                          4032,
                                          4050
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 26
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      3820,
                                      4058
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 7
                                      }
                                    }
                                  },
                                  "alternate": null,
                                  "range": [
                                    3782,
                                    4058
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 110,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 7
                                    }
                                  }
                                }
                              ],
                              "range": [
                                3774,
                                4064
                              ],
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 59
                                },
                                "end": {
                                  "line": 119,
                                  "column": 5
                                }
                              }
                            },
                            "generator": false,
                            "expression": false,
                            "range": [
                              3759,
                              4064
                            ],
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 44
                              },
                              "end": {
                                "line": 119,
                                "column": 5
                              }
                            }
                          }
                        ],
                        "range": [
                          3719,
                          4065
                        ],
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 4
                          },
                          "end": {
                            "line": 119,
                            "column": 6
                          }
                        }
                      },
                      "range": [
                        3719,
                        4066
                      ],
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 4
                        },
                        "end": {
                          "line": 119,
                          "column": 7
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Line",
                          "value": " sort, ignore, deep-copy, and use zeroForUndefined if neeeded",
                          "range": [
                            3651,
                            3714
                          ],
                          "loc": {
                            "start": {
                              "line": 108,
                              "column": 4
                            },
                            "end": {
                              "line": 108,
                              "column": 67
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "result",
                        "range": [
                          4078,
                          4084
                        ],
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 11
                          },
                          "end": {
                            "line": 120,
                            "column": 17
                          }
                        }
                      },
                      "range": [
                        4071,
                        4085
                      ],
                      "loc": {
                        "start": {
                          "line": 120,
                          "column": 4
                        },
                        "end": {
                          "line": 120,
                          "column": 18
                        }
                      }
                    }
                  ],
                  "range": [
                    3263,
                    4089
                  ],
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 24
                    },
                    "end": {
                      "line": 121,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  3244,
                  4089
                ],
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 5
                  },
                  "end": {
                    "line": 121,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                3241,
                4089
              ],
              "loc": {
                "start": {
                  "line": 95,
                  "column": 2
                },
                "end": {
                  "line": 121,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "processAll",
                "range": [
                  4092,
                  4102
                ],
                "loc": {
                  "start": {
                    "line": 122,
                    "column": 2
                  },
                  "end": {
                    "line": 122,
                    "column": 12
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "arr",
                    "range": [
                      4103,
                      4106
                    ],
                    "loc": {
                      "start": {
                        "line": 122,
                        "column": 13
                      },
                      "end": {
                        "line": 122,
                        "column": 16
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ForStatement",
                      "init": {
                        "type": "VariableDeclaration",
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "id": {
                              "type": "Identifier",
                              "name": "i",
                              "range": [
                                4123,
                                4124
                              ],
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 13
                                },
                                "end": {
                                  "line": 123,
                                  "column": 14
                                }
                              }
                            },
                            "init": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                4127,
                                4128
                              ],
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 17
                                },
                                "end": {
                                  "line": 123,
                                  "column": 18
                                }
                              }
                            },
                            "range": [
                              4123,
                              4128
                            ],
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 13
                              },
                              "end": {
                                "line": 123,
                                "column": 18
                              }
                            }
                          }
                        ],
                        "kind": "let",
                        "range": [
                          4119,
                          4128
                        ],
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 9
                          },
                          "end": {
                            "line": 123,
                            "column": 18
                          }
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "operator": "<",
                        "left": {
                          "type": "Identifier",
                          "name": "i",
                          "range": [
                            4130,
                            4131
                          ],
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 20
                            },
                            "end": {
                              "line": 123,
                              "column": 21
                            }
                          }
                        },
                        "right": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "arr",
                            "range": [
                              4134,
                              4137
                            ],
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 24
                              },
                              "end": {
                                "line": 123,
                                "column": 27
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "length",
                            "range": [
                              4138,
                              4144
                            ],
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 28
                              },
                              "end": {
                                "line": 123,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            4134,
                            4144
                          ],
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 24
                            },
                            "end": {
                              "line": 123,
                              "column": 34
                            }
                          }
                        },
                        "range": [
                          4130,
                          4144
                        ],
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 20
                          },
                          "end": {
                            "line": 123,
                            "column": 34
                          }
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "operator": "++",
                        "argument": {
                          "type": "Identifier",
                          "name": "i",
                          "range": [
                            4146,
                            4147
                          ],
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 36
                            },
                            "end": {
                              "line": 123,
                              "column": 37
                            }
                          }
                        },
                        "prefix": false,
                        "range": [
                          4146,
                          4149
                        ],
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 36
                          },
                          "end": {
                            "line": 123,
                            "column": 39
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    4159,
                                    4163
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 124,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 124,
                                      "column": 10
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "process",
                                  "range": [
                                    4164,
                                    4171
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 124,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 124,
                                      "column": 18
                                    }
                                  }
                                },
                                "range": [
                                  4159,
                                  4171
                                ],
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 124,
                                    "column": 18
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "computed": true,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "arr",
                                    "range": [
                                      4172,
                                      4175
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 124,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 124,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "i",
                                    "range": [
                                      4176,
                                      4177
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 124,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 124,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "range": [
                                    4172,
                                    4178
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 124,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 124,
                                      "column": 25
                                    }
                                  }
                                }
                              ],
                              "range": [
                                4159,
                                4179
                              ],
                              "loc": {
                                "start": {
                                  "line": 124,
                                  "column": 6
                                },
                                "end": {
                                  "line": 124,
                                  "column": 26
                                }
                              }
                            },
                            "range": [
                              4159,
                              4180
                            ],
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 6
                              },
                              "end": {
                                "line": 124,
                                "column": 27
                              }
                            }
                          }
                        ],
                        "range": [
                          4151,
                          4186
                        ],
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 41
                          },
                          "end": {
                            "line": 125,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4114,
                        4186
                      ],
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 4
                        },
                        "end": {
                          "line": 125,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    4108,
                    4190
                  ],
                  "loc": {
                    "start": {
                      "line": 122,
                      "column": 18
                    },
                    "end": {
                      "line": 126,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  4102,
                  4190
                ],
                "loc": {
                  "start": {
                    "line": 122,
                    "column": 12
                  },
                  "end": {
                    "line": 126,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                4092,
                4190
              ],
              "loc": {
                "start": {
                  "line": 122,
                  "column": 2
                },
                "end": {
                  "line": 126,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "process",
                "range": [
                  4193,
                  4200
                ],
                "loc": {
                  "start": {
                    "line": 127,
                    "column": 2
                  },
                  "end": {
                    "line": 127,
                    "column": 9
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "value",
                    "range": [
                      4201,
                      4206
                    ],
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 10
                      },
                      "end": {
                        "line": 127,
                        "column": 15
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ForStatement",
                      "init": {
                        "type": "VariableDeclaration",
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "id": {
                              "type": "Identifier",
                              "name": "i",
                              "range": [
                                4242,
                                4243
                              ],
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 13
                                },
                                "end": {
                                  "line": 129,
                                  "column": 14
                                }
                              }
                            },
                            "init": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                4246,
                                4247
                              ],
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 17
                                },
                                "end": {
                                  "line": 129,
                                  "column": 18
                                }
                              }
                            },
                            "range": [
                              4242,
                              4247
                            ],
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 13
                              },
                              "end": {
                                "line": 129,
                                "column": 18
                              }
                            }
                          }
                        ],
                        "kind": "let",
                        "range": [
                          4238,
                          4247
                        ],
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 9
                          },
                          "end": {
                            "line": 129,
                            "column": 18
                          }
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "operator": "<",
                        "left": {
                          "type": "Identifier",
                          "name": "i",
                          "range": [
                            4249,
                            4250
                          ],
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 20
                            },
                            "end": {
                              "line": 129,
                              "column": 21
                            }
                          }
                        },
                        "right": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                4253,
                                4257
                              ],
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 24
                                },
                                "end": {
                                  "line": 129,
                                  "column": 28
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_filters",
                              "range": [
                                4258,
                                4266
                              ],
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 29
                                },
                                "end": {
                                  "line": 129,
                                  "column": 37
                                }
                              }
                            },
                            "range": [
                              4253,
                              4266
                            ],
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 24
                              },
                              "end": {
                                "line": 129,
                                "column": 37
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "length",
                            "range": [
                              4267,
                              4273
                            ],
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 38
                              },
                              "end": {
                                "line": 129,
                                "column": 44
                              }
                            }
                          },
                          "range": [
                            4253,
                            4273
                          ],
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 24
                            },
                            "end": {
                              "line": 129,
                              "column": 44
                            }
                          }
                        },
                        "range": [
                          4249,
                          4273
                        ],
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 20
                          },
                          "end": {
                            "line": 129,
                            "column": 44
                          }
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "operator": "++",
                        "argument": {
                          "type": "Identifier",
                          "name": "i",
                          "range": [
                            4275,
                            4276
                          ],
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 46
                            },
                            "end": {
                              "line": 129,
                              "column": 47
                            }
                          }
                        },
                        "prefix": false,
                        "range": [
                          4275,
                          4278
                        ],
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 46
                          },
                          "end": {
                            "line": 129,
                            "column": 49
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "UnaryExpression",
                              "operator": "!",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": true,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4293,
                                        4297
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 11
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 15
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "_filters",
                                      "range": [
                                        4298,
                                        4306
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      4293,
                                      4306
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "i",
                                    "range": [
                                      4307,
                                      4308
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    4293,
                                    4309
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 27
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "value",
                                    "range": [
                                      4310,
                                      4315
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 33
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4293,
                                  4316
                                ],
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 34
                                  }
                                }
                              },
                              "prefix": true,
                              "range": [
                                4292,
                                4316
                              ],
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 10
                                },
                                "end": {
                                  "line": 130,
                                  "column": 34
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "UpdateExpression",
                                    "operator": "++",
                                    "argument": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          4328,
                                          4332
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 131,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 131,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "_processFilteredCount",
                                        "range": [
                                          4333,
                                          4354
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 131,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 131,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "range": [
                                        4328,
                                        4354
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 131,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 131,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "prefix": false,
                                    "range": [
                                      4328,
                                      4356
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 131,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 131,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "range": [
                                    4328,
                                    4357
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 131,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 37
                                    }
                                  }
                                },
                                {
                                  "type": "ReturnStatement",
                                  "argument": null,
                                  "range": [
                                    4366,
                                    4373
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 132,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 132,
                                      "column": 15
                                    }
                                  }
                                }
                              ],
                              "range": [
                                4318,
                                4381
                              ],
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 36
                                },
                                "end": {
                                  "line": 133,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": null,
                            "range": [
                              4288,
                              4381
                            ],
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 6
                              },
                              "end": {
                                "line": 133,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "range": [
                          4280,
                          4387
                        ],
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 51
                          },
                          "end": {
                            "line": 134,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4233,
                        4387
                      ],
                      "loc": {
                        "start": {
                          "line": 129,
                          "column": 4
                        },
                        "end": {
                          "line": 134,
                          "column": 5
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Line",
                          "value": " run filters",
                          "range": [
                            4214,
                            4228
                          ],
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 4
                            },
                            "end": {
                              "line": 128,
                              "column": 18
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "UpdateExpression",
                        "operator": "++",
                        "argument": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              4392,
                              4396
                            ],
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 4
                              },
                              "end": {
                                "line": 135,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_processCount",
                            "range": [
                              4397,
                              4410
                            ],
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 9
                              },
                              "end": {
                                "line": 135,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            4392,
                            4410
                          ],
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 4
                            },
                            "end": {
                              "line": 135,
                              "column": 22
                            }
                          }
                        },
                        "prefix": false,
                        "range": [
                          4392,
                          4412
                        ],
                        "loc": {
                          "start": {
                            "line": 135,
                            "column": 4
                          },
                          "end": {
                            "line": 135,
                            "column": 24
                          }
                        }
                      },
                      "range": [
                        4392,
                        4413
                      ],
                      "loc": {
                        "start": {
                          "line": 135,
                          "column": 4
                        },
                        "end": {
                          "line": 135,
                          "column": 25
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "Line",
                          "value": " run handleProcess()",
                          "range": [
                            4418,
                            4440
                          ],
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 4
                            },
                            "end": {
                              "line": 136,
                              "column": 26
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ForStatement",
                      "init": {
                        "type": "VariableDeclaration",
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "id": {
                              "type": "Identifier",
                              "name": "i",
                              "range": [
                                4454,
                                4455
                              ],
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 13
                                },
                                "end": {
                                  "line": 137,
                                  "column": 14
                                }
                              }
                            },
                            "init": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                4458,
                                4459
                              ],
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 17
                                },
                                "end": {
                                  "line": 137,
                                  "column": 18
                                }
                              }
                            },
                            "range": [
                              4454,
                              4459
                            ],
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 13
                              },
                              "end": {
                                "line": 137,
                                "column": 18
                              }
                            }
                          }
                        ],
                        "kind": "let",
                        "range": [
                          4450,
                          4459
                        ],
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 9
                          },
                          "end": {
                            "line": 137,
                            "column": 18
                          }
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "operator": "<",
                        "left": {
                          "type": "Identifier",
                          "name": "i",
                          "range": [
                            4461,
                            4462
                          ],
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 20
                            },
                            "end": {
                              "line": 137,
                              "column": 21
                            }
                          }
                        },
                        "right": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                4465,
                                4469
                              ],
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 24
                                },
                                "end": {
                                  "line": 137,
                                  "column": 28
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_handleProcessList",
                              "range": [
                                4470,
                                4488
                              ],
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 29
                                },
                                "end": {
                                  "line": 137,
                                  "column": 47
                                }
                              }
                            },
                            "range": [
                              4465,
                              4488
                            ],
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 24
                              },
                              "end": {
                                "line": 137,
                                "column": 47
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "length",
                            "range": [
                              4489,
                              4495
                            ],
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 48
                              },
                              "end": {
                                "line": 137,
                                "column": 54
                              }
                            }
                          },
                          "range": [
                            4465,
                            4495
                          ],
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 24
                            },
                            "end": {
                              "line": 137,
                              "column": 54
                            }
                          }
                        },
                        "range": [
                          4461,
                          4495
                        ],
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 20
                          },
                          "end": {
                            "line": 137,
                            "column": 54
                          }
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "operator": "++",
                        "argument": {
                          "type": "Identifier",
                          "name": "i",
                          "range": [
                            4497,
                            4498
                          ],
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 56
                            },
                            "end": {
                              "line": 137,
                              "column": 57
                            }
                          }
                        },
                        "prefix": false,
                        "range": [
                          4497,
                          4500
                        ],
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 56
                          },
                          "end": {
                            "line": 137,
                            "column": 59
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "id": {
                                  "type": "Identifier",
                                  "name": "collectorName",
                                  "range": [
                                    4516,
                                    4529
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 25
                                    }
                                  }
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "computed": true,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4532,
                                        4536
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 138,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 138,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "_handleProcessList",
                                      "range": [
                                        4537,
                                        4555
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 138,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 138,
                                          "column": 51
                                        }
                                      }
                                    },
                                    "range": [
                                      4532,
                                      4555
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 138,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 138,
                                        "column": 51
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "i",
                                    "range": [
                                      4556,
                                      4557
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 138,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 138,
                                        "column": 53
                                      }
                                    }
                                  },
                                  "range": [
                                    4532,
                                    4558
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 54
                                    }
                                  }
                                },
                                "range": [
                                  4516,
                                  4558
                                ],
                                "loc": {
                                  "start": {
                                    "line": 138,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 138,
                                    "column": 54
                                  }
                                }
                              }
                            ],
                            "kind": "const",
                            "range": [
                              4510,
                              4559
                            ],
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 6
                              },
                              "end": {
                                "line": 138,
                                "column": 55
                              }
                            }
                          },
                          {
                            "type": "VariableDeclaration",
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "id": {
                                  "type": "Identifier",
                                  "name": "collector",
                                  "range": [
                                    4572,
                                    4581
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 139,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 139,
                                      "column": 21
                                    }
                                  }
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "computed": true,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4584,
                                        4588
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 139,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 139,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "_collectors",
                                      "range": [
                                        4589,
                                        4600
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 139,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 139,
                                          "column": 40
                                        }
                                      }
                                    },
                                    "range": [
                                      4584,
                                      4600
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 139,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 139,
                                        "column": 40
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "collectorName",
                                    "range": [
                                      4601,
                                      4614
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 139,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 139,
                                        "column": 54
                                      }
                                    }
                                  },
                                  "range": [
                                    4584,
                                    4615
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 139,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 139,
                                      "column": 55
                                    }
                                  }
                                },
                                "range": [
                                  4572,
                                  4615
                                ],
                                "loc": {
                                  "start": {
                                    "line": 139,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 139,
                                    "column": 55
                                  }
                                }
                              }
                            ],
                            "kind": "const",
                            "range": [
                              4566,
                              4616
                            ],
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 6
                              },
                              "end": {
                                "line": 139,
                                "column": 56
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      4623,
                                      4627
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_state",
                                    "range": [
                                      4628,
                                      4634
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "range": [
                                    4623,
                                    4634
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 17
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "collectorName",
                                  "range": [
                                    4635,
                                    4648
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 31
                                    }
                                  }
                                },
                                "range": [
                                  4623,
                                  4649
                                ],
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 32
                                  }
                                }
                              },
                              "right": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "collector",
                                    "range": [
                                      4652,
                                      4661
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 44
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "handleProcess",
                                    "range": [
                                      4662,
                                      4675
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 58
                                      }
                                    }
                                  },
                                  "range": [
                                    4652,
                                    4675
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 58
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4685,
                                        4689
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 141,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "_state",
                                      "range": [
                                        4690,
                                        4696
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 141,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "range": [
                                      4685,
                                      4696
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 19
                                      }
                                    }
                                  },
                                  {
                                    "type": "LogicalExpression",
                                    "operator": "||",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": true,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4706,
                                            4710
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_state",
                                          "range": [
                                            4711,
                                            4717
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 19
                                            }
                                          }
                                        },
                                        "range": [
                                          4706,
                                          4717
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 142,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 19
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "collectorName",
                                        "range": [
                                          4718,
                                          4731
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 142,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "range": [
                                        4706,
                                        4732
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 142,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 142,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "collector",
                                        "range": [
                                          4736,
                                          4745
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 142,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "initialValue",
                                        "range": [
                                          4746,
                                          4758
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 142,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 60
                                          }
                                        }
                                      },
                                      "range": [
                                        4736,
                                        4758
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 142,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 142,
                                          "column": 60
                                        }
                                      }
                                    },
                                    "range": [
                                      4706,
                                      4758
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 142,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 142,
                                        "column": 60
                                      }
                                    }
                                  },
                                  {
                                    "type": "Identifier",
                                    "name": "value",
                                    "range": [
                                      4768,
                                      4773
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 143,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 143,
                                        "column": 13
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4652,
                                  4781
                                ],
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 7
                                  }
                                }
                              },
                              "range": [
                                4623,
                                4781
                              ],
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 6
                                },
                                "end": {
                                  "line": 144,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              4623,
                              4782
                            ],
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 6
                              },
                              "end": {
                                "line": 144,
                                "column": 8
                              }
                            }
                          }
                        ],
                        "range": [
                          4502,
                          4788
                        ],
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 61
                          },
                          "end": {
                            "line": 145,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4445,
                        4788
                      ],
                      "loc": {
                        "start": {
                          "line": 137,
                          "column": 4
                        },
                        "end": {
                          "line": 145,
                          "column": 5
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Line",
                          "value": " run handleProcess()",
                          "range": [
                            4418,
                            4440
                          ],
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 4
                            },
                            "end": {
                              "line": 136,
                              "column": 26
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "range": [
                    4208,
                    4792
                  ],
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 17
                    },
                    "end": {
                      "line": 146,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  4200,
                  4792
                ],
                "loc": {
                  "start": {
                    "line": 127,
                    "column": 9
                  },
                  "end": {
                    "line": 146,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                4193,
                4792
              ],
              "loc": {
                "start": {
                  "line": 127,
                  "column": 2
                },
                "end": {
                  "line": 146,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "reset",
                "range": [
                  4795,
                  4800
                ],
                "loc": {
                  "start": {
                    "line": 147,
                    "column": 2
                  },
                  "end": {
                    "line": 147,
                    "column": 7
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "self",
                            "range": [
                              4815,
                              4819
                            ],
                            "loc": {
                              "start": {
                                "line": 148,
                                "column": 10
                              },
                              "end": {
                                "line": 148,
                                "column": 14
                              }
                            }
                          },
                          "init": {
                            "type": "ThisExpression",
                            "range": [
                              4822,
                              4826
                            ],
                            "loc": {
                              "start": {
                                "line": 148,
                                "column": 17
                              },
                              "end": {
                                "line": 148,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            4815,
                            4826
                          ],
                          "loc": {
                            "start": {
                              "line": 148,
                              "column": 10
                            },
                            "end": {
                              "line": 148,
                              "column": 21
                            }
                          }
                        }
                      ],
                      "kind": "const",
                      "range": [
                        4809,
                        4827
                      ],
                      "loc": {
                        "start": {
                          "line": 148,
                          "column": 4
                        },
                        "end": {
                          "line": 148,
                          "column": 22
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              4832,
                              4836
                            ],
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 4
                              },
                              "end": {
                                "line": 149,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_state",
                            "range": [
                              4837,
                              4843
                            ],
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 9
                              },
                              "end": {
                                "line": 149,
                                "column": 15
                              }
                            }
                          },
                          "range": [
                            4832,
                            4843
                          ],
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 4
                            },
                            "end": {
                              "line": 149,
                              "column": 15
                            }
                          }
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "properties": [],
                          "range": [
                            4846,
                            4848
                          ],
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 18
                            },
                            "end": {
                              "line": 149,
                              "column": 20
                            }
                          }
                        },
                        "range": [
                          4832,
                          4848
                        ],
                        "loc": {
                          "start": {
                            "line": 149,
                            "column": 4
                          },
                          "end": {
                            "line": 149,
                            "column": 20
                          }
                        }
                      },
                      "range": [
                        4832,
                        4849
                      ],
                      "loc": {
                        "start": {
                          "line": 149,
                          "column": 4
                        },
                        "end": {
                          "line": 149,
                          "column": 21
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                4854,
                                4858
                              ],
                              "loc": {
                                "start": {
                                  "line": 150,
                                  "column": 4
                                },
                                "end": {
                                  "line": 150,
                                  "column": 8
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_collectorNames",
                              "range": [
                                4859,
                                4874
                              ],
                              "loc": {
                                "start": {
                                  "line": 150,
                                  "column": 9
                                },
                                "end": {
                                  "line": 150,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              4854,
                              4874
                            ],
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 4
                              },
                              "end": {
                                "line": 150,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "forEach",
                            "range": [
                              4875,
                              4882
                            ],
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 25
                              },
                              "end": {
                                "line": 150,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            4854,
                            4882
                          ],
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 4
                            },
                            "end": {
                              "line": 150,
                              "column": 32
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "FunctionExpression",
                            "id": null,
                            "params": [
                              {
                                "type": "Identifier",
                                "name": "collectorName",
                                "range": [
                                  4893,
                                  4906
                                ],
                                "loc": {
                                  "start": {
                                    "line": 150,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 150,
                                    "column": 56
                                  }
                                }
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": true,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "self",
                                          "range": [
                                            4916,
                                            4920
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 151,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 151,
                                              "column": 10
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_state",
                                          "range": [
                                            4921,
                                            4927
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 151,
                                              "column": 11
                                            },
                                            "end": {
                                              "line": 151,
                                              "column": 17
                                            }
                                          }
                                        },
                                        "range": [
                                          4916,
                                          4927
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 151,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 151,
                                            "column": 17
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "collectorName",
                                        "range": [
                                          4928,
                                          4941
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 151,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 151,
                                            "column": 31
                                          }
                                        }
                                      },
                                      "range": [
                                        4916,
                                        4942
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "name": "undefined",
                                      "range": [
                                        4945,
                                        4954
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "range": [
                                      4916,
                                      4954
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 44
                                      }
                                    }
                                  },
                                  "range": [
                                    4916,
                                    4955
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 151,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 151,
                                      "column": 45
                                    }
                                  }
                                }
                              ],
                              "range": [
                                4908,
                                4961
                              ],
                              "loc": {
                                "start": {
                                  "line": 150,
                                  "column": 58
                                },
                                "end": {
                                  "line": 152,
                                  "column": 5
                                }
                              }
                            },
                            "generator": false,
                            "expression": false,
                            "range": [
                              4883,
                              4961
                            ],
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 33
                              },
                              "end": {
                                "line": 152,
                                "column": 5
                              }
                            }
                          }
                        ],
                        "range": [
                          4854,
                          4962
                        ],
                        "loc": {
                          "start": {
                            "line": 150,
                            "column": 4
                          },
                          "end": {
                            "line": 152,
                            "column": 6
                          }
                        }
                      },
                      "range": [
                        4854,
                        4963
                      ],
                      "loc": {
                        "start": {
                          "line": 150,
                          "column": 4
                        },
                        "end": {
                          "line": 152,
                          "column": 7
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              4968,
                              4972
                            ],
                            "loc": {
                              "start": {
                                "line": 153,
                                "column": 4
                              },
                              "end": {
                                "line": 153,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_processCount",
                            "range": [
                              4973,
                              4986
                            ],
                            "loc": {
                              "start": {
                                "line": 153,
                                "column": 9
                              },
                              "end": {
                                "line": 153,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            4968,
                            4986
                          ],
                          "loc": {
                            "start": {
                              "line": 153,
                              "column": 4
                            },
                            "end": {
                              "line": 153,
                              "column": 22
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": 0,
                          "raw": "0",
                          "range": [
                            4989,
                            4990
                          ],
                          "loc": {
                            "start": {
                              "line": 153,
                              "column": 25
                            },
                            "end": {
                              "line": 153,
                              "column": 26
                            }
                          }
                        },
                        "range": [
                          4968,
                          4990
                        ],
                        "loc": {
                          "start": {
                            "line": 153,
                            "column": 4
                          },
                          "end": {
                            "line": 153,
                            "column": 26
                          }
                        }
                      },
                      "range": [
                        4968,
                        4991
                      ],
                      "loc": {
                        "start": {
                          "line": 153,
                          "column": 4
                        },
                        "end": {
                          "line": 153,
                          "column": 27
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              4996,
                              5000
                            ],
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 4
                              },
                              "end": {
                                "line": 154,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_processFilteredCount",
                            "range": [
                              5001,
                              5022
                            ],
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 9
                              },
                              "end": {
                                "line": 154,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            4996,
                            5022
                          ],
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 4
                            },
                            "end": {
                              "line": 154,
                              "column": 30
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": 0,
                          "raw": "0",
                          "range": [
                            5025,
                            5026
                          ],
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 33
                            },
                            "end": {
                              "line": 154,
                              "column": 34
                            }
                          }
                        },
                        "range": [
                          4996,
                          5026
                        ],
                        "loc": {
                          "start": {
                            "line": 154,
                            "column": 4
                          },
                          "end": {
                            "line": 154,
                            "column": 34
                          }
                        }
                      },
                      "range": [
                        4996,
                        5027
                      ],
                      "loc": {
                        "start": {
                          "line": 154,
                          "column": 4
                        },
                        "end": {
                          "line": 154,
                          "column": 35
                        }
                      }
                    }
                  ],
                  "range": [
                    4803,
                    5031
                  ],
                  "loc": {
                    "start": {
                      "line": 147,
                      "column": 10
                    },
                    "end": {
                      "line": 155,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  4800,
                  5031
                ],
                "loc": {
                  "start": {
                    "line": 147,
                    "column": 7
                  },
                  "end": {
                    "line": 155,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                4795,
                5031
              ],
              "loc": {
                "start": {
                  "line": 147,
                  "column": 2
                },
                "end": {
                  "line": 155,
                  "column": 3
                }
              },
              "static": false
            }
          ],
          "range": [
            302,
            5033
          ],
          "loc": {
            "start": {
              "line": 10,
              "column": 31
            },
            "end": {
              "line": 156,
              "column": 1
            }
          }
        },
        "range": [
          286,
          5033
        ],
        "loc": {
          "start": {
            "line": 10,
            "column": 15
          },
          "end": {
            "line": 156,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * A stat collector that initially includes no collector functions.\n * @example\n * const stats = new BaseStats();\n * stats.addCollector({name: 'custom', initialValue: 0, requirements: [], handleUpdate: fn});\n * stats.processAll([1, 2, 3, 4, 5]);\n * stats.get();\n ",
            "range": [
              1,
              270
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "range": [
        271,
        5033
      ],
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 156,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * A stat collector that initially includes no collector functions.\n * @example\n * const stats = new BaseStats();\n * stats.addCollector({name: 'custom', initialValue: 0, requirements: [], handleUpdate: fn});\n * stats.processAll([1, 2, 3, 4, 5]);\n * stats.get();\n ",
          "range": [
            1,
            270
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 3
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    271,
    5033
  ],
  "loc": {
    "start": {
      "line": 10,
      "column": 0
    },
    "end": {
      "line": 156,
      "column": 1
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * A stat collector that initially includes no collector functions.\n * @example\n * const stats = new BaseStats();\n * stats.addCollector({name: 'custom', initialValue: 0, requirements: [], handleUpdate: fn});\n * stats.processAll([1, 2, 3, 4, 5]);\n * stats.get();\n ",
      "range": [
        1,
        270
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Add a collector function that can process data\n   * when process() or get() is called.\n   * @param {Object} collector An object with the following properties:\n   *   - **name** - [String] The name of the collector\n   *   - **initialValue** - [any] The initial value if update() has never been called\n   *   - **requirements** - [Array] An array of collector names that must be added before this collector\n   *   - **handleProcess** - [Function]\n   *   - **handleGet** - [Function]\n   * @example\n   * const stats = new BaseStats();\n   * stats.addCollector({\n   *   name: 'test-sum',\n   *   initialValue: 0,\n   *   requirements: [],\n   *   handleUpdate: function (prev, state, val) { return prev + val; }\n   * });\n   * @return {undefined}\n   ",
      "range": [
        583,
        1334
      ],
      "loc": {
        "start": {
          "line": 22,
          "column": 2
        },
        "end": {
          "line": 40,
          "column": 5
        }
      }
    },
    {
      "type": "Line",
      "value": " make a copy",
      "range": [
        1857,
        1871
      ],
      "loc": {
        "start": {
          "line": 54,
          "column": 6
        },
        "end": {
          "line": 54,
          "column": 20
        }
      }
    },
    {
      "type": "Line",
      "value": " check requirements",
      "range": [
        1922,
        1943
      ],
      "loc": {
        "start": {
          "line": 56,
          "column": 6
        },
        "end": {
          "line": 56,
          "column": 27
        }
      }
    },
    {
      "type": "Line",
      "value": " add our collector",
      "range": [
        2498,
        2518
      ],
      "loc": {
        "start": {
          "line": 70,
          "column": 6
        },
        "end": {
          "line": 70,
          "column": 26
        }
      }
    },
    {
      "type": "Line",
      "value": " run handleGet()",
      "range": [
        3315,
        3333
      ],
      "loc": {
        "start": {
          "line": 98,
          "column": 4
        },
        "end": {
          "line": 98,
          "column": 22
        }
      }
    },
    {
      "type": "Line",
      "value": " sort, ignore, deep-copy, and use zeroForUndefined if neeeded",
      "range": [
        3651,
        3714
      ],
      "loc": {
        "start": {
          "line": 108,
          "column": 4
        },
        "end": {
          "line": 108,
          "column": 67
        }
      }
    },
    {
      "type": "Line",
      "value": " run filters",
      "range": [
        4214,
        4228
      ],
      "loc": {
        "start": {
          "line": 128,
          "column": 4
        },
        "end": {
          "line": 128,
          "column": 18
        }
      }
    },
    {
      "type": "Line",
      "value": " run handleProcess()",
      "range": [
        4418,
        4440
      ],
      "loc": {
        "start": {
          "line": 136,
          "column": 4
        },
        "end": {
          "line": 136,
          "column": 26
        }
      }
    }
  ]
}