{
  "type": "File",
  "start": 0,
  "end": 3488,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 63,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 3488,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 63,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ExportDefaultDeclaration",
        "start": 2027,
        "end": 3486,
        "loc": {
          "start": {
            "line": 27,
            "column": 0
          },
          "end": {
            "line": 62,
            "column": 1
          }
        },
        "declaration": {
          "type": "FunctionDeclaration",
          "start": 2042,
          "end": 3486,
          "loc": {
            "start": {
              "line": 27,
              "column": 15
            },
            "end": {
              "line": 62,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 2051,
            "end": 2057,
            "loc": {
              "start": {
                "line": 27,
                "column": 24
              },
              "end": {
                "line": 27,
                "column": 30
              },
              "identifierName": "logger"
            },
            "name": "logger",
            "leadingComments": null
          },
          "generator": false,
          "expression": false,
          "async": false,
          "params": [
            {
              "type": "AssignmentPattern",
              "start": 2058,
              "end": 2073,
              "loc": {
                "start": {
                  "line": 27,
                  "column": 31
                },
                "end": {
                  "line": 27,
                  "column": 46
                }
              },
              "left": {
                "type": "Identifier",
                "start": 2058,
                "end": 2062,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 31
                  },
                  "end": {
                    "line": 27,
                    "column": 35
                  },
                  "identifierName": "name"
                },
                "name": "name"
              },
              "right": {
                "type": "StringLiteral",
                "start": 2065,
                "end": 2073,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 38
                  },
                  "end": {
                    "line": 27,
                    "column": 46
                  }
                },
                "extra": {
                  "rawValue": "logger",
                  "raw": "'logger'"
                },
                "value": "logger"
              }
            },
            {
              "type": "AssignmentPattern",
              "start": 2075,
              "end": 2279,
              "loc": {
                "start": {
                  "line": 27,
                  "column": 48
                },
                "end": {
                  "line": 33,
                  "column": 6
                }
              },
              "left": {
                "type": "ObjectPattern",
                "start": 2075,
                "end": 2274,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 48
                  },
                  "end": {
                    "line": 33,
                    "column": 1
                  }
                },
                "properties": [
                  {
                    "type": "ObjectProperty",
                    "start": 2082,
                    "end": 2099,
                    "loc": {
                      "start": {
                        "line": 28,
                        "column": 4
                      },
                      "end": {
                        "line": 28,
                        "column": 21
                      }
                    },
                    "method": false,
                    "shorthand": true,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2082,
                      "end": 2089,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 4
                        },
                        "end": {
                          "line": 28,
                          "column": 11
                        },
                        "identifierName": "backend"
                      },
                      "name": "backend"
                    },
                    "value": {
                      "type": "AssignmentPattern",
                      "start": 2082,
                      "end": 2099,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 4
                        },
                        "end": {
                          "line": 28,
                          "column": 21
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 2082,
                        "end": 2089,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 4
                          },
                          "end": {
                            "line": 28,
                            "column": 11
                          },
                          "identifierName": "backend"
                        },
                        "name": "backend"
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 2092,
                        "end": 2099,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 14
                          },
                          "end": {
                            "line": 28,
                            "column": 21
                          },
                          "identifierName": "console"
                        },
                        "name": "console"
                      }
                    },
                    "extra": {
                      "shorthand": true
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start": 2106,
                    "end": 2184,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 4
                      },
                      "end": {
                        "line": 29,
                        "column": 82
                      }
                    },
                    "method": false,
                    "shorthand": true,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2106,
                      "end": 2115,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 4
                        },
                        "end": {
                          "line": 29,
                          "column": 13
                        },
                        "identifierName": "functions"
                      },
                      "name": "functions"
                    },
                    "value": {
                      "type": "AssignmentPattern",
                      "start": 2106,
                      "end": 2184,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 4
                        },
                        "end": {
                          "line": 29,
                          "column": 82
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 2106,
                        "end": 2115,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 4
                          },
                          "end": {
                            "line": 29,
                            "column": 13
                          },
                          "identifierName": "functions"
                        },
                        "name": "functions"
                      },
                      "right": {
                        "type": "ArrayExpression",
                        "start": 2118,
                        "end": 2184,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 16
                          },
                          "end": {
                            "line": 29,
                            "column": 82
                          }
                        },
                        "elements": [
                          {
                            "type": "StringLiteral",
                            "start": 2119,
                            "end": 2124,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 17
                              },
                              "end": {
                                "line": 29,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "log",
                              "raw": "'log'"
                            },
                            "value": "log"
                          },
                          {
                            "type": "StringLiteral",
                            "start": 2126,
                            "end": 2132,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 24
                              },
                              "end": {
                                "line": 29,
                                "column": 30
                              }
                            },
                            "extra": {
                              "rawValue": "info",
                              "raw": "'info'"
                            },
                            "value": "info"
                          },
                          {
                            "type": "StringLiteral",
                            "start": 2134,
                            "end": 2140,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 32
                              },
                              "end": {
                                "line": 29,
                                "column": 38
                              }
                            },
                            "extra": {
                              "rawValue": "warn",
                              "raw": "'warn'"
                            },
                            "value": "warn"
                          },
                          {
                            "type": "StringLiteral",
                            "start": 2142,
                            "end": 2149,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 40
                              },
                              "end": {
                                "line": 29,
                                "column": 47
                              }
                            },
                            "extra": {
                              "rawValue": "error",
                              "raw": "'error'"
                            },
                            "value": "error"
                          },
                          {
                            "type": "StringLiteral",
                            "start": 2151,
                            "end": 2158,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 49
                              },
                              "end": {
                                "line": 29,
                                "column": 56
                              }
                            },
                            "extra": {
                              "rawValue": "trace",
                              "raw": "'trace'"
                            },
                            "value": "trace"
                          },
                          {
                            "type": "StringLiteral",
                            "start": 2160,
                            "end": 2167,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 58
                              },
                              "end": {
                                "line": 29,
                                "column": 65
                              }
                            },
                            "extra": {
                              "rawValue": "table",
                              "raw": "'table'"
                            },
                            "value": "table"
                          },
                          {
                            "type": "StringLiteral",
                            "start": 2169,
                            "end": 2176,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 67
                              },
                              "end": {
                                "line": 29,
                                "column": 74
                              }
                            },
                            "extra": {
                              "rawValue": "debug",
                              "raw": "'debug'"
                            },
                            "value": "debug"
                          },
                          {
                            "type": "StringLiteral",
                            "start": 2178,
                            "end": 2183,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 76
                              },
                              "end": {
                                "line": 29,
                                "column": 81
                              }
                            },
                            "extra": {
                              "rawValue": "dir",
                              "raw": "'dir'"
                            },
                            "value": "dir"
                          }
                        ]
                      }
                    },
                    "extra": {
                      "shorthand": true
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start": 2191,
                    "end": 2210,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 4
                      },
                      "end": {
                        "line": 30,
                        "column": 23
                      }
                    },
                    "method": false,
                    "shorthand": true,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2191,
                      "end": 2199,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 4
                        },
                        "end": {
                          "line": 30,
                          "column": 12
                        },
                        "identifierName": "accessor"
                      },
                      "name": "accessor"
                    },
                    "value": {
                      "type": "AssignmentPattern",
                      "start": 2191,
                      "end": 2210,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 4
                        },
                        "end": {
                          "line": 30,
                          "column": 23
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 2191,
                        "end": 2199,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 4
                          },
                          "end": {
                            "line": 30,
                            "column": 12
                          },
                          "identifierName": "accessor"
                        },
                        "name": "accessor"
                      },
                      "right": {
                        "type": "StringLiteral",
                        "start": 2202,
                        "end": 2210,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 15
                          },
                          "end": {
                            "line": 30,
                            "column": 23
                          }
                        },
                        "extra": {
                          "rawValue": "logger",
                          "raw": "'logger'"
                        },
                        "value": "logger"
                      }
                    },
                    "extra": {
                      "shorthand": true
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start": 2217,
                    "end": 2249,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 4
                      },
                      "end": {
                        "line": 31,
                        "column": 36
                      }
                    },
                    "method": false,
                    "shorthand": true,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2217,
                      "end": 2225,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 4
                        },
                        "end": {
                          "line": 31,
                          "column": 12
                        },
                        "identifierName": "prefixer"
                      },
                      "name": "prefixer"
                    },
                    "value": {
                      "type": "AssignmentPattern",
                      "start": 2217,
                      "end": 2249,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 4
                        },
                        "end": {
                          "line": 31,
                          "column": 36
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 2217,
                        "end": 2225,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 4
                          },
                          "end": {
                            "line": 31,
                            "column": 12
                          },
                          "identifierName": "prefixer"
                        },
                        "name": "prefixer"
                      },
                      "right": {
                        "type": "ArrowFunctionExpression",
                        "start": 2228,
                        "end": 2249,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 15
                          },
                          "end": {
                            "line": 31,
                            "column": 36
                          }
                        },
                        "id": null,
                        "generator": false,
                        "expression": true,
                        "async": false,
                        "params": [
                          {
                            "type": "Identifier",
                            "start": 2229,
                            "end": 2233,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 16
                              },
                              "end": {
                                "line": 31,
                                "column": 20
                              },
                              "identifierName": "name"
                            },
                            "name": "name"
                          }
                        ],
                        "body": {
                          "type": "TemplateLiteral",
                          "start": 2238,
                          "end": 2249,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 25
                            },
                            "end": {
                              "line": 31,
                              "column": 36
                            }
                          },
                          "expressions": [
                            {
                              "type": "Identifier",
                              "start": 2242,
                              "end": 2246,
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 29
                                },
                                "end": {
                                  "line": 31,
                                  "column": 33
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            }
                          ],
                          "quasis": [
                            {
                              "type": "TemplateElement",
                              "start": 2239,
                              "end": 2240,
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 26
                                },
                                "end": {
                                  "line": 31,
                                  "column": 27
                                }
                              },
                              "value": {
                                "raw": "[",
                                "cooked": "["
                              },
                              "tail": false
                            },
                            {
                              "type": "TemplateElement",
                              "start": 2247,
                              "end": 2248,
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 34
                                },
                                "end": {
                                  "line": 31,
                                  "column": 35
                                }
                              },
                              "value": {
                                "raw": "]",
                                "cooked": "]"
                              },
                              "tail": true
                            }
                          ]
                        }
                      }
                    },
                    "extra": {
                      "shorthand": true
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start": 2256,
                    "end": 2271,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 4
                      },
                      "end": {
                        "line": 32,
                        "column": 19
                      }
                    },
                    "method": false,
                    "shorthand": true,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2256,
                      "end": 2261,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 4
                        },
                        "end": {
                          "line": 32,
                          "column": 9
                        },
                        "identifierName": "level"
                      },
                      "name": "level"
                    },
                    "value": {
                      "type": "AssignmentPattern",
                      "start": 2256,
                      "end": 2271,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 4
                        },
                        "end": {
                          "line": 32,
                          "column": 19
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 2256,
                        "end": 2261,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 4
                          },
                          "end": {
                            "line": 32,
                            "column": 9
                          },
                          "identifierName": "level"
                        },
                        "name": "level"
                      },
                      "right": {
                        "type": "StringLiteral",
                        "start": 2264,
                        "end": 2271,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 12
                          },
                          "end": {
                            "line": 32,
                            "column": 19
                          }
                        },
                        "extra": {
                          "rawValue": "debug",
                          "raw": "'debug'"
                        },
                        "value": "debug"
                      }
                    },
                    "extra": {
                      "shorthand": true
                    }
                  }
                ]
              },
              "right": {
                "type": "ObjectExpression",
                "start": 2277,
                "end": 2279,
                "loc": {
                  "start": {
                    "line": 33,
                    "column": 4
                  },
                  "end": {
                    "line": 33,
                    "column": 6
                  }
                },
                "properties": []
              }
            }
          ],
          "body": {
            "type": "BlockStatement",
            "start": 2281,
            "end": 3486,
            "loc": {
              "start": {
                "line": 33,
                "column": 8
              },
              "end": {
                "line": 62,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ReturnStatement",
                "start": 2288,
                "end": 3483,
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 4
                  },
                  "end": {
                    "line": 61,
                    "column": 6
                  }
                },
                "argument": {
                  "type": "FunctionExpression",
                  "start": 2295,
                  "end": 3482,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 11
                    },
                    "end": {
                      "line": 61,
                      "column": 5
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2304,
                    "end": 2317,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 20
                      },
                      "end": {
                        "line": 34,
                        "column": 33
                      },
                      "identifierName": "decorateClass"
                    },
                    "name": "decorateClass"
                  },
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 2318,
                      "end": 2324,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 34
                        },
                        "end": {
                          "line": 34,
                          "column": 40
                        },
                        "identifierName": "target"
                      },
                      "name": "target"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 2326,
                    "end": 3482,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 42
                      },
                      "end": {
                        "line": 61,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 2337,
                        "end": 2437,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 38,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 2341,
                          "end": 2348,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 12
                            },
                            "end": {
                              "line": 35,
                              "column": 19
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 2342,
                            "end": 2348,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 13
                              },
                              "end": {
                                "line": 35,
                                "column": 19
                              },
                              "identifierName": "target"
                            },
                            "name": "target"
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 2350,
                          "end": 2437,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 21
                            },
                            "end": {
                              "line": 38,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 2365,
                              "end": 2394,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 12
                                },
                                "end": {
                                  "line": 36,
                                  "column": 41
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 2365,
                                "end": 2393,
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 40
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 2365,
                                  "end": 2371,
                                  "loc": {
                                    "start": {
                                      "line": 36,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 36,
                                      "column": 18
                                    },
                                    "identifierName": "target"
                                  },
                                  "name": "target"
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 2374,
                                  "end": 2393,
                                  "loc": {
                                    "start": {
                                      "line": 36,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 36,
                                      "column": 40
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 2374,
                                    "end": 2387,
                                    "loc": {
                                      "start": {
                                        "line": 36,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 36,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2374,
                                      "end": 2380,
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 27
                                        },
                                        "identifierName": "Object"
                                      },
                                      "name": "Object"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2381,
                                      "end": 2387,
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 34
                                        },
                                        "identifierName": "create"
                                      },
                                      "name": "create"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "NullLiteral",
                                      "start": 2388,
                                      "end": 2392,
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 39
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 2408,
                              "end": 2426,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 12
                                },
                                "end": {
                                  "line": 37,
                                  "column": 30
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 2408,
                                "end": 2425,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 29
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 2408,
                                  "end": 2416,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 20
                                    },
                                    "identifierName": "accessor"
                                  },
                                  "name": "accessor"
                                },
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 2419,
                                  "end": 2425,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 29
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "this",
                                    "raw": "'this'"
                                  },
                                  "value": "this"
                                }
                              }
                            }
                          ],
                          "directives": []
                        },
                        "alternate": null
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 2447,
                        "end": 3237,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 8
                          },
                          "end": {
                            "line": 53,
                            "column": 15
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 2453,
                            "end": 3236,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 14
                              },
                              "end": {
                                "line": 53,
                                "column": 14
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 2453,
                              "end": 2465,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 14
                                },
                                "end": {
                                  "line": 39,
                                  "column": 26
                                },
                                "identifierName": "customLogger"
                              },
                              "name": "customLogger"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 2468,
                              "end": 3236,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 29
                                },
                                "end": {
                                  "line": 53,
                                  "column": 14
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2468,
                                "end": 2484,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2468,
                                  "end": 2477,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 38
                                    },
                                    "identifierName": "functions"
                                  },
                                  "name": "functions"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2478,
                                  "end": 2484,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 45
                                    },
                                    "identifierName": "reduce"
                                  },
                                  "name": "reduce"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 2485,
                                  "end": 3231,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 9
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 2486,
                                      "end": 2492,
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 53
                                        },
                                        "identifierName": "result"
                                      },
                                      "name": "result"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 2494,
                                      "end": 2496,
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 57
                                        },
                                        "identifierName": "fn"
                                      },
                                      "name": "fn"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 2501,
                                    "end": 3231,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 53,
                                        "column": 9
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 2516,
                                        "end": 3192,
                                        "loc": {
                                          "start": {
                                            "line": 40,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 28
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 2516,
                                          "end": 3191,
                                          "loc": {
                                            "start": {
                                              "line": 40,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 51,
                                              "column": 27
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 2516,
                                            "end": 2526,
                                            "loc": {
                                              "start": {
                                                "line": 40,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 40,
                                                "column": 22
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2516,
                                              "end": 2522,
                                              "loc": {
                                                "start": {
                                                  "line": 40,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 40,
                                                  "column": 18
                                                },
                                                "identifierName": "result"
                                              },
                                              "name": "result"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2523,
                                              "end": 2525,
                                              "loc": {
                                                "start": {
                                                  "line": 40,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 40,
                                                  "column": 21
                                                },
                                                "identifierName": "fn"
                                              },
                                              "name": "fn"
                                            },
                                            "computed": true
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 2529,
                                            "end": 3191,
                                            "loc": {
                                              "start": {
                                                "line": 40,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 51,
                                                "column": 27
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 2529,
                                              "end": 3183,
                                              "loc": {
                                                "start": {
                                                  "line": 40,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 51,
                                                  "column": 19
                                                }
                                              },
                                              "object": {
                                                "type": "FunctionExpression",
                                                "start": 2530,
                                                "end": 3177,
                                                "loc": {
                                                  "start": {
                                                    "line": 40,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 51,
                                                    "column": 13
                                                  }
                                                },
                                                "id": null,
                                                "generator": false,
                                                "expression": false,
                                                "async": false,
                                                "params": [
                                                  {
                                                    "type": "RestElement",
                                                    "start": 2539,
                                                    "end": 2546,
                                                    "loc": {
                                                      "start": {
                                                        "line": 40,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 40,
                                                        "column": 42
                                                      }
                                                    },
                                                    "argument": {
                                                      "type": "Identifier",
                                                      "start": 2542,
                                                      "end": 2546,
                                                      "loc": {
                                                        "start": {
                                                          "line": 40,
                                                          "column": 38
                                                        },
                                                        "end": {
                                                          "line": 40,
                                                          "column": 42
                                                        },
                                                        "identifierName": "args"
                                                      },
                                                      "name": "args"
                                                    }
                                                  }
                                                ],
                                                "body": {
                                                  "type": "BlockStatement",
                                                  "start": 2548,
                                                  "end": 3177,
                                                  "loc": {
                                                    "start": {
                                                      "line": 40,
                                                      "column": 44
                                                    },
                                                    "end": {
                                                      "line": 51,
                                                      "column": 13
                                                    }
                                                  },
                                                  "body": [
                                                    {
                                                      "type": "VariableDeclaration",
                                                      "start": 2567,
                                                      "end": 2605,
                                                      "loc": {
                                                        "start": {
                                                          "line": 41,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 41,
                                                          "column": 54
                                                        }
                                                      },
                                                      "declarations": [
                                                        {
                                                          "type": "VariableDeclarator",
                                                          "start": 2573,
                                                          "end": 2604,
                                                          "loc": {
                                                            "start": {
                                                              "line": 41,
                                                              "column": 22
                                                            },
                                                            "end": {
                                                              "line": 41,
                                                              "column": 53
                                                            }
                                                          },
                                                          "id": {
                                                            "type": "Identifier",
                                                            "start": 2573,
                                                            "end": 2580,
                                                            "loc": {
                                                              "start": {
                                                                "line": 41,
                                                                "column": 22
                                                              },
                                                              "end": {
                                                                "line": 41,
                                                                "column": 29
                                                              },
                                                              "identifierName": "fnLevel"
                                                            },
                                                            "name": "fnLevel"
                                                          },
                                                          "init": {
                                                            "type": "CallExpression",
                                                            "start": 2583,
                                                            "end": 2604,
                                                            "loc": {
                                                              "start": {
                                                                "line": 41,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 41,
                                                                "column": 53
                                                              }
                                                            },
                                                            "callee": {
                                                              "type": "MemberExpression",
                                                              "start": 2583,
                                                              "end": 2600,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 41,
                                                                  "column": 32
                                                                },
                                                                "end": {
                                                                  "line": 41,
                                                                  "column": 49
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "Identifier",
                                                                "start": 2583,
                                                                "end": 2592,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 41,
                                                                    "column": 32
                                                                  },
                                                                  "end": {
                                                                    "line": 41,
                                                                    "column": 41
                                                                  },
                                                                  "identifierName": "functions"
                                                                },
                                                                "name": "functions"
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 2593,
                                                                "end": 2600,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 41,
                                                                    "column": 42
                                                                  },
                                                                  "end": {
                                                                    "line": 41,
                                                                    "column": 49
                                                                  },
                                                                  "identifierName": "indexOf"
                                                                },
                                                                "name": "indexOf"
                                                              },
                                                              "computed": false
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "Identifier",
                                                                "start": 2601,
                                                                "end": 2603,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 41,
                                                                    "column": 50
                                                                  },
                                                                  "end": {
                                                                    "line": 41,
                                                                    "column": 52
                                                                  },
                                                                  "identifierName": "fn"
                                                                },
                                                                "name": "fn"
                                                              }
                                                            ]
                                                          }
                                                        }
                                                      ],
                                                      "kind": "const"
                                                    },
                                                    {
                                                      "type": "VariableDeclaration",
                                                      "start": 2623,
                                                      "end": 2705,
                                                      "loc": {
                                                        "start": {
                                                          "line": 42,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 42,
                                                          "column": 98
                                                        }
                                                      },
                                                      "declarations": [
                                                        {
                                                          "type": "VariableDeclarator",
                                                          "start": 2629,
                                                          "end": 2704,
                                                          "loc": {
                                                            "start": {
                                                              "line": 42,
                                                              "column": 22
                                                            },
                                                            "end": {
                                                              "line": 42,
                                                              "column": 97
                                                            }
                                                          },
                                                          "id": {
                                                            "type": "Identifier",
                                                            "start": 2629,
                                                            "end": 2641,
                                                            "loc": {
                                                              "start": {
                                                                "line": 42,
                                                                "column": 22
                                                              },
                                                              "end": {
                                                                "line": 42,
                                                                "column": 34
                                                              },
                                                              "identifierName": "allowedLevel"
                                                            },
                                                            "name": "allowedLevel"
                                                          },
                                                          "init": {
                                                            "type": "ConditionalExpression",
                                                            "start": 2644,
                                                            "end": 2704,
                                                            "loc": {
                                                              "start": {
                                                                "line": 42,
                                                                "column": 37
                                                              },
                                                              "end": {
                                                                "line": 42,
                                                                "column": 97
                                                              }
                                                            },
                                                            "test": {
                                                              "type": "BinaryExpression",
                                                              "start": 2644,
                                                              "end": 2669,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 42,
                                                                  "column": 37
                                                                },
                                                                "end": {
                                                                  "line": 42,
                                                                  "column": 62
                                                                }
                                                              },
                                                              "left": {
                                                                "type": "UnaryExpression",
                                                                "start": 2644,
                                                                "end": 2656,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 42,
                                                                    "column": 37
                                                                  },
                                                                  "end": {
                                                                    "line": 42,
                                                                    "column": 49
                                                                  }
                                                                },
                                                                "operator": "typeof",
                                                                "prefix": true,
                                                                "argument": {
                                                                  "type": "Identifier",
                                                                  "start": 2651,
                                                                  "end": 2656,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 42,
                                                                      "column": 44
                                                                    },
                                                                    "end": {
                                                                      "line": 42,
                                                                      "column": 49
                                                                    },
                                                                    "identifierName": "level"
                                                                  },
                                                                  "name": "level"
                                                                },
                                                                "extra": {
                                                                  "parenthesizedArgument": false
                                                                }
                                                              },
                                                              "operator": "===",
                                                              "right": {
                                                                "type": "StringLiteral",
                                                                "start": 2661,
                                                                "end": 2669,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 42,
                                                                    "column": 54
                                                                  },
                                                                  "end": {
                                                                    "line": 42,
                                                                    "column": 62
                                                                  }
                                                                },
                                                                "extra": {
                                                                  "rawValue": "number",
                                                                  "raw": "'number'"
                                                                },
                                                                "value": "number"
                                                              }
                                                            },
                                                            "consequent": {
                                                              "type": "Identifier",
                                                              "start": 2672,
                                                              "end": 2677,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 42,
                                                                  "column": 65
                                                                },
                                                                "end": {
                                                                  "line": 42,
                                                                  "column": 70
                                                                },
                                                                "identifierName": "level"
                                                              },
                                                              "name": "level"
                                                            },
                                                            "alternate": {
                                                              "type": "CallExpression",
                                                              "start": 2680,
                                                              "end": 2704,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 42,
                                                                  "column": 73
                                                                },
                                                                "end": {
                                                                  "line": 42,
                                                                  "column": 97
                                                                }
                                                              },
                                                              "callee": {
                                                                "type": "MemberExpression",
                                                                "start": 2680,
                                                                "end": 2697,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 42,
                                                                    "column": 73
                                                                  },
                                                                  "end": {
                                                                    "line": 42,
                                                                    "column": 90
                                                                  }
                                                                },
                                                                "object": {
                                                                  "type": "Identifier",
                                                                  "start": 2680,
                                                                  "end": 2689,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 42,
                                                                      "column": 73
                                                                    },
                                                                    "end": {
                                                                      "line": 42,
                                                                      "column": 82
                                                                    },
                                                                    "identifierName": "functions"
                                                                  },
                                                                  "name": "functions"
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "start": 2690,
                                                                  "end": 2697,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 42,
                                                                      "column": 83
                                                                    },
                                                                    "end": {
                                                                      "line": 42,
                                                                      "column": 90
                                                                    },
                                                                    "identifierName": "indexOf"
                                                                  },
                                                                  "name": "indexOf"
                                                                },
                                                                "computed": false
                                                              },
                                                              "arguments": [
                                                                {
                                                                  "type": "Identifier",
                                                                  "start": 2698,
                                                                  "end": 2703,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 42,
                                                                      "column": 91
                                                                    },
                                                                    "end": {
                                                                      "line": 42,
                                                                      "column": 96
                                                                    },
                                                                    "identifierName": "level"
                                                                  },
                                                                  "name": "level"
                                                                }
                                                              ]
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "kind": "const"
                                                    },
                                                    {
                                                      "type": "IfStatement",
                                                      "start": 2723,
                                                      "end": 2817,
                                                      "loc": {
                                                        "start": {
                                                          "line": 43,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 45,
                                                          "column": 17
                                                        }
                                                      },
                                                      "test": {
                                                        "type": "LogicalExpression",
                                                        "start": 2727,
                                                        "end": 2766,
                                                        "loc": {
                                                          "start": {
                                                            "line": 43,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 43,
                                                            "column": 59
                                                          }
                                                        },
                                                        "left": {
                                                          "type": "UnaryExpression",
                                                          "start": 2727,
                                                          "end": 2740,
                                                          "loc": {
                                                            "start": {
                                                              "line": 43,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 43,
                                                              "column": 33
                                                            }
                                                          },
                                                          "operator": "!",
                                                          "prefix": true,
                                                          "argument": {
                                                            "type": "Identifier",
                                                            "start": 2728,
                                                            "end": 2740,
                                                            "loc": {
                                                              "start": {
                                                                "line": 43,
                                                                "column": 21
                                                              },
                                                              "end": {
                                                                "line": 43,
                                                                "column": 33
                                                              },
                                                              "identifierName": "allowedLevel"
                                                            },
                                                            "name": "allowedLevel"
                                                          },
                                                          "extra": {
                                                            "parenthesizedArgument": false
                                                          }
                                                        },
                                                        "operator": "||",
                                                        "right": {
                                                          "type": "BinaryExpression",
                                                          "start": 2744,
                                                          "end": 2766,
                                                          "loc": {
                                                            "start": {
                                                              "line": 43,
                                                              "column": 37
                                                            },
                                                            "end": {
                                                              "line": 43,
                                                              "column": 59
                                                            }
                                                          },
                                                          "left": {
                                                            "type": "Identifier",
                                                            "start": 2744,
                                                            "end": 2751,
                                                            "loc": {
                                                              "start": {
                                                                "line": 43,
                                                                "column": 37
                                                              },
                                                              "end": {
                                                                "line": 43,
                                                                "column": 44
                                                              },
                                                              "identifierName": "fnLevel"
                                                            },
                                                            "name": "fnLevel"
                                                          },
                                                          "operator": ">",
                                                          "right": {
                                                            "type": "Identifier",
                                                            "start": 2754,
                                                            "end": 2766,
                                                            "loc": {
                                                              "start": {
                                                                "line": 43,
                                                                "column": 47
                                                              },
                                                              "end": {
                                                                "line": 43,
                                                                "column": 59
                                                              },
                                                              "identifierName": "allowedLevel"
                                                            },
                                                            "name": "allowedLevel"
                                                          }
                                                        }
                                                      },
                                                      "consequent": {
                                                        "type": "BlockStatement",
                                                        "start": 2768,
                                                        "end": 2817,
                                                        "loc": {
                                                          "start": {
                                                            "line": 43,
                                                            "column": 61
                                                          },
                                                          "end": {
                                                            "line": 45,
                                                            "column": 17
                                                          }
                                                        },
                                                        "body": [
                                                          {
                                                            "type": "ReturnStatement",
                                                            "start": 2791,
                                                            "end": 2798,
                                                            "loc": {
                                                              "start": {
                                                                "line": 44,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 44,
                                                                "column": 27
                                                              }
                                                            },
                                                            "argument": null
                                                          }
                                                        ],
                                                        "directives": []
                                                      },
                                                      "alternate": null
                                                    },
                                                    {
                                                      "type": "VariableDeclaration",
                                                      "start": 2835,
                                                      "end": 2917,
                                                      "loc": {
                                                        "start": {
                                                          "line": 46,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 46,
                                                          "column": 98
                                                        }
                                                      },
                                                      "declarations": [
                                                        {
                                                          "type": "VariableDeclarator",
                                                          "start": 2841,
                                                          "end": 2916,
                                                          "loc": {
                                                            "start": {
                                                              "line": 46,
                                                              "column": 22
                                                            },
                                                            "end": {
                                                              "line": 46,
                                                              "column": 97
                                                            }
                                                          },
                                                          "id": {
                                                            "type": "Identifier",
                                                            "start": 2841,
                                                            "end": 2847,
                                                            "loc": {
                                                              "start": {
                                                                "line": 46,
                                                                "column": 22
                                                              },
                                                              "end": {
                                                                "line": 46,
                                                                "column": 28
                                                              },
                                                              "identifierName": "prefix"
                                                            },
                                                            "name": "prefix"
                                                          },
                                                          "init": {
                                                            "type": "CallExpression",
                                                            "start": 2850,
                                                            "end": 2916,
                                                            "loc": {
                                                              "start": {
                                                                "line": 46,
                                                                "column": 31
                                                              },
                                                              "end": {
                                                                "line": 46,
                                                                "column": 97
                                                              }
                                                            },
                                                            "callee": {
                                                              "type": "Identifier",
                                                              "start": 2850,
                                                              "end": 2858,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 46,
                                                                  "column": 31
                                                                },
                                                                "end": {
                                                                  "line": 46,
                                                                  "column": 39
                                                                },
                                                                "identifierName": "prefixer"
                                                              },
                                                              "name": "prefixer"
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "ConditionalExpression",
                                                                "start": 2859,
                                                                "end": 2915,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 46,
                                                                    "column": 40
                                                                  },
                                                                  "end": {
                                                                    "line": 46,
                                                                    "column": 96
                                                                  }
                                                                },
                                                                "test": {
                                                                  "type": "BinaryExpression",
                                                                  "start": 2859,
                                                                  "end": 2885,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 46,
                                                                      "column": 40
                                                                    },
                                                                    "end": {
                                                                      "line": 46,
                                                                      "column": 66
                                                                    }
                                                                  },
                                                                  "left": {
                                                                    "type": "UnaryExpression",
                                                                    "start": 2859,
                                                                    "end": 2870,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 46,
                                                                        "column": 40
                                                                      },
                                                                      "end": {
                                                                        "line": 46,
                                                                        "column": 51
                                                                      }
                                                                    },
                                                                    "operator": "typeof",
                                                                    "prefix": true,
                                                                    "argument": {
                                                                      "type": "Identifier",
                                                                      "start": 2866,
                                                                      "end": 2870,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 46,
                                                                          "column": 47
                                                                        },
                                                                        "end": {
                                                                          "line": 46,
                                                                          "column": 51
                                                                        },
                                                                        "identifierName": "name"
                                                                      },
                                                                      "name": "name"
                                                                    },
                                                                    "extra": {
                                                                      "parenthesizedArgument": false
                                                                    }
                                                                  },
                                                                  "operator": "===",
                                                                  "right": {
                                                                    "type": "StringLiteral",
                                                                    "start": 2875,
                                                                    "end": 2885,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 46,
                                                                        "column": 56
                                                                      },
                                                                      "end": {
                                                                        "line": 46,
                                                                        "column": 66
                                                                      }
                                                                    },
                                                                    "extra": {
                                                                      "rawValue": "function",
                                                                      "raw": "'function'"
                                                                    },
                                                                    "value": "function"
                                                                  }
                                                                },
                                                                "consequent": {
                                                                  "type": "CallExpression",
                                                                  "start": 2888,
                                                                  "end": 2908,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 46,
                                                                      "column": 69
                                                                    },
                                                                    "end": {
                                                                      "line": 46,
                                                                      "column": 89
                                                                    }
                                                                  },
                                                                  "callee": {
                                                                    "type": "Identifier",
                                                                    "start": 2888,
                                                                    "end": 2892,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 46,
                                                                        "column": 69
                                                                      },
                                                                      "end": {
                                                                        "line": 46,
                                                                        "column": 73
                                                                      },
                                                                      "identifierName": "name"
                                                                    },
                                                                    "name": "name"
                                                                  },
                                                                  "arguments": [
                                                                    {
                                                                      "type": "ObjectExpression",
                                                                      "start": 2893,
                                                                      "end": 2907,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 46,
                                                                          "column": 74
                                                                        },
                                                                        "end": {
                                                                          "line": 46,
                                                                          "column": 88
                                                                        }
                                                                      },
                                                                      "properties": [
                                                                        {
                                                                          "type": "ObjectProperty",
                                                                          "start": 2894,
                                                                          "end": 2900,
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 46,
                                                                              "column": 75
                                                                            },
                                                                            "end": {
                                                                              "line": 46,
                                                                              "column": 81
                                                                            }
                                                                          },
                                                                          "method": false,
                                                                          "shorthand": true,
                                                                          "computed": false,
                                                                          "key": {
                                                                            "type": "Identifier",
                                                                            "start": 2894,
                                                                            "end": 2900,
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 46,
                                                                                "column": 75
                                                                              },
                                                                              "end": {
                                                                                "line": 46,
                                                                                "column": 81
                                                                              },
                                                                              "identifierName": "target"
                                                                            },
                                                                            "name": "target"
                                                                          },
                                                                          "value": {
                                                                            "type": "Identifier",
                                                                            "start": 2894,
                                                                            "end": 2900,
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 46,
                                                                                "column": 75
                                                                              },
                                                                              "end": {
                                                                                "line": 46,
                                                                                "column": 81
                                                                              },
                                                                              "identifierName": "target"
                                                                            },
                                                                            "name": "target"
                                                                          },
                                                                          "extra": {
                                                                            "shorthand": true
                                                                          }
                                                                        },
                                                                        {
                                                                          "type": "ObjectProperty",
                                                                          "start": 2902,
                                                                          "end": 2906,
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 46,
                                                                              "column": 83
                                                                            },
                                                                            "end": {
                                                                              "line": 46,
                                                                              "column": 87
                                                                            }
                                                                          },
                                                                          "method": false,
                                                                          "shorthand": true,
                                                                          "computed": false,
                                                                          "key": {
                                                                            "type": "Identifier",
                                                                            "start": 2902,
                                                                            "end": 2906,
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 46,
                                                                                "column": 83
                                                                              },
                                                                              "end": {
                                                                                "line": 46,
                                                                                "column": 87
                                                                              },
                                                                              "identifierName": "args"
                                                                            },
                                                                            "name": "args"
                                                                          },
                                                                          "value": {
                                                                            "type": "Identifier",
                                                                            "start": 2902,
                                                                            "end": 2906,
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 46,
                                                                                "column": 83
                                                                              },
                                                                              "end": {
                                                                                "line": 46,
                                                                                "column": 87
                                                                              },
                                                                              "identifierName": "args"
                                                                            },
                                                                            "name": "args"
                                                                          },
                                                                          "extra": {
                                                                            "shorthand": true
                                                                          }
                                                                        }
                                                                      ]
                                                                    }
                                                                  ]
                                                                },
                                                                "alternate": {
                                                                  "type": "Identifier",
                                                                  "start": 2911,
                                                                  "end": 2915,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 46,
                                                                      "column": 92
                                                                    },
                                                                    "end": {
                                                                      "line": 46,
                                                                      "column": 96
                                                                    },
                                                                    "identifierName": "name"
                                                                  },
                                                                  "name": "name"
                                                                }
                                                              }
                                                            ]
                                                          }
                                                        }
                                                      ],
                                                      "kind": "const"
                                                    },
                                                    {
                                                      "type": "VariableDeclaration",
                                                      "start": 2935,
                                                      "end": 2969,
                                                      "loc": {
                                                        "start": {
                                                          "line": 47,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 47,
                                                          "column": 50
                                                        }
                                                      },
                                                      "declarations": [
                                                        {
                                                          "type": "VariableDeclarator",
                                                          "start": 2941,
                                                          "end": 2968,
                                                          "loc": {
                                                            "start": {
                                                              "line": 47,
                                                              "column": 22
                                                            },
                                                            "end": {
                                                              "line": 47,
                                                              "column": 49
                                                            }
                                                          },
                                                          "id": {
                                                            "type": "Identifier",
                                                            "start": 2941,
                                                            "end": 2948,
                                                            "loc": {
                                                              "start": {
                                                                "line": 47,
                                                                "column": 22
                                                              },
                                                              "end": {
                                                                "line": 47,
                                                                "column": 29
                                                              },
                                                              "identifierName": "logArgs"
                                                            },
                                                            "name": "logArgs"
                                                          },
                                                          "init": {
                                                            "type": "ArrayExpression",
                                                            "start": 2951,
                                                            "end": 2968,
                                                            "loc": {
                                                              "start": {
                                                                "line": 47,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 47,
                                                                "column": 49
                                                              }
                                                            },
                                                            "elements": [
                                                              {
                                                                "type": "Identifier",
                                                                "start": 2952,
                                                                "end": 2958,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 47,
                                                                    "column": 33
                                                                  },
                                                                  "end": {
                                                                    "line": 47,
                                                                    "column": 39
                                                                  },
                                                                  "identifierName": "prefix"
                                                                },
                                                                "name": "prefix"
                                                              },
                                                              {
                                                                "type": "SpreadElement",
                                                                "start": 2960,
                                                                "end": 2967,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 47,
                                                                    "column": 41
                                                                  },
                                                                  "end": {
                                                                    "line": 47,
                                                                    "column": 48
                                                                  }
                                                                },
                                                                "argument": {
                                                                  "type": "Identifier",
                                                                  "start": 2963,
                                                                  "end": 2967,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 47,
                                                                      "column": 44
                                                                    },
                                                                    "end": {
                                                                      "line": 47,
                                                                      "column": 48
                                                                    },
                                                                    "identifierName": "args"
                                                                  },
                                                                  "name": "args"
                                                                }
                                                              }
                                                            ]
                                                          }
                                                        }
                                                      ],
                                                      "kind": "const"
                                                    },
                                                    {
                                                      "type": "VariableDeclaration",
                                                      "start": 2987,
                                                      "end": 3049,
                                                      "loc": {
                                                        "start": {
                                                          "line": 48,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 48,
                                                          "column": 78
                                                        }
                                                      },
                                                      "declarations": [
                                                        {
                                                          "type": "VariableDeclarator",
                                                          "start": 2993,
                                                          "end": 3048,
                                                          "loc": {
                                                            "start": {
                                                              "line": 48,
                                                              "column": 22
                                                            },
                                                            "end": {
                                                              "line": 48,
                                                              "column": 77
                                                            }
                                                          },
                                                          "id": {
                                                            "type": "Identifier",
                                                            "start": 2993,
                                                            "end": 3001,
                                                            "loc": {
                                                              "start": {
                                                                "line": 48,
                                                                "column": 22
                                                              },
                                                              "end": {
                                                                "line": 48,
                                                                "column": 30
                                                              },
                                                              "identifierName": "backends"
                                                            },
                                                            "name": "backends"
                                                          },
                                                          "init": {
                                                            "type": "ConditionalExpression",
                                                            "start": 3004,
                                                            "end": 3048,
                                                            "loc": {
                                                              "start": {
                                                                "line": 48,
                                                                "column": 33
                                                              },
                                                              "end": {
                                                                "line": 48,
                                                                "column": 77
                                                              }
                                                            },
                                                            "test": {
                                                              "type": "CallExpression",
                                                              "start": 3004,
                                                              "end": 3026,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 48,
                                                                  "column": 33
                                                                },
                                                                "end": {
                                                                  "line": 48,
                                                                  "column": 55
                                                                }
                                                              },
                                                              "callee": {
                                                                "type": "MemberExpression",
                                                                "start": 3004,
                                                                "end": 3017,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 48,
                                                                    "column": 33
                                                                  },
                                                                  "end": {
                                                                    "line": 48,
                                                                    "column": 46
                                                                  }
                                                                },
                                                                "object": {
                                                                  "type": "Identifier",
                                                                  "start": 3004,
                                                                  "end": 3009,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 48,
                                                                      "column": 33
                                                                    },
                                                                    "end": {
                                                                      "line": 48,
                                                                      "column": 38
                                                                    },
                                                                    "identifierName": "Array"
                                                                  },
                                                                  "name": "Array"
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "start": 3010,
                                                                  "end": 3017,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 48,
                                                                      "column": 39
                                                                    },
                                                                    "end": {
                                                                      "line": 48,
                                                                      "column": 46
                                                                    },
                                                                    "identifierName": "isArray"
                                                                  },
                                                                  "name": "isArray"
                                                                },
                                                                "computed": false
                                                              },
                                                              "arguments": [
                                                                {
                                                                  "type": "Identifier",
                                                                  "start": 3018,
                                                                  "end": 3025,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 48,
                                                                      "column": 47
                                                                    },
                                                                    "end": {
                                                                      "line": 48,
                                                                      "column": 54
                                                                    },
                                                                    "identifierName": "backend"
                                                                  },
                                                                  "name": "backend"
                                                                }
                                                              ]
                                                            },
                                                            "consequent": {
                                                              "type": "Identifier",
                                                              "start": 3029,
                                                              "end": 3036,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 48,
                                                                  "column": 58
                                                                },
                                                                "end": {
                                                                  "line": 48,
                                                                  "column": 65
                                                                },
                                                                "identifierName": "backend"
                                                              },
                                                              "name": "backend"
                                                            },
                                                            "alternate": {
                                                              "type": "ArrayExpression",
                                                              "start": 3039,
                                                              "end": 3048,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 48,
                                                                  "column": 68
                                                                },
                                                                "end": {
                                                                  "line": 48,
                                                                  "column": 77
                                                                }
                                                              },
                                                              "elements": [
                                                                {
                                                                  "type": "Identifier",
                                                                  "start": 3040,
                                                                  "end": 3047,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 48,
                                                                      "column": 69
                                                                    },
                                                                    "end": {
                                                                      "line": 48,
                                                                      "column": 76
                                                                    },
                                                                    "identifierName": "backend"
                                                                  },
                                                                  "name": "backend"
                                                                }
                                                              ]
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "kind": "const"
                                                    },
                                                    {
                                                      "type": "ExpressionStatement",
                                                      "start": 3067,
                                                      "end": 3132,
                                                      "loc": {
                                                        "start": {
                                                          "line": 49,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 49,
                                                          "column": 81
                                                        }
                                                      },
                                                      "expression": {
                                                        "type": "CallExpression",
                                                        "start": 3067,
                                                        "end": 3131,
                                                        "loc": {
                                                          "start": {
                                                            "line": 49,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 49,
                                                            "column": 80
                                                          }
                                                        },
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "start": 3067,
                                                          "end": 3083,
                                                          "loc": {
                                                            "start": {
                                                              "line": 49,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 49,
                                                              "column": 32
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 3067,
                                                            "end": 3075,
                                                            "loc": {
                                                              "start": {
                                                                "line": 49,
                                                                "column": 16
                                                              },
                                                              "end": {
                                                                "line": 49,
                                                                "column": 24
                                                              },
                                                              "identifierName": "backends"
                                                            },
                                                            "name": "backends"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 3076,
                                                            "end": 3083,
                                                            "loc": {
                                                              "start": {
                                                                "line": 49,
                                                                "column": 25
                                                              },
                                                              "end": {
                                                                "line": 49,
                                                                "column": 32
                                                              },
                                                              "identifierName": "forEach"
                                                            },
                                                            "name": "forEach"
                                                          },
                                                          "computed": false
                                                        },
                                                        "arguments": [
                                                          {
                                                            "type": "ArrowFunctionExpression",
                                                            "start": 3084,
                                                            "end": 3130,
                                                            "loc": {
                                                              "start": {
                                                                "line": 49,
                                                                "column": 33
                                                              },
                                                              "end": {
                                                                "line": 49,
                                                                "column": 79
                                                              }
                                                            },
                                                            "id": null,
                                                            "generator": false,
                                                            "expression": true,
                                                            "async": false,
                                                            "params": [
                                                              {
                                                                "type": "Identifier",
                                                                "start": 3084,
                                                                "end": 3091,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 49,
                                                                    "column": 33
                                                                  },
                                                                  "end": {
                                                                    "line": 49,
                                                                    "column": 40
                                                                  },
                                                                  "identifierName": "backend"
                                                                },
                                                                "name": "backend"
                                                              }
                                                            ],
                                                            "body": {
                                                              "type": "CallExpression",
                                                              "start": 3095,
                                                              "end": 3130,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 49,
                                                                  "column": 44
                                                                },
                                                                "end": {
                                                                  "line": 49,
                                                                  "column": 79
                                                                }
                                                              },
                                                              "callee": {
                                                                "type": "MemberExpression",
                                                                "start": 3095,
                                                                "end": 3112,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 49,
                                                                    "column": 44
                                                                  },
                                                                  "end": {
                                                                    "line": 49,
                                                                    "column": 61
                                                                  }
                                                                },
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "start": 3095,
                                                                  "end": 3106,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 49,
                                                                      "column": 44
                                                                    },
                                                                    "end": {
                                                                      "line": 49,
                                                                      "column": 55
                                                                    }
                                                                  },
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "start": 3095,
                                                                    "end": 3102,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 49,
                                                                        "column": 44
                                                                      },
                                                                      "end": {
                                                                        "line": 49,
                                                                        "column": 51
                                                                      },
                                                                      "identifierName": "backend"
                                                                    },
                                                                    "name": "backend"
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "start": 3103,
                                                                    "end": 3105,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 49,
                                                                        "column": 52
                                                                      },
                                                                      "end": {
                                                                        "line": 49,
                                                                        "column": 54
                                                                      },
                                                                      "identifierName": "fn"
                                                                    },
                                                                    "name": "fn"
                                                                  },
                                                                  "computed": true
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "start": 3107,
                                                                  "end": 3112,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 49,
                                                                      "column": 56
                                                                    },
                                                                    "end": {
                                                                      "line": 49,
                                                                      "column": 61
                                                                    },
                                                                    "identifierName": "apply"
                                                                  },
                                                                  "name": "apply"
                                                                },
                                                                "computed": false
                                                              },
                                                              "arguments": [
                                                                {
                                                                  "type": "Identifier",
                                                                  "start": 3113,
                                                                  "end": 3120,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 49,
                                                                      "column": 62
                                                                    },
                                                                    "end": {
                                                                      "line": 49,
                                                                      "column": 69
                                                                    },
                                                                    "identifierName": "backend"
                                                                  },
                                                                  "name": "backend"
                                                                },
                                                                {
                                                                  "type": "Identifier",
                                                                  "start": 3122,
                                                                  "end": 3129,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 49,
                                                                      "column": 71
                                                                    },
                                                                    "end": {
                                                                      "line": 49,
                                                                      "column": 78
                                                                    },
                                                                    "identifierName": "logArgs"
                                                                  },
                                                                  "name": "logArgs"
                                                                }
                                                              ]
                                                            }
                                                          }
                                                        ]
                                                      }
                                                    },
                                                    {
                                                      "type": "ReturnStatement",
                                                      "start": 3150,
                                                      "end": 3162,
                                                      "loc": {
                                                        "start": {
                                                          "line": 50,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 50,
                                                          "column": 28
                                                        }
                                                      },
                                                      "argument": {
                                                        "type": "BooleanLiteral",
                                                        "start": 3157,
                                                        "end": 3161,
                                                        "loc": {
                                                          "start": {
                                                            "line": 50,
                                                            "column": 23
                                                          },
                                                          "end": {
                                                            "line": 50,
                                                            "column": 27
                                                          }
                                                        },
                                                        "value": true
                                                      }
                                                    }
                                                  ],
                                                  "directives": []
                                                },
                                                "extra": {
                                                  "parenthesized": true,
                                                  "parenStart": 2529
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3179,
                                                "end": 3183,
                                                "loc": {
                                                  "start": {
                                                    "line": 51,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 51,
                                                    "column": 19
                                                  },
                                                  "identifierName": "bind"
                                                },
                                                "name": "bind"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 3184,
                                                "end": 3190,
                                                "loc": {
                                                  "start": {
                                                    "line": 51,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 51,
                                                    "column": 26
                                                  },
                                                  "identifierName": "result"
                                                },
                                                "name": "result"
                                              }
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "start": 3206,
                                        "end": 3220,
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 26
                                          }
                                        },
                                        "argument": {
                                          "type": "Identifier",
                                          "start": 3213,
                                          "end": 3219,
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 25
                                            },
                                            "identifierName": "result"
                                          },
                                          "name": "result"
                                        }
                                      }
                                    ],
                                    "directives": []
                                  }
                                },
                                {
                                  "type": "ObjectExpression",
                                  "start": 3233,
                                  "end": 3235,
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 13
                                    }
                                  },
                                  "properties": []
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "IfStatement",
                        "start": 3247,
                        "end": 3451,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 8
                          },
                          "end": {
                            "line": 59,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 3251,
                          "end": 3270,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 12
                            },
                            "end": {
                              "line": 54,
                              "column": 31
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 3251,
                            "end": 3259,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 12
                              },
                              "end": {
                                "line": 54,
                                "column": 20
                              },
                              "identifierName": "accessor"
                            },
                            "name": "accessor"
                          },
                          "operator": "===",
                          "right": {
                            "type": "StringLiteral",
                            "start": 3264,
                            "end": 3270,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 25
                              },
                              "end": {
                                "line": 54,
                                "column": 31
                              }
                            },
                            "extra": {
                              "rawValue": "this",
                              "raw": "'this'"
                            },
                            "value": "this"
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 3272,
                          "end": 3356,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 33
                            },
                            "end": {
                              "line": 56,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 3287,
                              "end": 3345,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 12
                                },
                                "end": {
                                  "line": 55,
                                  "column": 70
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 3287,
                                "end": 3344,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 69
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3287,
                                  "end": 3300,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3287,
                                    "end": 3293,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 18
                                      },
                                      "identifierName": "Object"
                                    },
                                    "name": "Object"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3294,
                                    "end": 3300,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 25
                                      },
                                      "identifierName": "assign"
                                    },
                                    "name": "assign"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "LogicalExpression",
                                    "start": 3302,
                                    "end": 3328,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 53
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 3302,
                                      "end": 3318,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 43
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3302,
                                        "end": 3308,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 33
                                          },
                                          "identifierName": "target"
                                        },
                                        "name": "target"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3309,
                                        "end": 3318,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 43
                                          },
                                          "identifierName": "prototype"
                                        },
                                        "name": "prototype"
                                      },
                                      "computed": false
                                    },
                                    "operator": "||",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 3322,
                                      "end": 3328,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 53
                                        },
                                        "identifierName": "target"
                                      },
                                      "name": "target"
                                    },
                                    "extra": {
                                      "parenthesized": true,
                                      "parenStart": 3301
                                    }
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 3331,
                                    "end": 3343,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 68
                                      },
                                      "identifierName": "customLogger"
                                    },
                                    "name": "customLogger"
                                  }
                                ]
                              }
                            }
                          ],
                          "directives": []
                        },
                        "alternate": {
                          "type": "BlockStatement",
                          "start": 3371,
                          "end": 3451,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 13
                            },
                            "end": {
                              "line": 59,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 3386,
                              "end": 3440,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 12
                                },
                                "end": {
                                  "line": 58,
                                  "column": 66
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 3386,
                                "end": 3439,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 65
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 3386,
                                  "end": 3424,
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "LogicalExpression",
                                    "start": 3387,
                                    "end": 3413,
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 39
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 3387,
                                      "end": 3403,
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3387,
                                        "end": 3393,
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 19
                                          },
                                          "identifierName": "target"
                                        },
                                        "name": "target"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3394,
                                        "end": 3403,
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 29
                                          },
                                          "identifierName": "prototype"
                                        },
                                        "name": "prototype"
                                      },
                                      "computed": false
                                    },
                                    "operator": "||",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 3407,
                                      "end": 3413,
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 39
                                        },
                                        "identifierName": "target"
                                      },
                                      "name": "target"
                                    },
                                    "extra": {
                                      "parenthesized": true,
                                      "parenStart": 3386
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3415,
                                    "end": 3423,
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 49
                                      },
                                      "identifierName": "accessor"
                                    },
                                    "name": "accessor"
                                  },
                                  "computed": true
                                },
                                "right": {
                                  "type": "Identifier",
                                  "start": 3427,
                                  "end": 3439,
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 65
                                    },
                                    "identifierName": "customLogger"
                                  },
                                  "name": "customLogger"
                                }
                              }
                            }
                          ],
                          "directives": []
                        }
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 3461,
                        "end": 3475,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 8
                          },
                          "end": {
                            "line": 60,
                            "column": 22
                          }
                        },
                        "argument": {
                          "type": "Identifier",
                          "start": 3468,
                          "end": 3474,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 15
                            },
                            "end": {
                              "line": 60,
                              "column": 21
                            },
                            "identifierName": "target"
                          },
                          "name": "target"
                        }
                      }
                    ],
                    "directives": []
                  }
                }
              }
            ],
            "directives": []
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\r\n * A class decorator that adds a logger object to class instances.\r\n * The logger object prepends a specified name to all log output.\r\n *\r\n * Unless you specify a custom `accessor`, the logger object is available via `this.logger` and you can use it as in `this.logger.warn('oh noes!')`.\r\n * A special case is `accessor: 'this'`- it leads to the log methods being available onthe decorated instance directly and you can use it as in `this.warn('oh noes!')`.\r\n *\r\n * @param {string|function} [name='logger'] - The name prefix. Prepended to all output of the created logger. If it is a function, the function should return a string.\r\n * @param {object} [config] - An optional configuration object.\r\n * @param {object|array} [config.backend = window.console] - The logger object that will be used. Can also be an array of logger objects.\r\n * @param {array} [config.functions = ['log', 'info', 'warn', 'error', 'trace', 'table', 'debug']] - An array of function names supported by the `logger` object..\r\n * @param {string} [config.accessor='logger'] - The name by which the logger object can be accessed on the decorated instance.\r\n * @param {function} [config.prefixer = (name) => `[${name}]`] - A function that creates the prefix. Receives the `name` string and should return a string.\r\n * @param {string|number} [config.level = debug] - A log level name. Should be either a number or one of the available `functions` (the array index is the numeric level), decides whether the message will be printed. E.g. the lowest level is `log` - only `logger.log()` will be printed, while the highest level is `debug` (last array element)\r\n * @return {bool} - Always returns `true`. (Allows usage as in `(args) => this.logger.log(args) && doSomething(args)`)\r\n *\r\n * @example\r\n * import React from 'react';\r\n * import logger from '@xailabs/logger';\r\n * @logger('App')\r\n * class App extends React.Component {\r\n *      componentDidMount() {\r\n *          this.logger.warn('watch out!'); // logs '[App] watch out!'\r\n *      }\r\n * }\r\n ",
              "start": 0,
              "end": 2025,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 0
                },
                "end": {
                  "line": 26,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\r\n * A class decorator that adds a logger object to class instances.\r\n * The logger object prepends a specified name to all log output.\r\n *\r\n * Unless you specify a custom `accessor`, the logger object is available via `this.logger` and you can use it as in `this.logger.warn('oh noes!')`.\r\n * A special case is `accessor: 'this'`- it leads to the log methods being available onthe decorated instance directly and you can use it as in `this.warn('oh noes!')`.\r\n *\r\n * @param {string|function} [name='logger'] - The name prefix. Prepended to all output of the created logger. If it is a function, the function should return a string.\r\n * @param {object} [config] - An optional configuration object.\r\n * @param {object|array} [config.backend = window.console] - The logger object that will be used. Can also be an array of logger objects.\r\n * @param {array} [config.functions = ['log', 'info', 'warn', 'error', 'trace', 'table', 'debug']] - An array of function names supported by the `logger` object..\r\n * @param {string} [config.accessor='logger'] - The name by which the logger object can be accessed on the decorated instance.\r\n * @param {function} [config.prefixer = (name) => `[${name}]`] - A function that creates the prefix. Receives the `name` string and should return a string.\r\n * @param {string|number} [config.level = debug] - A log level name. Should be either a number or one of the available `functions` (the array index is the numeric level), decides whether the message will be printed. E.g. the lowest level is `log` - only `logger.log()` will be printed, while the highest level is `debug` (last array element)\r\n * @return {bool} - Always returns `true`. (Allows usage as in `(args) => this.logger.log(args) && doSomething(args)`)\r\n *\r\n * @example\r\n * import React from 'react';\r\n * import logger from '@xailabs/logger';\r\n * @logger('App')\r\n * class App extends React.Component {\r\n *      componentDidMount() {\r\n *          this.logger.warn('watch out!'); // logs '[App] watch out!'\r\n *      }\r\n * }\r\n ",
            "start": 0,
            "end": 2025,
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 26,
                "column": 3
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\r\n * A class decorator that adds a logger object to class instances.\r\n * The logger object prepends a specified name to all log output.\r\n *\r\n * Unless you specify a custom `accessor`, the logger object is available via `this.logger` and you can use it as in `this.logger.warn('oh noes!')`.\r\n * A special case is `accessor: 'this'`- it leads to the log methods being available onthe decorated instance directly and you can use it as in `this.warn('oh noes!')`.\r\n *\r\n * @param {string|function} [name='logger'] - The name prefix. Prepended to all output of the created logger. If it is a function, the function should return a string.\r\n * @param {object} [config] - An optional configuration object.\r\n * @param {object|array} [config.backend = window.console] - The logger object that will be used. Can also be an array of logger objects.\r\n * @param {array} [config.functions = ['log', 'info', 'warn', 'error', 'trace', 'table', 'debug']] - An array of function names supported by the `logger` object..\r\n * @param {string} [config.accessor='logger'] - The name by which the logger object can be accessed on the decorated instance.\r\n * @param {function} [config.prefixer = (name) => `[${name}]`] - A function that creates the prefix. Receives the `name` string and should return a string.\r\n * @param {string|number} [config.level = debug] - A log level name. Should be either a number or one of the available `functions` (the array index is the numeric level), decides whether the message will be printed. E.g. the lowest level is `log` - only `logger.log()` will be printed, while the highest level is `debug` (last array element)\r\n * @return {bool} - Always returns `true`. (Allows usage as in `(args) => this.logger.log(args) && doSomething(args)`)\r\n *\r\n * @example\r\n * import React from 'react';\r\n * import logger from '@xailabs/logger';\r\n * @logger('App')\r\n * class App extends React.Component {\r\n *      componentDidMount() {\r\n *          this.logger.warn('watch out!'); // logs '[App] watch out!'\r\n *      }\r\n * }\r\n ",
      "start": 0,
      "end": 2025,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 26,
          "column": 3
        }
      }
    }
  ],
  "tokens": [
    {
      "type": "CommentBlock",
      "value": "*\r\n * A class decorator that adds a logger object to class instances.\r\n * The logger object prepends a specified name to all log output.\r\n *\r\n * Unless you specify a custom `accessor`, the logger object is available via `this.logger` and you can use it as in `this.logger.warn('oh noes!')`.\r\n * A special case is `accessor: 'this'`- it leads to the log methods being available onthe decorated instance directly and you can use it as in `this.warn('oh noes!')`.\r\n *\r\n * @param {string|function} [name='logger'] - The name prefix. Prepended to all output of the created logger. If it is a function, the function should return a string.\r\n * @param {object} [config] - An optional configuration object.\r\n * @param {object|array} [config.backend = window.console] - The logger object that will be used. Can also be an array of logger objects.\r\n * @param {array} [config.functions = ['log', 'info', 'warn', 'error', 'trace', 'table', 'debug']] - An array of function names supported by the `logger` object..\r\n * @param {string} [config.accessor='logger'] - The name by which the logger object can be accessed on the decorated instance.\r\n * @param {function} [config.prefixer = (name) => `[${name}]`] - A function that creates the prefix. Receives the `name` string and should return a string.\r\n * @param {string|number} [config.level = debug] - A log level name. Should be either a number or one of the available `functions` (the array index is the numeric level), decides whether the message will be printed. E.g. the lowest level is `log` - only `logger.log()` will be printed, while the highest level is `debug` (last array element)\r\n * @return {bool} - Always returns `true`. (Allows usage as in `(args) => this.logger.log(args) && doSomething(args)`)\r\n *\r\n * @example\r\n * import React from 'react';\r\n * import logger from '@xailabs/logger';\r\n * @logger('App')\r\n * class App extends React.Component {\r\n *      componentDidMount() {\r\n *          this.logger.warn('watch out!'); // logs '[App] watch out!'\r\n *      }\r\n * }\r\n ",
      "start": 0,
      "end": 2025,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 26,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 2027,
      "end": 2033,
      "loc": {
        "start": {
          "line": 27,
          "column": 0
        },
        "end": {
          "line": 27,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 2034,
      "end": 2041,
      "loc": {
        "start": {
          "line": 27,
          "column": 7
        },
        "end": {
          "line": 27,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2042,
      "end": 2050,
      "loc": {
        "start": {
          "line": 27,
          "column": 15
        },
        "end": {
          "line": 27,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "logger",
      "start": 2051,
      "end": 2057,
      "loc": {
        "start": {
          "line": 27,
          "column": 24
        },
        "end": {
          "line": 27,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2057,
      "end": 2058,
      "loc": {
        "start": {
          "line": 27,
          "column": 30
        },
        "end": {
          "line": 27,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2058,
      "end": 2062,
      "loc": {
        "start": {
          "line": 27,
          "column": 31
        },
        "end": {
          "line": 27,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2063,
      "end": 2064,
      "loc": {
        "start": {
          "line": 27,
          "column": 36
        },
        "end": {
          "line": 27,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "logger",
      "start": 2065,
      "end": 2073,
      "loc": {
        "start": {
          "line": 27,
          "column": 38
        },
        "end": {
          "line": 27,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2073,
      "end": 2074,
      "loc": {
        "start": {
          "line": 27,
          "column": 46
        },
        "end": {
          "line": 27,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2075,
      "end": 2076,
      "loc": {
        "start": {
          "line": 27,
          "column": 48
        },
        "end": {
          "line": 27,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "backend",
      "start": 2082,
      "end": 2089,
      "loc": {
        "start": {
          "line": 28,
          "column": 4
        },
        "end": {
          "line": 28,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2090,
      "end": 2091,
      "loc": {
        "start": {
          "line": 28,
          "column": 12
        },
        "end": {
          "line": 28,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 2092,
      "end": 2099,
      "loc": {
        "start": {
          "line": 28,
          "column": 14
        },
        "end": {
          "line": 28,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2099,
      "end": 2100,
      "loc": {
        "start": {
          "line": 28,
          "column": 21
        },
        "end": {
          "line": 28,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "functions",
      "start": 2106,
      "end": 2115,
      "loc": {
        "start": {
          "line": 29,
          "column": 4
        },
        "end": {
          "line": 29,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2116,
      "end": 2117,
      "loc": {
        "start": {
          "line": 29,
          "column": 14
        },
        "end": {
          "line": 29,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2118,
      "end": 2119,
      "loc": {
        "start": {
          "line": 29,
          "column": 16
        },
        "end": {
          "line": 29,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "log",
      "start": 2119,
      "end": 2124,
      "loc": {
        "start": {
          "line": 29,
          "column": 17
        },
        "end": {
          "line": 29,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2124,
      "end": 2125,
      "loc": {
        "start": {
          "line": 29,
          "column": 22
        },
        "end": {
          "line": 29,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "info",
      "start": 2126,
      "end": 2132,
      "loc": {
        "start": {
          "line": 29,
          "column": 24
        },
        "end": {
          "line": 29,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2132,
      "end": 2133,
      "loc": {
        "start": {
          "line": 29,
          "column": 30
        },
        "end": {
          "line": 29,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "warn",
      "start": 2134,
      "end": 2140,
      "loc": {
        "start": {
          "line": 29,
          "column": 32
        },
        "end": {
          "line": 29,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2140,
      "end": 2141,
      "loc": {
        "start": {
          "line": 29,
          "column": 38
        },
        "end": {
          "line": 29,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "error",
      "start": 2142,
      "end": 2149,
      "loc": {
        "start": {
          "line": 29,
          "column": 40
        },
        "end": {
          "line": 29,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2149,
      "end": 2150,
      "loc": {
        "start": {
          "line": 29,
          "column": 47
        },
        "end": {
          "line": 29,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "trace",
      "start": 2151,
      "end": 2158,
      "loc": {
        "start": {
          "line": 29,
          "column": 49
        },
        "end": {
          "line": 29,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2158,
      "end": 2159,
      "loc": {
        "start": {
          "line": 29,
          "column": 56
        },
        "end": {
          "line": 29,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "table",
      "start": 2160,
      "end": 2167,
      "loc": {
        "start": {
          "line": 29,
          "column": 58
        },
        "end": {
          "line": 29,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2167,
      "end": 2168,
      "loc": {
        "start": {
          "line": 29,
          "column": 65
        },
        "end": {
          "line": 29,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "debug",
      "start": 2169,
      "end": 2176,
      "loc": {
        "start": {
          "line": 29,
          "column": 67
        },
        "end": {
          "line": 29,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2176,
      "end": 2177,
      "loc": {
        "start": {
          "line": 29,
          "column": 74
        },
        "end": {
          "line": 29,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "dir",
      "start": 2178,
      "end": 2183,
      "loc": {
        "start": {
          "line": 29,
          "column": 76
        },
        "end": {
          "line": 29,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2183,
      "end": 2184,
      "loc": {
        "start": {
          "line": 29,
          "column": 81
        },
        "end": {
          "line": 29,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2184,
      "end": 2185,
      "loc": {
        "start": {
          "line": 29,
          "column": 82
        },
        "end": {
          "line": 29,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "accessor",
      "start": 2191,
      "end": 2199,
      "loc": {
        "start": {
          "line": 30,
          "column": 4
        },
        "end": {
          "line": 30,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2200,
      "end": 2201,
      "loc": {
        "start": {
          "line": 30,
          "column": 13
        },
        "end": {
          "line": 30,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "logger",
      "start": 2202,
      "end": 2210,
      "loc": {
        "start": {
          "line": 30,
          "column": 15
        },
        "end": {
          "line": 30,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2210,
      "end": 2211,
      "loc": {
        "start": {
          "line": 30,
          "column": 23
        },
        "end": {
          "line": 30,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prefixer",
      "start": 2217,
      "end": 2225,
      "loc": {
        "start": {
          "line": 31,
          "column": 4
        },
        "end": {
          "line": 31,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2226,
      "end": 2227,
      "loc": {
        "start": {
          "line": 31,
          "column": 13
        },
        "end": {
          "line": 31,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2228,
      "end": 2229,
      "loc": {
        "start": {
          "line": 31,
          "column": 15
        },
        "end": {
          "line": 31,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2229,
      "end": 2233,
      "loc": {
        "start": {
          "line": 31,
          "column": 16
        },
        "end": {
          "line": 31,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2233,
      "end": 2234,
      "loc": {
        "start": {
          "line": 31,
          "column": 20
        },
        "end": {
          "line": 31,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2235,
      "end": 2237,
      "loc": {
        "start": {
          "line": 31,
          "column": 22
        },
        "end": {
          "line": 31,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2238,
      "end": 2239,
      "loc": {
        "start": {
          "line": 31,
          "column": 25
        },
        "end": {
          "line": 31,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "[",
      "start": 2239,
      "end": 2240,
      "loc": {
        "start": {
          "line": 31,
          "column": 26
        },
        "end": {
          "line": 31,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2240,
      "end": 2242,
      "loc": {
        "start": {
          "line": 31,
          "column": 27
        },
        "end": {
          "line": 31,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2242,
      "end": 2246,
      "loc": {
        "start": {
          "line": 31,
          "column": 29
        },
        "end": {
          "line": 31,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2246,
      "end": 2247,
      "loc": {
        "start": {
          "line": 31,
          "column": 33
        },
        "end": {
          "line": 31,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "]",
      "start": 2247,
      "end": 2248,
      "loc": {
        "start": {
          "line": 31,
          "column": 34
        },
        "end": {
          "line": 31,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2248,
      "end": 2249,
      "loc": {
        "start": {
          "line": 31,
          "column": 35
        },
        "end": {
          "line": 31,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2249,
      "end": 2250,
      "loc": {
        "start": {
          "line": 31,
          "column": 36
        },
        "end": {
          "line": 31,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "level",
      "start": 2256,
      "end": 2261,
      "loc": {
        "start": {
          "line": 32,
          "column": 4
        },
        "end": {
          "line": 32,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2262,
      "end": 2263,
      "loc": {
        "start": {
          "line": 32,
          "column": 10
        },
        "end": {
          "line": 32,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "debug",
      "start": 2264,
      "end": 2271,
      "loc": {
        "start": {
          "line": 32,
          "column": 12
        },
        "end": {
          "line": 32,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2273,
      "end": 2274,
      "loc": {
        "start": {
          "line": 33,
          "column": 0
        },
        "end": {
          "line": 33,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2275,
      "end": 2276,
      "loc": {
        "start": {
          "line": 33,
          "column": 2
        },
        "end": {
          "line": 33,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2277,
      "end": 2278,
      "loc": {
        "start": {
          "line": 33,
          "column": 4
        },
        "end": {
          "line": 33,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2278,
      "end": 2279,
      "loc": {
        "start": {
          "line": 33,
          "column": 5
        },
        "end": {
          "line": 33,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2279,
      "end": 2280,
      "loc": {
        "start": {
          "line": 33,
          "column": 6
        },
        "end": {
          "line": 33,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2281,
      "end": 2282,
      "loc": {
        "start": {
          "line": 33,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2288,
      "end": 2294,
      "loc": {
        "start": {
          "line": 34,
          "column": 4
        },
        "end": {
          "line": 34,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2295,
      "end": 2303,
      "loc": {
        "start": {
          "line": 34,
          "column": 11
        },
        "end": {
          "line": 34,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "decorateClass",
      "start": 2304,
      "end": 2317,
      "loc": {
        "start": {
          "line": 34,
          "column": 20
        },
        "end": {
          "line": 34,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2317,
      "end": 2318,
      "loc": {
        "start": {
          "line": 34,
          "column": 33
        },
        "end": {
          "line": 34,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 2318,
      "end": 2324,
      "loc": {
        "start": {
          "line": 34,
          "column": 34
        },
        "end": {
          "line": 34,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2324,
      "end": 2325,
      "loc": {
        "start": {
          "line": 34,
          "column": 40
        },
        "end": {
          "line": 34,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2326,
      "end": 2327,
      "loc": {
        "start": {
          "line": 34,
          "column": 42
        },
        "end": {
          "line": 34,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2337,
      "end": 2339,
      "loc": {
        "start": {
          "line": 35,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2340,
      "end": 2341,
      "loc": {
        "start": {
          "line": 35,
          "column": 11
        },
        "end": {
          "line": 35,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2341,
      "end": 2342,
      "loc": {
        "start": {
          "line": 35,
          "column": 12
        },
        "end": {
          "line": 35,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 2342,
      "end": 2348,
      "loc": {
        "start": {
          "line": 35,
          "column": 13
        },
        "end": {
          "line": 35,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2348,
      "end": 2349,
      "loc": {
        "start": {
          "line": 35,
          "column": 19
        },
        "end": {
          "line": 35,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2350,
      "end": 2351,
      "loc": {
        "start": {
          "line": 35,
          "column": 21
        },
        "end": {
          "line": 35,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 2365,
      "end": 2371,
      "loc": {
        "start": {
          "line": 36,
          "column": 12
        },
        "end": {
          "line": 36,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2372,
      "end": 2373,
      "loc": {
        "start": {
          "line": 36,
          "column": 19
        },
        "end": {
          "line": 36,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 2374,
      "end": 2380,
      "loc": {
        "start": {
          "line": 36,
          "column": 21
        },
        "end": {
          "line": 36,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2380,
      "end": 2381,
      "loc": {
        "start": {
          "line": 36,
          "column": 27
        },
        "end": {
          "line": 36,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "create",
      "start": 2381,
      "end": 2387,
      "loc": {
        "start": {
          "line": 36,
          "column": 28
        },
        "end": {
          "line": 36,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2387,
      "end": 2388,
      "loc": {
        "start": {
          "line": 36,
          "column": 34
        },
        "end": {
          "line": 36,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 2388,
      "end": 2392,
      "loc": {
        "start": {
          "line": 36,
          "column": 35
        },
        "end": {
          "line": 36,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2392,
      "end": 2393,
      "loc": {
        "start": {
          "line": 36,
          "column": 39
        },
        "end": {
          "line": 36,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2393,
      "end": 2394,
      "loc": {
        "start": {
          "line": 36,
          "column": 40
        },
        "end": {
          "line": 36,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "accessor",
      "start": 2408,
      "end": 2416,
      "loc": {
        "start": {
          "line": 37,
          "column": 12
        },
        "end": {
          "line": 37,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2417,
      "end": 2418,
      "loc": {
        "start": {
          "line": 37,
          "column": 21
        },
        "end": {
          "line": 37,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2419,
      "end": 2425,
      "loc": {
        "start": {
          "line": 37,
          "column": 23
        },
        "end": {
          "line": 37,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2425,
      "end": 2426,
      "loc": {
        "start": {
          "line": 37,
          "column": 29
        },
        "end": {
          "line": 37,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2436,
      "end": 2437,
      "loc": {
        "start": {
          "line": 38,
          "column": 8
        },
        "end": {
          "line": 38,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2447,
      "end": 2452,
      "loc": {
        "start": {
          "line": 39,
          "column": 8
        },
        "end": {
          "line": 39,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "customLogger",
      "start": 2453,
      "end": 2465,
      "loc": {
        "start": {
          "line": 39,
          "column": 14
        },
        "end": {
          "line": 39,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2466,
      "end": 2467,
      "loc": {
        "start": {
          "line": 39,
          "column": 27
        },
        "end": {
          "line": 39,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "functions",
      "start": 2468,
      "end": 2477,
      "loc": {
        "start": {
          "line": 39,
          "column": 29
        },
        "end": {
          "line": 39,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2477,
      "end": 2478,
      "loc": {
        "start": {
          "line": 39,
          "column": 38
        },
        "end": {
          "line": 39,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reduce",
      "start": 2478,
      "end": 2484,
      "loc": {
        "start": {
          "line": 39,
          "column": 39
        },
        "end": {
          "line": 39,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2484,
      "end": 2485,
      "loc": {
        "start": {
          "line": 39,
          "column": 45
        },
        "end": {
          "line": 39,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2485,
      "end": 2486,
      "loc": {
        "start": {
          "line": 39,
          "column": 46
        },
        "end": {
          "line": 39,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "result",
      "start": 2486,
      "end": 2492,
      "loc": {
        "start": {
          "line": 39,
          "column": 47
        },
        "end": {
          "line": 39,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2492,
      "end": 2493,
      "loc": {
        "start": {
          "line": 39,
          "column": 53
        },
        "end": {
          "line": 39,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 2494,
      "end": 2496,
      "loc": {
        "start": {
          "line": 39,
          "column": 55
        },
        "end": {
          "line": 39,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2496,
      "end": 2497,
      "loc": {
        "start": {
          "line": 39,
          "column": 57
        },
        "end": {
          "line": 39,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2498,
      "end": 2500,
      "loc": {
        "start": {
          "line": 39,
          "column": 59
        },
        "end": {
          "line": 39,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2501,
      "end": 2502,
      "loc": {
        "start": {
          "line": 39,
          "column": 62
        },
        "end": {
          "line": 39,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "result",
      "start": 2516,
      "end": 2522,
      "loc": {
        "start": {
          "line": 40,
          "column": 12
        },
        "end": {
          "line": 40,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2522,
      "end": 2523,
      "loc": {
        "start": {
          "line": 40,
          "column": 18
        },
        "end": {
          "line": 40,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 2523,
      "end": 2525,
      "loc": {
        "start": {
          "line": 40,
          "column": 19
        },
        "end": {
          "line": 40,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2525,
      "end": 2526,
      "loc": {
        "start": {
          "line": 40,
          "column": 21
        },
        "end": {
          "line": 40,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2527,
      "end": 2528,
      "loc": {
        "start": {
          "line": 40,
          "column": 23
        },
        "end": {
          "line": 40,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2529,
      "end": 2530,
      "loc": {
        "start": {
          "line": 40,
          "column": 25
        },
        "end": {
          "line": 40,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2530,
      "end": 2538,
      "loc": {
        "start": {
          "line": 40,
          "column": 26
        },
        "end": {
          "line": 40,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2538,
      "end": 2539,
      "loc": {
        "start": {
          "line": 40,
          "column": 34
        },
        "end": {
          "line": 40,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "...",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2539,
      "end": 2542,
      "loc": {
        "start": {
          "line": 40,
          "column": 35
        },
        "end": {
          "line": 40,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "args",
      "start": 2542,
      "end": 2546,
      "loc": {
        "start": {
          "line": 40,
          "column": 38
        },
        "end": {
          "line": 40,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2546,
      "end": 2547,
      "loc": {
        "start": {
          "line": 40,
          "column": 42
        },
        "end": {
          "line": 40,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2548,
      "end": 2549,
      "loc": {
        "start": {
          "line": 40,
          "column": 44
        },
        "end": {
          "line": 40,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2567,
      "end": 2572,
      "loc": {
        "start": {
          "line": 41,
          "column": 16
        },
        "end": {
          "line": 41,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fnLevel",
      "start": 2573,
      "end": 2580,
      "loc": {
        "start": {
          "line": 41,
          "column": 22
        },
        "end": {
          "line": 41,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2581,
      "end": 2582,
      "loc": {
        "start": {
          "line": 41,
          "column": 30
        },
        "end": {
          "line": 41,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "functions",
      "start": 2583,
      "end": 2592,
      "loc": {
        "start": {
          "line": 41,
          "column": 32
        },
        "end": {
          "line": 41,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2592,
      "end": 2593,
      "loc": {
        "start": {
          "line": 41,
          "column": 41
        },
        "end": {
          "line": 41,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "indexOf",
      "start": 2593,
      "end": 2600,
      "loc": {
        "start": {
          "line": 41,
          "column": 42
        },
        "end": {
          "line": 41,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2600,
      "end": 2601,
      "loc": {
        "start": {
          "line": 41,
          "column": 49
        },
        "end": {
          "line": 41,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 2601,
      "end": 2603,
      "loc": {
        "start": {
          "line": 41,
          "column": 50
        },
        "end": {
          "line": 41,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2603,
      "end": 2604,
      "loc": {
        "start": {
          "line": 41,
          "column": 52
        },
        "end": {
          "line": 41,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2604,
      "end": 2605,
      "loc": {
        "start": {
          "line": 41,
          "column": 53
        },
        "end": {
          "line": 41,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2623,
      "end": 2628,
      "loc": {
        "start": {
          "line": 42,
          "column": 16
        },
        "end": {
          "line": 42,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "allowedLevel",
      "start": 2629,
      "end": 2641,
      "loc": {
        "start": {
          "line": 42,
          "column": 22
        },
        "end": {
          "line": 42,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2642,
      "end": 2643,
      "loc": {
        "start": {
          "line": 42,
          "column": 35
        },
        "end": {
          "line": 42,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 2644,
      "end": 2650,
      "loc": {
        "start": {
          "line": 42,
          "column": 37
        },
        "end": {
          "line": 42,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "level",
      "start": 2651,
      "end": 2656,
      "loc": {
        "start": {
          "line": 42,
          "column": 44
        },
        "end": {
          "line": 42,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2657,
      "end": 2660,
      "loc": {
        "start": {
          "line": 42,
          "column": 50
        },
        "end": {
          "line": 42,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "number",
      "start": 2661,
      "end": 2669,
      "loc": {
        "start": {
          "line": 42,
          "column": 54
        },
        "end": {
          "line": 42,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2670,
      "end": 2671,
      "loc": {
        "start": {
          "line": 42,
          "column": 63
        },
        "end": {
          "line": 42,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "level",
      "start": 2672,
      "end": 2677,
      "loc": {
        "start": {
          "line": 42,
          "column": 65
        },
        "end": {
          "line": 42,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2678,
      "end": 2679,
      "loc": {
        "start": {
          "line": 42,
          "column": 71
        },
        "end": {
          "line": 42,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "functions",
      "start": 2680,
      "end": 2689,
      "loc": {
        "start": {
          "line": 42,
          "column": 73
        },
        "end": {
          "line": 42,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2689,
      "end": 2690,
      "loc": {
        "start": {
          "line": 42,
          "column": 82
        },
        "end": {
          "line": 42,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "indexOf",
      "start": 2690,
      "end": 2697,
      "loc": {
        "start": {
          "line": 42,
          "column": 83
        },
        "end": {
          "line": 42,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2697,
      "end": 2698,
      "loc": {
        "start": {
          "line": 42,
          "column": 90
        },
        "end": {
          "line": 42,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "level",
      "start": 2698,
      "end": 2703,
      "loc": {
        "start": {
          "line": 42,
          "column": 91
        },
        "end": {
          "line": 42,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2703,
      "end": 2704,
      "loc": {
        "start": {
          "line": 42,
          "column": 96
        },
        "end": {
          "line": 42,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2704,
      "end": 2705,
      "loc": {
        "start": {
          "line": 42,
          "column": 97
        },
        "end": {
          "line": 42,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2723,
      "end": 2725,
      "loc": {
        "start": {
          "line": 43,
          "column": 16
        },
        "end": {
          "line": 43,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2726,
      "end": 2727,
      "loc": {
        "start": {
          "line": 43,
          "column": 19
        },
        "end": {
          "line": 43,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2727,
      "end": 2728,
      "loc": {
        "start": {
          "line": 43,
          "column": 20
        },
        "end": {
          "line": 43,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "allowedLevel",
      "start": 2728,
      "end": 2740,
      "loc": {
        "start": {
          "line": 43,
          "column": 21
        },
        "end": {
          "line": 43,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 2741,
      "end": 2743,
      "loc": {
        "start": {
          "line": 43,
          "column": 34
        },
        "end": {
          "line": 43,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fnLevel",
      "start": 2744,
      "end": 2751,
      "loc": {
        "start": {
          "line": 43,
          "column": 37
        },
        "end": {
          "line": 43,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 2752,
      "end": 2753,
      "loc": {
        "start": {
          "line": 43,
          "column": 45
        },
        "end": {
          "line": 43,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "allowedLevel",
      "start": 2754,
      "end": 2766,
      "loc": {
        "start": {
          "line": 43,
          "column": 47
        },
        "end": {
          "line": 43,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2766,
      "end": 2767,
      "loc": {
        "start": {
          "line": 43,
          "column": 59
        },
        "end": {
          "line": 43,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2768,
      "end": 2769,
      "loc": {
        "start": {
          "line": 43,
          "column": 61
        },
        "end": {
          "line": 43,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2791,
      "end": 2797,
      "loc": {
        "start": {
          "line": 44,
          "column": 20
        },
        "end": {
          "line": 44,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2797,
      "end": 2798,
      "loc": {
        "start": {
          "line": 44,
          "column": 26
        },
        "end": {
          "line": 44,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2816,
      "end": 2817,
      "loc": {
        "start": {
          "line": 45,
          "column": 16
        },
        "end": {
          "line": 45,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2835,
      "end": 2840,
      "loc": {
        "start": {
          "line": 46,
          "column": 16
        },
        "end": {
          "line": 46,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prefix",
      "start": 2841,
      "end": 2847,
      "loc": {
        "start": {
          "line": 46,
          "column": 22
        },
        "end": {
          "line": 46,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2848,
      "end": 2849,
      "loc": {
        "start": {
          "line": 46,
          "column": 29
        },
        "end": {
          "line": 46,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prefixer",
      "start": 2850,
      "end": 2858,
      "loc": {
        "start": {
          "line": 46,
          "column": 31
        },
        "end": {
          "line": 46,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2858,
      "end": 2859,
      "loc": {
        "start": {
          "line": 46,
          "column": 39
        },
        "end": {
          "line": 46,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 2859,
      "end": 2865,
      "loc": {
        "start": {
          "line": 46,
          "column": 40
        },
        "end": {
          "line": 46,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2866,
      "end": 2870,
      "loc": {
        "start": {
          "line": 46,
          "column": 47
        },
        "end": {
          "line": 46,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2871,
      "end": 2874,
      "loc": {
        "start": {
          "line": 46,
          "column": 52
        },
        "end": {
          "line": 46,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "function",
      "start": 2875,
      "end": 2885,
      "loc": {
        "start": {
          "line": 46,
          "column": 56
        },
        "end": {
          "line": 46,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2886,
      "end": 2887,
      "loc": {
        "start": {
          "line": 46,
          "column": 67
        },
        "end": {
          "line": 46,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2888,
      "end": 2892,
      "loc": {
        "start": {
          "line": 46,
          "column": 69
        },
        "end": {
          "line": 46,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2892,
      "end": 2893,
      "loc": {
        "start": {
          "line": 46,
          "column": 73
        },
        "end": {
          "line": 46,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2893,
      "end": 2894,
      "loc": {
        "start": {
          "line": 46,
          "column": 74
        },
        "end": {
          "line": 46,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 2894,
      "end": 2900,
      "loc": {
        "start": {
          "line": 46,
          "column": 75
        },
        "end": {
          "line": 46,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2900,
      "end": 2901,
      "loc": {
        "start": {
          "line": 46,
          "column": 81
        },
        "end": {
          "line": 46,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "args",
      "start": 2902,
      "end": 2906,
      "loc": {
        "start": {
          "line": 46,
          "column": 83
        },
        "end": {
          "line": 46,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2906,
      "end": 2907,
      "loc": {
        "start": {
          "line": 46,
          "column": 87
        },
        "end": {
          "line": 46,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2907,
      "end": 2908,
      "loc": {
        "start": {
          "line": 46,
          "column": 88
        },
        "end": {
          "line": 46,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2909,
      "end": 2910,
      "loc": {
        "start": {
          "line": 46,
          "column": 90
        },
        "end": {
          "line": 46,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2911,
      "end": 2915,
      "loc": {
        "start": {
          "line": 46,
          "column": 92
        },
        "end": {
          "line": 46,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2915,
      "end": 2916,
      "loc": {
        "start": {
          "line": 46,
          "column": 96
        },
        "end": {
          "line": 46,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2916,
      "end": 2917,
      "loc": {
        "start": {
          "line": 46,
          "column": 97
        },
        "end": {
          "line": 46,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2935,
      "end": 2940,
      "loc": {
        "start": {
          "line": 47,
          "column": 16
        },
        "end": {
          "line": 47,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "logArgs",
      "start": 2941,
      "end": 2948,
      "loc": {
        "start": {
          "line": 47,
          "column": 22
        },
        "end": {
          "line": 47,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2949,
      "end": 2950,
      "loc": {
        "start": {
          "line": 47,
          "column": 30
        },
        "end": {
          "line": 47,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2951,
      "end": 2952,
      "loc": {
        "start": {
          "line": 47,
          "column": 32
        },
        "end": {
          "line": 47,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prefix",
      "start": 2952,
      "end": 2958,
      "loc": {
        "start": {
          "line": 47,
          "column": 33
        },
        "end": {
          "line": 47,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2958,
      "end": 2959,
      "loc": {
        "start": {
          "line": 47,
          "column": 39
        },
        "end": {
          "line": 47,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "...",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2960,
      "end": 2963,
      "loc": {
        "start": {
          "line": 47,
          "column": 41
        },
        "end": {
          "line": 47,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "args",
      "start": 2963,
      "end": 2967,
      "loc": {
        "start": {
          "line": 47,
          "column": 44
        },
        "end": {
          "line": 47,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2967,
      "end": 2968,
      "loc": {
        "start": {
          "line": 47,
          "column": 48
        },
        "end": {
          "line": 47,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2968,
      "end": 2969,
      "loc": {
        "start": {
          "line": 47,
          "column": 49
        },
        "end": {
          "line": 47,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2987,
      "end": 2992,
      "loc": {
        "start": {
          "line": 48,
          "column": 16
        },
        "end": {
          "line": 48,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "backends",
      "start": 2993,
      "end": 3001,
      "loc": {
        "start": {
          "line": 48,
          "column": 22
        },
        "end": {
          "line": 48,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3002,
      "end": 3003,
      "loc": {
        "start": {
          "line": 48,
          "column": 31
        },
        "end": {
          "line": 48,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Array",
      "start": 3004,
      "end": 3009,
      "loc": {
        "start": {
          "line": 48,
          "column": 33
        },
        "end": {
          "line": 48,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3009,
      "end": 3010,
      "loc": {
        "start": {
          "line": 48,
          "column": 38
        },
        "end": {
          "line": 48,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isArray",
      "start": 3010,
      "end": 3017,
      "loc": {
        "start": {
          "line": 48,
          "column": 39
        },
        "end": {
          "line": 48,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3017,
      "end": 3018,
      "loc": {
        "start": {
          "line": 48,
          "column": 46
        },
        "end": {
          "line": 48,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "backend",
      "start": 3018,
      "end": 3025,
      "loc": {
        "start": {
          "line": 48,
          "column": 47
        },
        "end": {
          "line": 48,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3025,
      "end": 3026,
      "loc": {
        "start": {
          "line": 48,
          "column": 54
        },
        "end": {
          "line": 48,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3027,
      "end": 3028,
      "loc": {
        "start": {
          "line": 48,
          "column": 56
        },
        "end": {
          "line": 48,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "backend",
      "start": 3029,
      "end": 3036,
      "loc": {
        "start": {
          "line": 48,
          "column": 58
        },
        "end": {
          "line": 48,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3037,
      "end": 3038,
      "loc": {
        "start": {
          "line": 48,
          "column": 66
        },
        "end": {
          "line": 48,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3039,
      "end": 3040,
      "loc": {
        "start": {
          "line": 48,
          "column": 68
        },
        "end": {
          "line": 48,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "backend",
      "start": 3040,
      "end": 3047,
      "loc": {
        "start": {
          "line": 48,
          "column": 69
        },
        "end": {
          "line": 48,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3047,
      "end": 3048,
      "loc": {
        "start": {
          "line": 48,
          "column": 76
        },
        "end": {
          "line": 48,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3048,
      "end": 3049,
      "loc": {
        "start": {
          "line": 48,
          "column": 77
        },
        "end": {
          "line": 48,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "backends",
      "start": 3067,
      "end": 3075,
      "loc": {
        "start": {
          "line": 49,
          "column": 16
        },
        "end": {
          "line": 49,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3075,
      "end": 3076,
      "loc": {
        "start": {
          "line": 49,
          "column": 24
        },
        "end": {
          "line": 49,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forEach",
      "start": 3076,
      "end": 3083,
      "loc": {
        "start": {
          "line": 49,
          "column": 25
        },
        "end": {
          "line": 49,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3083,
      "end": 3084,
      "loc": {
        "start": {
          "line": 49,
          "column": 32
        },
        "end": {
          "line": 49,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "backend",
      "start": 3084,
      "end": 3091,
      "loc": {
        "start": {
          "line": 49,
          "column": 33
        },
        "end": {
          "line": 49,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3092,
      "end": 3094,
      "loc": {
        "start": {
          "line": 49,
          "column": 41
        },
        "end": {
          "line": 49,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "backend",
      "start": 3095,
      "end": 3102,
      "loc": {
        "start": {
          "line": 49,
          "column": 44
        },
        "end": {
          "line": 49,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3102,
      "end": 3103,
      "loc": {
        "start": {
          "line": 49,
          "column": 51
        },
        "end": {
          "line": 49,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 3103,
      "end": 3105,
      "loc": {
        "start": {
          "line": 49,
          "column": 52
        },
        "end": {
          "line": 49,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3105,
      "end": 3106,
      "loc": {
        "start": {
          "line": 49,
          "column": 54
        },
        "end": {
          "line": 49,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3106,
      "end": 3107,
      "loc": {
        "start": {
          "line": 49,
          "column": 55
        },
        "end": {
          "line": 49,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "apply",
      "start": 3107,
      "end": 3112,
      "loc": {
        "start": {
          "line": 49,
          "column": 56
        },
        "end": {
          "line": 49,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3112,
      "end": 3113,
      "loc": {
        "start": {
          "line": 49,
          "column": 61
        },
        "end": {
          "line": 49,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "backend",
      "start": 3113,
      "end": 3120,
      "loc": {
        "start": {
          "line": 49,
          "column": 62
        },
        "end": {
          "line": 49,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3120,
      "end": 3121,
      "loc": {
        "start": {
          "line": 49,
          "column": 69
        },
        "end": {
          "line": 49,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "logArgs",
      "start": 3122,
      "end": 3129,
      "loc": {
        "start": {
          "line": 49,
          "column": 71
        },
        "end": {
          "line": 49,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3129,
      "end": 3130,
      "loc": {
        "start": {
          "line": 49,
          "column": 78
        },
        "end": {
          "line": 49,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3130,
      "end": 3131,
      "loc": {
        "start": {
          "line": 49,
          "column": 79
        },
        "end": {
          "line": 49,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3131,
      "end": 3132,
      "loc": {
        "start": {
          "line": 49,
          "column": 80
        },
        "end": {
          "line": 49,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3150,
      "end": 3156,
      "loc": {
        "start": {
          "line": 50,
          "column": 16
        },
        "end": {
          "line": 50,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 3157,
      "end": 3161,
      "loc": {
        "start": {
          "line": 50,
          "column": 23
        },
        "end": {
          "line": 50,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3161,
      "end": 3162,
      "loc": {
        "start": {
          "line": 50,
          "column": 27
        },
        "end": {
          "line": 50,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3176,
      "end": 3177,
      "loc": {
        "start": {
          "line": 51,
          "column": 12
        },
        "end": {
          "line": 51,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3177,
      "end": 3178,
      "loc": {
        "start": {
          "line": 51,
          "column": 13
        },
        "end": {
          "line": 51,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3178,
      "end": 3179,
      "loc": {
        "start": {
          "line": 51,
          "column": 14
        },
        "end": {
          "line": 51,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 3179,
      "end": 3183,
      "loc": {
        "start": {
          "line": 51,
          "column": 15
        },
        "end": {
          "line": 51,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3183,
      "end": 3184,
      "loc": {
        "start": {
          "line": 51,
          "column": 19
        },
        "end": {
          "line": 51,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "result",
      "start": 3184,
      "end": 3190,
      "loc": {
        "start": {
          "line": 51,
          "column": 20
        },
        "end": {
          "line": 51,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3190,
      "end": 3191,
      "loc": {
        "start": {
          "line": 51,
          "column": 26
        },
        "end": {
          "line": 51,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3191,
      "end": 3192,
      "loc": {
        "start": {
          "line": 51,
          "column": 27
        },
        "end": {
          "line": 51,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3206,
      "end": 3212,
      "loc": {
        "start": {
          "line": 52,
          "column": 12
        },
        "end": {
          "line": 52,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "result",
      "start": 3213,
      "end": 3219,
      "loc": {
        "start": {
          "line": 52,
          "column": 19
        },
        "end": {
          "line": 52,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3219,
      "end": 3220,
      "loc": {
        "start": {
          "line": 52,
          "column": 25
        },
        "end": {
          "line": 52,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3230,
      "end": 3231,
      "loc": {
        "start": {
          "line": 53,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3231,
      "end": 3232,
      "loc": {
        "start": {
          "line": 53,
          "column": 9
        },
        "end": {
          "line": 53,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3233,
      "end": 3234,
      "loc": {
        "start": {
          "line": 53,
          "column": 11
        },
        "end": {
          "line": 53,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3234,
      "end": 3235,
      "loc": {
        "start": {
          "line": 53,
          "column": 12
        },
        "end": {
          "line": 53,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3235,
      "end": 3236,
      "loc": {
        "start": {
          "line": 53,
          "column": 13
        },
        "end": {
          "line": 53,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3236,
      "end": 3237,
      "loc": {
        "start": {
          "line": 53,
          "column": 14
        },
        "end": {
          "line": 53,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3247,
      "end": 3249,
      "loc": {
        "start": {
          "line": 54,
          "column": 8
        },
        "end": {
          "line": 54,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3250,
      "end": 3251,
      "loc": {
        "start": {
          "line": 54,
          "column": 11
        },
        "end": {
          "line": 54,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "accessor",
      "start": 3251,
      "end": 3259,
      "loc": {
        "start": {
          "line": 54,
          "column": 12
        },
        "end": {
          "line": 54,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 3260,
      "end": 3263,
      "loc": {
        "start": {
          "line": 54,
          "column": 21
        },
        "end": {
          "line": 54,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3264,
      "end": 3270,
      "loc": {
        "start": {
          "line": 54,
          "column": 25
        },
        "end": {
          "line": 54,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3270,
      "end": 3271,
      "loc": {
        "start": {
          "line": 54,
          "column": 31
        },
        "end": {
          "line": 54,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3272,
      "end": 3273,
      "loc": {
        "start": {
          "line": 54,
          "column": 33
        },
        "end": {
          "line": 54,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 3287,
      "end": 3293,
      "loc": {
        "start": {
          "line": 55,
          "column": 12
        },
        "end": {
          "line": 55,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3293,
      "end": 3294,
      "loc": {
        "start": {
          "line": 55,
          "column": 18
        },
        "end": {
          "line": 55,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assign",
      "start": 3294,
      "end": 3300,
      "loc": {
        "start": {
          "line": 55,
          "column": 19
        },
        "end": {
          "line": 55,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3300,
      "end": 3301,
      "loc": {
        "start": {
          "line": 55,
          "column": 25
        },
        "end": {
          "line": 55,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3301,
      "end": 3302,
      "loc": {
        "start": {
          "line": 55,
          "column": 26
        },
        "end": {
          "line": 55,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 3302,
      "end": 3308,
      "loc": {
        "start": {
          "line": 55,
          "column": 27
        },
        "end": {
          "line": 55,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3308,
      "end": 3309,
      "loc": {
        "start": {
          "line": 55,
          "column": 33
        },
        "end": {
          "line": 55,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 3309,
      "end": 3318,
      "loc": {
        "start": {
          "line": 55,
          "column": 34
        },
        "end": {
          "line": 55,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3319,
      "end": 3321,
      "loc": {
        "start": {
          "line": 55,
          "column": 44
        },
        "end": {
          "line": 55,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 3322,
      "end": 3328,
      "loc": {
        "start": {
          "line": 55,
          "column": 47
        },
        "end": {
          "line": 55,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3328,
      "end": 3329,
      "loc": {
        "start": {
          "line": 55,
          "column": 53
        },
        "end": {
          "line": 55,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3329,
      "end": 3330,
      "loc": {
        "start": {
          "line": 55,
          "column": 54
        },
        "end": {
          "line": 55,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "customLogger",
      "start": 3331,
      "end": 3343,
      "loc": {
        "start": {
          "line": 55,
          "column": 56
        },
        "end": {
          "line": 55,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3343,
      "end": 3344,
      "loc": {
        "start": {
          "line": 55,
          "column": 68
        },
        "end": {
          "line": 55,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3344,
      "end": 3345,
      "loc": {
        "start": {
          "line": 55,
          "column": 69
        },
        "end": {
          "line": 55,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3355,
      "end": 3356,
      "loc": {
        "start": {
          "line": 56,
          "column": 8
        },
        "end": {
          "line": 56,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 3366,
      "end": 3370,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 57,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3371,
      "end": 3372,
      "loc": {
        "start": {
          "line": 57,
          "column": 13
        },
        "end": {
          "line": 57,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3386,
      "end": 3387,
      "loc": {
        "start": {
          "line": 58,
          "column": 12
        },
        "end": {
          "line": 58,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 3387,
      "end": 3393,
      "loc": {
        "start": {
          "line": 58,
          "column": 13
        },
        "end": {
          "line": 58,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3393,
      "end": 3394,
      "loc": {
        "start": {
          "line": 58,
          "column": 19
        },
        "end": {
          "line": 58,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 3394,
      "end": 3403,
      "loc": {
        "start": {
          "line": 58,
          "column": 20
        },
        "end": {
          "line": 58,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3404,
      "end": 3406,
      "loc": {
        "start": {
          "line": 58,
          "column": 30
        },
        "end": {
          "line": 58,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 3407,
      "end": 3413,
      "loc": {
        "start": {
          "line": 58,
          "column": 33
        },
        "end": {
          "line": 58,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3413,
      "end": 3414,
      "loc": {
        "start": {
          "line": 58,
          "column": 39
        },
        "end": {
          "line": 58,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3414,
      "end": 3415,
      "loc": {
        "start": {
          "line": 58,
          "column": 40
        },
        "end": {
          "line": 58,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "accessor",
      "start": 3415,
      "end": 3423,
      "loc": {
        "start": {
          "line": 58,
          "column": 41
        },
        "end": {
          "line": 58,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3423,
      "end": 3424,
      "loc": {
        "start": {
          "line": 58,
          "column": 49
        },
        "end": {
          "line": 58,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3425,
      "end": 3426,
      "loc": {
        "start": {
          "line": 58,
          "column": 51
        },
        "end": {
          "line": 58,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "customLogger",
      "start": 3427,
      "end": 3439,
      "loc": {
        "start": {
          "line": 58,
          "column": 53
        },
        "end": {
          "line": 58,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3439,
      "end": 3440,
      "loc": {
        "start": {
          "line": 58,
          "column": 65
        },
        "end": {
          "line": 58,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3450,
      "end": 3451,
      "loc": {
        "start": {
          "line": 59,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3461,
      "end": 3467,
      "loc": {
        "start": {
          "line": 60,
          "column": 8
        },
        "end": {
          "line": 60,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 3468,
      "end": 3474,
      "loc": {
        "start": {
          "line": 60,
          "column": 15
        },
        "end": {
          "line": 60,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3474,
      "end": 3475,
      "loc": {
        "start": {
          "line": 60,
          "column": 21
        },
        "end": {
          "line": 60,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3481,
      "end": 3482,
      "loc": {
        "start": {
          "line": 61,
          "column": 4
        },
        "end": {
          "line": 61,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3482,
      "end": 3483,
      "loc": {
        "start": {
          "line": 61,
          "column": 5
        },
        "end": {
          "line": 61,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3485,
      "end": 3486,
      "loc": {
        "start": {
          "line": 62,
          "column": 0
        },
        "end": {
          "line": 62,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3488,
      "end": 3488,
      "loc": {
        "start": {
          "line": 63,
          "column": 0
        },
        "end": {
          "line": 63,
          "column": 0
        }
      }
    }
  ]
}