{
  "type": "File",
  "start": 0,
  "end": 2474,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 59,
      "column": 1
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 2474,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 59,
        "column": 1
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 737,
        "end": 763,
        "loc": {
          "start": {
            "line": 16,
            "column": 0
          },
          "end": {
            "line": 16,
            "column": 26
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 744,
            "end": 749,
            "loc": {
              "start": {
                "line": 16,
                "column": 7
              },
              "end": {
                "line": 16,
                "column": 12
              }
            },
            "local": {
              "type": "Identifier",
              "start": 744,
              "end": 749,
              "loc": {
                "start": {
                  "line": 16,
                  "column": 7
                },
                "end": {
                  "line": 16,
                  "column": 12
                },
                "identifierName": "React"
              },
              "name": "React",
              "leadingComments": null
            },
            "leadingComments": null
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 755,
          "end": 762,
          "loc": {
            "start": {
              "line": 16,
              "column": 18
            },
            "end": {
              "line": 16,
              "column": 25
            }
          },
          "extra": {
            "rawValue": "react",
            "raw": "'react'"
          },
          "value": "react"
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": " eslint no-plusplus: [\"error\", { \"allowForLoopAfterthoughts\": true }] ",
            "start": 0,
            "end": 74,
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 1,
                "column": 74
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * \n *  ██▓ ███▄    █  ██ ▄█▀     ██████  ██▓███   ██▓    ▄▄▄     ▄▄▄█████▓\n *  ▓██▒ ██ ▀█   █  ██▄█▒    ▒██    ▒ ▓██░  ██▒▓██▒   ▒████▄   ▓  ██▒ ▓▒\n *  ▒██▒▓██  ▀█ ██▒▓███▄░    ░ ▓██▄   ▓██░ ██▓▒▒██░   ▒██  ▀█▄ ▒ ▓██░ ▒░\n *  ░██░▓██▒  ▐▌██▒▓██ █▄      ▒   ██▒▒██▄█▓▒ ▒▒██░   ░██▄▄▄▄██░ ▓██▓ ░\n *  ░██░▒██░   ▓██░▒██▒ █▄   ▒██████▒▒▒██▒ ░  ░░██████▒▓█   ▓██▒ ▒██▒ ░\n *  ░▓  ░ ▒░   ▒ ▒ ▒ ▒▒ ▓▒   ▒ ▒▓▒ ▒ ░▒▓▒░ ░  ░░ ▒░▓  ░▒▒   ▓▒█░ ▒ ░░\n *  ▒ ░░ ░░   ░ ▒░░ ░▒ ▒░   ░ ░▒  ░ ░░▒ ░     ░ ░ ▒  ░ ▒   ▒▒ ░   ░\n *  ▒ ░   ░   ░ ░ ░ ░░ ░    ░  ░  ░  ░░         ░ ░    ░   ▒    ░\n *  ░           ░ ░  ░            ░               ░  ░     ░  ░\n * \n * LICENSE: MIT\n ",
            "start": 75,
            "end": 736,
            "loc": {
              "start": {
                "line": 2,
                "column": 0
              },
              "end": {
                "line": 15,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ImportDeclaration",
        "start": 764,
        "end": 796,
        "loc": {
          "start": {
            "line": 17,
            "column": 0
          },
          "end": {
            "line": 17,
            "column": 32
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 771,
            "end": 778,
            "loc": {
              "start": {
                "line": 17,
                "column": 7
              },
              "end": {
                "line": 17,
                "column": 14
              }
            },
            "local": {
              "type": "Identifier",
              "start": 771,
              "end": 778,
              "loc": {
                "start": {
                  "line": 17,
                  "column": 7
                },
                "end": {
                  "line": 17,
                  "column": 14
                },
                "identifierName": "Control"
              },
              "name": "Control"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 784,
          "end": 795,
          "loc": {
            "start": {
              "line": 17,
              "column": 20
            },
            "end": {
              "line": 17,
              "column": 31
            }
          },
          "extra": {
            "rawValue": "./Control",
            "raw": "'./Control'"
          },
          "value": "./Control"
        },
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " import { Component } from 'react';",
            "start": 797,
            "end": 834,
            "loc": {
              "start": {
                "line": 18,
                "column": 0
              },
              "end": {
                "line": 18,
                "column": 37
              }
            }
          },
          {
            "type": "CommentLine",
            "value": " import { isClassOrComponentFactory } from '../utils/isClassOrComponent';",
            "start": 835,
            "end": 910,
            "loc": {
              "start": {
                "line": 19,
                "column": 0
              },
              "end": {
                "line": 19,
                "column": 75
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * // TODO: Integrate this concept into Control, using `wrapComponent`\n * // as the property.\n * \n * ComponentWrapper is a control component which is proposed to wrap an existing\n * React Component in order to make it compatible with the Control class. Pass\n * the wrapped component as `props.component`. ComponentWrapper controls\n * won't be able to be focused but will allow its children to be focused if they\n * are focusable Controls.\n * \n * It isn't something you'll have to use outright, as the Control's renderChild()\n * method will actually wrap up a Component for you. In this way, you will be\n * able to nest non-control components and control components and expect that\n * top-most control components will work correctly when searching the control\n * component heirarchy.\n ",
            "start": 912,
            "end": 1702,
            "loc": {
              "start": {
                "line": 21,
                "column": 0
              },
              "end": {
                "line": 36,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 1703,
        "end": 2474,
        "loc": {
          "start": {
            "line": 37,
            "column": 0
          },
          "end": {
            "line": 59,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 1718,
          "end": 2474,
          "loc": {
            "start": {
              "line": 37,
              "column": 15
            },
            "end": {
              "line": 59,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 1724,
            "end": 1740,
            "loc": {
              "start": {
                "line": 37,
                "column": 21
              },
              "end": {
                "line": 37,
                "column": 37
              },
              "identifierName": "ComponentWrapper"
            },
            "name": "ComponentWrapper",
            "leadingComments": null
          },
          "superClass": {
            "type": "Identifier",
            "start": 1749,
            "end": 1756,
            "loc": {
              "start": {
                "line": 37,
                "column": 46
              },
              "end": {
                "line": 37,
                "column": 53
              },
              "identifierName": "Control"
            },
            "name": "Control"
          },
          "body": {
            "type": "ClassBody",
            "start": 1757,
            "end": 2474,
            "loc": {
              "start": {
                "line": 37,
                "column": 54
              },
              "end": {
                "line": 59,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 1995,
                "end": 2472,
                "loc": {
                  "start": {
                    "line": 44,
                    "column": 4
                  },
                  "end": {
                    "line": 58,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1995,
                  "end": 2001,
                  "loc": {
                    "start": {
                      "line": 44,
                      "column": 4
                    },
                    "end": {
                      "line": 44,
                      "column": 10
                    },
                    "identifierName": "render"
                  },
                  "name": "render",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2004,
                  "end": 2472,
                  "loc": {
                    "start": {
                      "line": 44,
                      "column": 13
                    },
                    "end": {
                      "line": 58,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 2014,
                      "end": 2050,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 8
                        },
                        "end": {
                          "line": 45,
                          "column": 44
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2020,
                          "end": 2049,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 14
                            },
                            "end": {
                              "line": 45,
                              "column": 43
                            }
                          },
                          "id": {
                            "type": "ObjectPattern",
                            "start": 2020,
                            "end": 2042,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 14
                              },
                              "end": {
                                "line": 45,
                                "column": 36
                              }
                            },
                            "properties": [
                              {
                                "type": "ObjectProperty",
                                "start": 2022,
                                "end": 2027,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 21
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2022,
                                  "end": 2027,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 21
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 2022,
                                  "end": 2027,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 21
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "extra": {
                                  "shorthand": true
                                }
                              },
                              {
                                "type": "ObjectProperty",
                                "start": 2029,
                                "end": 2040,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 34
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2029,
                                  "end": 2040,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 34
                                    },
                                    "identifierName": "hasChildren"
                                  },
                                  "name": "hasChildren"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 2029,
                                  "end": 2040,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 34
                                    },
                                    "identifierName": "hasChildren"
                                  },
                                  "name": "hasChildren"
                                },
                                "extra": {
                                  "shorthand": true
                                }
                              }
                            ]
                          },
                          "init": {
                            "type": "ThisExpression",
                            "start": 2045,
                            "end": 2049,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 39
                              },
                              "end": {
                                "line": 45,
                                "column": 43
                              }
                            }
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2059,
                      "end": 2078,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 46,
                          "column": 27
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2065,
                          "end": 2077,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 14
                            },
                            "end": {
                              "line": 46,
                              "column": 26
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2065,
                            "end": 2072,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 14
                              },
                              "end": {
                                "line": 46,
                                "column": 21
                              },
                              "identifierName": "outputs"
                            },
                            "name": "outputs"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 2075,
                            "end": 2077,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 24
                              },
                              "end": {
                                "line": 46,
                                "column": 26
                              }
                            },
                            "elements": []
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "IfStatement",
                      "start": 2087,
                      "end": 2216,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 2091,
                        "end": 2160,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 12
                          },
                          "end": {
                            "line": 47,
                            "column": 81
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 2091,
                          "end": 2115,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 12
                            },
                            "end": {
                              "line": 47,
                              "column": 36
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 2091,
                            "end": 2096,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 12
                              },
                              "end": {
                                "line": 47,
                                "column": 17
                              },
                              "identifierName": "props"
                            },
                            "name": "props"
                          },
                          "operator": "&&",
                          "right": {
                            "type": "MemberExpression",
                            "start": 2100,
                            "end": 2115,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 21
                              },
                              "end": {
                                "line": 47,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2100,
                              "end": 2105,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 21
                                },
                                "end": {
                                  "line": 47,
                                  "column": 26
                                },
                                "identifierName": "props"
                              },
                              "name": "props"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2106,
                              "end": 2115,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 27
                                },
                                "end": {
                                  "line": 47,
                                  "column": 36
                                },
                                "identifierName": "component"
                              },
                              "name": "component"
                            },
                            "computed": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "CallExpression",
                          "start": 2119,
                          "end": 2160,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 40
                            },
                            "end": {
                              "line": 47,
                              "column": 81
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2119,
                            "end": 2143,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 40
                              },
                              "end": {
                                "line": 47,
                                "column": 64
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2119,
                              "end": 2126,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 40
                                },
                                "end": {
                                  "line": 47,
                                  "column": 47
                                },
                                "identifierName": "Control"
                              },
                              "name": "Control"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2127,
                              "end": 2143,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 48
                                },
                                "end": {
                                  "line": 47,
                                  "column": 64
                                },
                                "identifierName": "isReactComponent"
                              },
                              "name": "isReactComponent"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2144,
                              "end": 2159,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 65
                                },
                                "end": {
                                  "line": 47,
                                  "column": 80
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2144,
                                "end": 2149,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 70
                                  },
                                  "identifierName": "props"
                                },
                                "name": "props"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2150,
                                "end": 2159,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 71
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 80
                                  },
                                  "identifierName": "component"
                                },
                                "name": "component"
                              },
                              "computed": false
                            }
                          ]
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2162,
                        "end": 2216,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 83
                          },
                          "end": {
                            "line": 49,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 2176,
                            "end": 2206,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 12
                              },
                              "end": {
                                "line": 48,
                                "column": 42
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 2176,
                              "end": 2205,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 12
                                },
                                "end": {
                                  "line": 48,
                                  "column": 41
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2176,
                                "end": 2188,
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2176,
                                  "end": 2183,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 19
                                    },
                                    "identifierName": "outputs"
                                  },
                                  "name": "outputs"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2184,
                                  "end": 2188,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 24
                                    },
                                    "identifierName": "push"
                                  },
                                  "name": "push"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 2189,
                                  "end": 2204,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2189,
                                    "end": 2194,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 30
                                      },
                                      "identifierName": "props"
                                    },
                                    "name": "props"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2195,
                                    "end": 2204,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 40
                                      },
                                      "identifierName": "component"
                                    },
                                    "name": "component"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 2225,
                      "end": 2299,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 2229,
                        "end": 2242,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 12
                          },
                          "end": {
                            "line": 50,
                            "column": 25
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2229,
                          "end": 2240,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 12
                            },
                            "end": {
                              "line": 50,
                              "column": 23
                            },
                            "identifierName": "hasChildren"
                          },
                          "name": "hasChildren"
                        },
                        "arguments": []
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2244,
                        "end": 2299,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 27
                          },
                          "end": {
                            "line": 52,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 2258,
                            "end": 2289,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 12
                              },
                              "end": {
                                "line": 51,
                                "column": 43
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 2258,
                              "end": 2288,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 12
                                },
                                "end": {
                                  "line": 51,
                                  "column": 42
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2258,
                                "end": 2272,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2258,
                                  "end": 2265,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 19
                                    },
                                    "identifierName": "outputs"
                                  },
                                  "name": "outputs"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2266,
                                  "end": 2272,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 26
                                    },
                                    "identifierName": "concat"
                                  },
                                  "name": "concat"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 2273,
                                  "end": 2287,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2273,
                                    "end": 2278,
                                    "loc": {
                                      "start": {
                                        "line": 51,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 32
                                      },
                                      "identifierName": "props"
                                    },
                                    "name": "props"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2279,
                                    "end": 2287,
                                    "loc": {
                                      "start": {
                                        "line": 51,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 41
                                      },
                                      "identifierName": "children"
                                    },
                                    "name": "children"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 2308,
                      "end": 2346,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 46
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 2312,
                        "end": 2332,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 12
                          },
                          "end": {
                            "line": 53,
                            "column": 32
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 2312,
                          "end": 2326,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 12
                            },
                            "end": {
                              "line": 53,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2312,
                            "end": 2319,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 12
                              },
                              "end": {
                                "line": 53,
                                "column": 19
                              },
                              "identifierName": "outputs"
                            },
                            "name": "outputs"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2320,
                            "end": 2326,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 20
                              },
                              "end": {
                                "line": 53,
                                "column": 26
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 2331,
                          "end": 2332,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 31
                            },
                            "end": {
                              "line": 53,
                              "column": 32
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 2334,
                        "end": 2346,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 34
                          },
                          "end": {
                            "line": 53,
                            "column": 46
                          }
                        },
                        "argument": {
                          "type": "NullLiteral",
                          "start": 2341,
                          "end": 2345,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 41
                            },
                            "end": {
                              "line": 53,
                              "column": 45
                            }
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 2355,
                      "end": 2399,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 8
                        },
                        "end": {
                          "line": 54,
                          "column": 52
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 2359,
                        "end": 2379,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 12
                          },
                          "end": {
                            "line": 54,
                            "column": 32
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 2359,
                          "end": 2373,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 12
                            },
                            "end": {
                              "line": 54,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2359,
                            "end": 2366,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 12
                              },
                              "end": {
                                "line": 54,
                                "column": 19
                              },
                              "identifierName": "outputs"
                            },
                            "name": "outputs"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2367,
                            "end": 2373,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 20
                              },
                              "end": {
                                "line": 54,
                                "column": 26
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 2378,
                          "end": 2379,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 31
                            },
                            "end": {
                              "line": 54,
                              "column": 32
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 2381,
                        "end": 2399,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 34
                          },
                          "end": {
                            "line": 54,
                            "column": 52
                          }
                        },
                        "argument": {
                          "type": "MemberExpression",
                          "start": 2388,
                          "end": 2398,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 41
                            },
                            "end": {
                              "line": 54,
                              "column": 51
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2388,
                            "end": 2395,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 41
                              },
                              "end": {
                                "line": 54,
                                "column": 48
                              },
                              "identifierName": "outputs"
                            },
                            "name": "outputs"
                          },
                          "property": {
                            "type": "NumericLiteral",
                            "start": 2396,
                            "end": 2397,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 49
                              },
                              "end": {
                                "line": 54,
                                "column": 50
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          },
                          "computed": true
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2408,
                      "end": 2466,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 8
                        },
                        "end": {
                          "line": 57,
                          "column": 10
                        }
                      },
                      "argument": {
                        "type": "JSXElement",
                        "start": 2427,
                        "end": 2455,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 10
                          },
                          "end": {
                            "line": 56,
                            "column": 38
                          }
                        },
                        "openingElement": {
                          "type": "JSXOpeningElement",
                          "start": 2427,
                          "end": 2436,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 10
                            },
                            "end": {
                              "line": 56,
                              "column": 19
                            }
                          },
                          "attributes": [],
                          "name": {
                            "type": "JSXIdentifier",
                            "start": 2428,
                            "end": 2435,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 11
                              },
                              "end": {
                                "line": 56,
                                "column": 18
                              }
                            },
                            "name": "Control"
                          },
                          "selfClosing": false
                        },
                        "closingElement": {
                          "type": "JSXClosingElement",
                          "start": 2445,
                          "end": 2455,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 28
                            },
                            "end": {
                              "line": 56,
                              "column": 38
                            }
                          },
                          "name": {
                            "type": "JSXIdentifier",
                            "start": 2447,
                            "end": 2454,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 30
                              },
                              "end": {
                                "line": 56,
                                "column": 37
                              }
                            },
                            "name": "Control"
                          }
                        },
                        "children": [
                          {
                            "type": "JSXExpressionContainer",
                            "start": 2436,
                            "end": 2445,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 19
                              },
                              "end": {
                                "line": 56,
                                "column": 28
                              }
                            },
                            "expression": {
                              "type": "Identifier",
                              "start": 2437,
                              "end": 2444,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 20
                                },
                                "end": {
                                  "line": 56,
                                  "column": 27
                                },
                                "identifierName": "outputs"
                              },
                              "name": "outputs"
                            }
                          }
                        ],
                        "extra": {
                          "parenthesized": true,
                          "parenStart": 2415
                        }
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": " TODO: Consider making Sequence into a ContainerControl if there is any purpose for",
                    "start": 1763,
                    "end": 1848,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 4
                      },
                      "end": {
                        "line": 38,
                        "column": 89
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " ContainerControl after completing all the Control requirements.    ",
                    "start": 1853,
                    "end": 1923,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 4
                      },
                      "end": {
                        "line": 39,
                        "column": 74
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " constructor(props) {",
                    "start": 1928,
                    "end": 1951,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 4
                      },
                      "end": {
                        "line": 40,
                        "column": 27
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     super(props);",
                    "start": 1956,
                    "end": 1976,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 4
                      },
                      "end": {
                        "line": 41,
                        "column": 24
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " }",
                    "start": 1981,
                    "end": 1985,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 4
                      },
                      "end": {
                        "line": 42,
                        "column": 8
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentLine",
              "value": " import { Component } from 'react';",
              "start": 797,
              "end": 834,
              "loc": {
                "start": {
                  "line": 18,
                  "column": 0
                },
                "end": {
                  "line": 18,
                  "column": 37
                }
              }
            },
            {
              "type": "CommentLine",
              "value": " import { isClassOrComponentFactory } from '../utils/isClassOrComponent';",
              "start": 835,
              "end": 910,
              "loc": {
                "start": {
                  "line": 19,
                  "column": 0
                },
                "end": {
                  "line": 19,
                  "column": 75
                }
              }
            },
            {
              "type": "CommentBlock",
              "value": "*\n * // TODO: Integrate this concept into Control, using `wrapComponent`\n * // as the property.\n * \n * ComponentWrapper is a control component which is proposed to wrap an existing\n * React Component in order to make it compatible with the Control class. Pass\n * the wrapped component as `props.component`. ComponentWrapper controls\n * won't be able to be focused but will allow its children to be focused if they\n * are focusable Controls.\n * \n * It isn't something you'll have to use outright, as the Control's renderChild()\n * method will actually wrap up a Component for you. In this way, you will be\n * able to nest non-control components and control components and expect that\n * top-most control components will work correctly when searching the control\n * component heirarchy.\n ",
              "start": 912,
              "end": 1702,
              "loc": {
                "start": {
                  "line": 21,
                  "column": 0
                },
                "end": {
                  "line": 36,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " import { Component } from 'react';",
            "start": 797,
            "end": 834,
            "loc": {
              "start": {
                "line": 18,
                "column": 0
              },
              "end": {
                "line": 18,
                "column": 37
              }
            }
          },
          {
            "type": "CommentLine",
            "value": " import { isClassOrComponentFactory } from '../utils/isClassOrComponent';",
            "start": 835,
            "end": 910,
            "loc": {
              "start": {
                "line": 19,
                "column": 0
              },
              "end": {
                "line": 19,
                "column": 75
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * // TODO: Integrate this concept into Control, using `wrapComponent`\n * // as the property.\n * \n * ComponentWrapper is a control component which is proposed to wrap an existing\n * React Component in order to make it compatible with the Control class. Pass\n * the wrapped component as `props.component`. ComponentWrapper controls\n * won't be able to be focused but will allow its children to be focused if they\n * are focusable Controls.\n * \n * It isn't something you'll have to use outright, as the Control's renderChild()\n * method will actually wrap up a Component for you. In this way, you will be\n * able to nest non-control components and control components and expect that\n * top-most control components will work correctly when searching the control\n * component heirarchy.\n ",
            "start": 912,
            "end": 1702,
            "loc": {
              "start": {
                "line": 21,
                "column": 0
              },
              "end": {
                "line": 36,
                "column": 3
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": " eslint no-plusplus: [\"error\", { \"allowForLoopAfterthoughts\": true }] ",
      "start": 0,
      "end": 74,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 74
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * \n *  ██▓ ███▄    █  ██ ▄█▀     ██████  ██▓███   ██▓    ▄▄▄     ▄▄▄█████▓\n *  ▓██▒ ██ ▀█   █  ██▄█▒    ▒██    ▒ ▓██░  ██▒▓██▒   ▒████▄   ▓  ██▒ ▓▒\n *  ▒██▒▓██  ▀█ ██▒▓███▄░    ░ ▓██▄   ▓██░ ██▓▒▒██░   ▒██  ▀█▄ ▒ ▓██░ ▒░\n *  ░██░▓██▒  ▐▌██▒▓██ █▄      ▒   ██▒▒██▄█▓▒ ▒▒██░   ░██▄▄▄▄██░ ▓██▓ ░\n *  ░██░▒██░   ▓██░▒██▒ █▄   ▒██████▒▒▒██▒ ░  ░░██████▒▓█   ▓██▒ ▒██▒ ░\n *  ░▓  ░ ▒░   ▒ ▒ ▒ ▒▒ ▓▒   ▒ ▒▓▒ ▒ ░▒▓▒░ ░  ░░ ▒░▓  ░▒▒   ▓▒█░ ▒ ░░\n *  ▒ ░░ ░░   ░ ▒░░ ░▒ ▒░   ░ ░▒  ░ ░░▒ ░     ░ ░ ▒  ░ ▒   ▒▒ ░   ░\n *  ▒ ░   ░   ░ ░ ░ ░░ ░    ░  ░  ░  ░░         ░ ░    ░   ▒    ░\n *  ░           ░ ░  ░            ░               ░  ░     ░  ░\n * \n * LICENSE: MIT\n ",
      "start": 75,
      "end": 736,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " import { Component } from 'react';",
      "start": 797,
      "end": 834,
      "loc": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 18,
          "column": 37
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " import { isClassOrComponentFactory } from '../utils/isClassOrComponent';",
      "start": 835,
      "end": 910,
      "loc": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 19,
          "column": 75
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * // TODO: Integrate this concept into Control, using `wrapComponent`\n * // as the property.\n * \n * ComponentWrapper is a control component which is proposed to wrap an existing\n * React Component in order to make it compatible with the Control class. Pass\n * the wrapped component as `props.component`. ComponentWrapper controls\n * won't be able to be focused but will allow its children to be focused if they\n * are focusable Controls.\n * \n * It isn't something you'll have to use outright, as the Control's renderChild()\n * method will actually wrap up a Component for you. In this way, you will be\n * able to nest non-control components and control components and expect that\n * top-most control components will work correctly when searching the control\n * component heirarchy.\n ",
      "start": 912,
      "end": 1702,
      "loc": {
        "start": {
          "line": 21,
          "column": 0
        },
        "end": {
          "line": 36,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " TODO: Consider making Sequence into a ContainerControl if there is any purpose for",
      "start": 1763,
      "end": 1848,
      "loc": {
        "start": {
          "line": 38,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 89
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " ContainerControl after completing all the Control requirements.    ",
      "start": 1853,
      "end": 1923,
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 74
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " constructor(props) {",
      "start": 1928,
      "end": 1951,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 27
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     super(props);",
      "start": 1956,
      "end": 1976,
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 41,
          "column": 24
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " }",
      "start": 1981,
      "end": 1985,
      "loc": {
        "start": {
          "line": 42,
          "column": 4
        },
        "end": {
          "line": 42,
          "column": 8
        }
      }
    }
  ],
  "tokens": [
    {
      "type": "CommentBlock",
      "value": " eslint no-plusplus: [\"error\", { \"allowForLoopAfterthoughts\": true }] ",
      "start": 0,
      "end": 74,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 74
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * \n *  ██▓ ███▄    █  ██ ▄█▀     ██████  ██▓███   ██▓    ▄▄▄     ▄▄▄█████▓\n *  ▓██▒ ██ ▀█   █  ██▄█▒    ▒██    ▒ ▓██░  ██▒▓██▒   ▒████▄   ▓  ██▒ ▓▒\n *  ▒██▒▓██  ▀█ ██▒▓███▄░    ░ ▓██▄   ▓██░ ██▓▒▒██░   ▒██  ▀█▄ ▒ ▓██░ ▒░\n *  ░██░▓██▒  ▐▌██▒▓██ █▄      ▒   ██▒▒██▄█▓▒ ▒▒██░   ░██▄▄▄▄██░ ▓██▓ ░\n *  ░██░▒██░   ▓██░▒██▒ █▄   ▒██████▒▒▒██▒ ░  ░░██████▒▓█   ▓██▒ ▒██▒ ░\n *  ░▓  ░ ▒░   ▒ ▒ ▒ ▒▒ ▓▒   ▒ ▒▓▒ ▒ ░▒▓▒░ ░  ░░ ▒░▓  ░▒▒   ▓▒█░ ▒ ░░\n *  ▒ ░░ ░░   ░ ▒░░ ░▒ ▒░   ░ ░▒  ░ ░░▒ ░     ░ ░ ▒  ░ ▒   ▒▒ ░   ░\n *  ▒ ░   ░   ░ ░ ░ ░░ ░    ░  ░  ░  ░░         ░ ░    ░   ▒    ░\n *  ░           ░ ░  ░            ░               ░  ░     ░  ░\n * \n * LICENSE: MIT\n ",
      "start": 75,
      "end": 736,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 737,
      "end": 743,
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 16,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "React",
      "start": 744,
      "end": 749,
      "loc": {
        "start": {
          "line": 16,
          "column": 7
        },
        "end": {
          "line": 16,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 750,
      "end": 754,
      "loc": {
        "start": {
          "line": 16,
          "column": 13
        },
        "end": {
          "line": 16,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "react",
      "start": 755,
      "end": 762,
      "loc": {
        "start": {
          "line": 16,
          "column": 18
        },
        "end": {
          "line": 16,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 762,
      "end": 763,
      "loc": {
        "start": {
          "line": 16,
          "column": 25
        },
        "end": {
          "line": 16,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 764,
      "end": 770,
      "loc": {
        "start": {
          "line": 17,
          "column": 0
        },
        "end": {
          "line": 17,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 771,
      "end": 778,
      "loc": {
        "start": {
          "line": 17,
          "column": 7
        },
        "end": {
          "line": 17,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 779,
      "end": 783,
      "loc": {
        "start": {
          "line": 17,
          "column": 15
        },
        "end": {
          "line": 17,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./Control",
      "start": 784,
      "end": 795,
      "loc": {
        "start": {
          "line": 17,
          "column": 20
        },
        "end": {
          "line": 17,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 795,
      "end": 796,
      "loc": {
        "start": {
          "line": 17,
          "column": 31
        },
        "end": {
          "line": 17,
          "column": 32
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " import { Component } from 'react';",
      "start": 797,
      "end": 834,
      "loc": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 18,
          "column": 37
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " import { isClassOrComponentFactory } from '../utils/isClassOrComponent';",
      "start": 835,
      "end": 910,
      "loc": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 19,
          "column": 75
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * // TODO: Integrate this concept into Control, using `wrapComponent`\n * // as the property.\n * \n * ComponentWrapper is a control component which is proposed to wrap an existing\n * React Component in order to make it compatible with the Control class. Pass\n * the wrapped component as `props.component`. ComponentWrapper controls\n * won't be able to be focused but will allow its children to be focused if they\n * are focusable Controls.\n * \n * It isn't something you'll have to use outright, as the Control's renderChild()\n * method will actually wrap up a Component for you. In this way, you will be\n * able to nest non-control components and control components and expect that\n * top-most control components will work correctly when searching the control\n * component heirarchy.\n ",
      "start": 912,
      "end": 1702,
      "loc": {
        "start": {
          "line": 21,
          "column": 0
        },
        "end": {
          "line": 36,
          "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": 1703,
      "end": 1709,
      "loc": {
        "start": {
          "line": 37,
          "column": 0
        },
        "end": {
          "line": 37,
          "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": 1710,
      "end": 1717,
      "loc": {
        "start": {
          "line": 37,
          "column": 7
        },
        "end": {
          "line": 37,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 1718,
      "end": 1723,
      "loc": {
        "start": {
          "line": 37,
          "column": 15
        },
        "end": {
          "line": 37,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ComponentWrapper",
      "start": 1724,
      "end": 1740,
      "loc": {
        "start": {
          "line": 37,
          "column": 21
        },
        "end": {
          "line": 37,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "extends",
        "keyword": "extends",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "extends",
      "start": 1741,
      "end": 1748,
      "loc": {
        "start": {
          "line": 37,
          "column": 38
        },
        "end": {
          "line": 37,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 1749,
      "end": 1756,
      "loc": {
        "start": {
          "line": 37,
          "column": 46
        },
        "end": {
          "line": 37,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1757,
      "end": 1758,
      "loc": {
        "start": {
          "line": 37,
          "column": 54
        },
        "end": {
          "line": 37,
          "column": 55
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " TODO: Consider making Sequence into a ContainerControl if there is any purpose for",
      "start": 1763,
      "end": 1848,
      "loc": {
        "start": {
          "line": 38,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 89
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " ContainerControl after completing all the Control requirements.    ",
      "start": 1853,
      "end": 1923,
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 74
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " constructor(props) {",
      "start": 1928,
      "end": 1951,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 27
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     super(props);",
      "start": 1956,
      "end": 1976,
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 41,
          "column": 24
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " }",
      "start": 1981,
      "end": 1985,
      "loc": {
        "start": {
          "line": 42,
          "column": 4
        },
        "end": {
          "line": 42,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "render",
      "start": 1995,
      "end": 2001,
      "loc": {
        "start": {
          "line": 44,
          "column": 4
        },
        "end": {
          "line": 44,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2001,
      "end": 2002,
      "loc": {
        "start": {
          "line": 44,
          "column": 10
        },
        "end": {
          "line": 44,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2002,
      "end": 2003,
      "loc": {
        "start": {
          "line": 44,
          "column": 11
        },
        "end": {
          "line": 44,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2004,
      "end": 2005,
      "loc": {
        "start": {
          "line": 44,
          "column": 13
        },
        "end": {
          "line": 44,
          "column": 14
        }
      }
    },
    {
      "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": 2014,
      "end": 2019,
      "loc": {
        "start": {
          "line": 45,
          "column": 8
        },
        "end": {
          "line": 45,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2020,
      "end": 2021,
      "loc": {
        "start": {
          "line": 45,
          "column": 14
        },
        "end": {
          "line": 45,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 2022,
      "end": 2027,
      "loc": {
        "start": {
          "line": 45,
          "column": 16
        },
        "end": {
          "line": 45,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2027,
      "end": 2028,
      "loc": {
        "start": {
          "line": 45,
          "column": 21
        },
        "end": {
          "line": 45,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasChildren",
      "start": 2029,
      "end": 2040,
      "loc": {
        "start": {
          "line": 45,
          "column": 23
        },
        "end": {
          "line": 45,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2041,
      "end": 2042,
      "loc": {
        "start": {
          "line": 45,
          "column": 35
        },
        "end": {
          "line": 45,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2043,
      "end": 2044,
      "loc": {
        "start": {
          "line": 45,
          "column": 37
        },
        "end": {
          "line": 45,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2045,
      "end": 2049,
      "loc": {
        "start": {
          "line": 45,
          "column": 39
        },
        "end": {
          "line": 45,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2049,
      "end": 2050,
      "loc": {
        "start": {
          "line": 45,
          "column": 43
        },
        "end": {
          "line": 45,
          "column": 44
        }
      }
    },
    {
      "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": 2059,
      "end": 2064,
      "loc": {
        "start": {
          "line": 46,
          "column": 8
        },
        "end": {
          "line": 46,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "outputs",
      "start": 2065,
      "end": 2072,
      "loc": {
        "start": {
          "line": 46,
          "column": 14
        },
        "end": {
          "line": 46,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2073,
      "end": 2074,
      "loc": {
        "start": {
          "line": 46,
          "column": 22
        },
        "end": {
          "line": 46,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2075,
      "end": 2076,
      "loc": {
        "start": {
          "line": 46,
          "column": 24
        },
        "end": {
          "line": 46,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2076,
      "end": 2077,
      "loc": {
        "start": {
          "line": 46,
          "column": 25
        },
        "end": {
          "line": 46,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2077,
      "end": 2078,
      "loc": {
        "start": {
          "line": 46,
          "column": 26
        },
        "end": {
          "line": 46,
          "column": 27
        }
      }
    },
    {
      "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": 2087,
      "end": 2089,
      "loc": {
        "start": {
          "line": 47,
          "column": 8
        },
        "end": {
          "line": 47,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2090,
      "end": 2091,
      "loc": {
        "start": {
          "line": 47,
          "column": 11
        },
        "end": {
          "line": 47,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 2091,
      "end": 2096,
      "loc": {
        "start": {
          "line": 47,
          "column": 12
        },
        "end": {
          "line": 47,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2097,
      "end": 2099,
      "loc": {
        "start": {
          "line": 47,
          "column": 18
        },
        "end": {
          "line": 47,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 2100,
      "end": 2105,
      "loc": {
        "start": {
          "line": 47,
          "column": 21
        },
        "end": {
          "line": 47,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2105,
      "end": 2106,
      "loc": {
        "start": {
          "line": 47,
          "column": 26
        },
        "end": {
          "line": 47,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 2106,
      "end": 2115,
      "loc": {
        "start": {
          "line": 47,
          "column": 27
        },
        "end": {
          "line": 47,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2116,
      "end": 2118,
      "loc": {
        "start": {
          "line": 47,
          "column": 37
        },
        "end": {
          "line": 47,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 2119,
      "end": 2126,
      "loc": {
        "start": {
          "line": 47,
          "column": 40
        },
        "end": {
          "line": 47,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2126,
      "end": 2127,
      "loc": {
        "start": {
          "line": 47,
          "column": 47
        },
        "end": {
          "line": 47,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isReactComponent",
      "start": 2127,
      "end": 2143,
      "loc": {
        "start": {
          "line": 47,
          "column": 48
        },
        "end": {
          "line": 47,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2143,
      "end": 2144,
      "loc": {
        "start": {
          "line": 47,
          "column": 64
        },
        "end": {
          "line": 47,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 2144,
      "end": 2149,
      "loc": {
        "start": {
          "line": 47,
          "column": 65
        },
        "end": {
          "line": 47,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2149,
      "end": 2150,
      "loc": {
        "start": {
          "line": 47,
          "column": 70
        },
        "end": {
          "line": 47,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 2150,
      "end": 2159,
      "loc": {
        "start": {
          "line": 47,
          "column": 71
        },
        "end": {
          "line": 47,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2159,
      "end": 2160,
      "loc": {
        "start": {
          "line": 47,
          "column": 80
        },
        "end": {
          "line": 47,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2160,
      "end": 2161,
      "loc": {
        "start": {
          "line": 47,
          "column": 81
        },
        "end": {
          "line": 47,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2162,
      "end": 2163,
      "loc": {
        "start": {
          "line": 47,
          "column": 83
        },
        "end": {
          "line": 47,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "outputs",
      "start": 2176,
      "end": 2183,
      "loc": {
        "start": {
          "line": 48,
          "column": 12
        },
        "end": {
          "line": 48,
          "column": 19
        }
      }
    },
    {
      "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": 48,
          "column": 19
        },
        "end": {
          "line": 48,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 2184,
      "end": 2188,
      "loc": {
        "start": {
          "line": 48,
          "column": 20
        },
        "end": {
          "line": 48,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2188,
      "end": 2189,
      "loc": {
        "start": {
          "line": 48,
          "column": 24
        },
        "end": {
          "line": 48,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 2189,
      "end": 2194,
      "loc": {
        "start": {
          "line": 48,
          "column": 25
        },
        "end": {
          "line": 48,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2194,
      "end": 2195,
      "loc": {
        "start": {
          "line": 48,
          "column": 30
        },
        "end": {
          "line": 48,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 2195,
      "end": 2204,
      "loc": {
        "start": {
          "line": 48,
          "column": 31
        },
        "end": {
          "line": 48,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2204,
      "end": 2205,
      "loc": {
        "start": {
          "line": 48,
          "column": 40
        },
        "end": {
          "line": 48,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2205,
      "end": 2206,
      "loc": {
        "start": {
          "line": 48,
          "column": 41
        },
        "end": {
          "line": 48,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2215,
      "end": 2216,
      "loc": {
        "start": {
          "line": 49,
          "column": 8
        },
        "end": {
          "line": 49,
          "column": 9
        }
      }
    },
    {
      "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": 2225,
      "end": 2227,
      "loc": {
        "start": {
          "line": 50,
          "column": 8
        },
        "end": {
          "line": 50,
          "column": 10
        }
      }
    },
    {
      "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": 50,
          "column": 11
        },
        "end": {
          "line": 50,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasChildren",
      "start": 2229,
      "end": 2240,
      "loc": {
        "start": {
          "line": 50,
          "column": 12
        },
        "end": {
          "line": 50,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2240,
      "end": 2241,
      "loc": {
        "start": {
          "line": 50,
          "column": 23
        },
        "end": {
          "line": 50,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2241,
      "end": 2242,
      "loc": {
        "start": {
          "line": 50,
          "column": 24
        },
        "end": {
          "line": 50,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2242,
      "end": 2243,
      "loc": {
        "start": {
          "line": 50,
          "column": 25
        },
        "end": {
          "line": 50,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2244,
      "end": 2245,
      "loc": {
        "start": {
          "line": 50,
          "column": 27
        },
        "end": {
          "line": 50,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "outputs",
      "start": 2258,
      "end": 2265,
      "loc": {
        "start": {
          "line": 51,
          "column": 12
        },
        "end": {
          "line": 51,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2265,
      "end": 2266,
      "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": "concat",
      "start": 2266,
      "end": 2272,
      "loc": {
        "start": {
          "line": 51,
          "column": 20
        },
        "end": {
          "line": 51,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2272,
      "end": 2273,
      "loc": {
        "start": {
          "line": 51,
          "column": 26
        },
        "end": {
          "line": 51,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 2273,
      "end": 2278,
      "loc": {
        "start": {
          "line": 51,
          "column": 27
        },
        "end": {
          "line": 51,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2278,
      "end": 2279,
      "loc": {
        "start": {
          "line": 51,
          "column": 32
        },
        "end": {
          "line": 51,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 2279,
      "end": 2287,
      "loc": {
        "start": {
          "line": 51,
          "column": 33
        },
        "end": {
          "line": 51,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2287,
      "end": 2288,
      "loc": {
        "start": {
          "line": 51,
          "column": 41
        },
        "end": {
          "line": 51,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2288,
      "end": 2289,
      "loc": {
        "start": {
          "line": 51,
          "column": 42
        },
        "end": {
          "line": 51,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2298,
      "end": 2299,
      "loc": {
        "start": {
          "line": 52,
          "column": 8
        },
        "end": {
          "line": 52,
          "column": 9
        }
      }
    },
    {
      "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": 2308,
      "end": 2310,
      "loc": {
        "start": {
          "line": 53,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2311,
      "end": 2312,
      "loc": {
        "start": {
          "line": 53,
          "column": 11
        },
        "end": {
          "line": 53,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "outputs",
      "start": 2312,
      "end": 2319,
      "loc": {
        "start": {
          "line": 53,
          "column": 12
        },
        "end": {
          "line": 53,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2319,
      "end": 2320,
      "loc": {
        "start": {
          "line": 53,
          "column": 19
        },
        "end": {
          "line": 53,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 2320,
      "end": 2326,
      "loc": {
        "start": {
          "line": 53,
          "column": 20
        },
        "end": {
          "line": 53,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2327,
      "end": 2330,
      "loc": {
        "start": {
          "line": 53,
          "column": 27
        },
        "end": {
          "line": 53,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2331,
      "end": 2332,
      "loc": {
        "start": {
          "line": 53,
          "column": 31
        },
        "end": {
          "line": 53,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2332,
      "end": 2333,
      "loc": {
        "start": {
          "line": 53,
          "column": 32
        },
        "end": {
          "line": 53,
          "column": 33
        }
      }
    },
    {
      "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": 2334,
      "end": 2340,
      "loc": {
        "start": {
          "line": 53,
          "column": 34
        },
        "end": {
          "line": 53,
          "column": 40
        }
      }
    },
    {
      "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": 2341,
      "end": 2345,
      "loc": {
        "start": {
          "line": 53,
          "column": 41
        },
        "end": {
          "line": 53,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2345,
      "end": 2346,
      "loc": {
        "start": {
          "line": 53,
          "column": 45
        },
        "end": {
          "line": 53,
          "column": 46
        }
      }
    },
    {
      "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": 2355,
      "end": 2357,
      "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": 2358,
      "end": 2359,
      "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": "outputs",
      "start": 2359,
      "end": 2366,
      "loc": {
        "start": {
          "line": 54,
          "column": 12
        },
        "end": {
          "line": 54,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2366,
      "end": 2367,
      "loc": {
        "start": {
          "line": 54,
          "column": 19
        },
        "end": {
          "line": 54,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 2367,
      "end": 2373,
      "loc": {
        "start": {
          "line": 54,
          "column": 20
        },
        "end": {
          "line": 54,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2374,
      "end": 2377,
      "loc": {
        "start": {
          "line": 54,
          "column": 27
        },
        "end": {
          "line": 54,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2378,
      "end": 2379,
      "loc": {
        "start": {
          "line": 54,
          "column": 31
        },
        "end": {
          "line": 54,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2379,
      "end": 2380,
      "loc": {
        "start": {
          "line": 54,
          "column": 32
        },
        "end": {
          "line": 54,
          "column": 33
        }
      }
    },
    {
      "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": 2381,
      "end": 2387,
      "loc": {
        "start": {
          "line": 54,
          "column": 34
        },
        "end": {
          "line": 54,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "outputs",
      "start": 2388,
      "end": 2395,
      "loc": {
        "start": {
          "line": 54,
          "column": 41
        },
        "end": {
          "line": 54,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2395,
      "end": 2396,
      "loc": {
        "start": {
          "line": 54,
          "column": 48
        },
        "end": {
          "line": 54,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2396,
      "end": 2397,
      "loc": {
        "start": {
          "line": 54,
          "column": 49
        },
        "end": {
          "line": 54,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2397,
      "end": 2398,
      "loc": {
        "start": {
          "line": 54,
          "column": 50
        },
        "end": {
          "line": 54,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2398,
      "end": 2399,
      "loc": {
        "start": {
          "line": 54,
          "column": 51
        },
        "end": {
          "line": 54,
          "column": 52
        }
      }
    },
    {
      "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": 2408,
      "end": 2414,
      "loc": {
        "start": {
          "line": 55,
          "column": 8
        },
        "end": {
          "line": 55,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2415,
      "end": 2416,
      "loc": {
        "start": {
          "line": 55,
          "column": 15
        },
        "end": {
          "line": 55,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "jsxTagStart",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2427,
      "end": 2428,
      "loc": {
        "start": {
          "line": 56,
          "column": 10
        },
        "end": {
          "line": 56,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "jsxName",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Control",
      "start": 2428,
      "end": 2435,
      "loc": {
        "start": {
          "line": 56,
          "column": 11
        },
        "end": {
          "line": 56,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "jsxTagEnd",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2435,
      "end": 2436,
      "loc": {
        "start": {
          "line": 56,
          "column": 18
        },
        "end": {
          "line": 56,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2436,
      "end": 2437,
      "loc": {
        "start": {
          "line": 56,
          "column": 19
        },
        "end": {
          "line": 56,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "outputs",
      "start": 2437,
      "end": 2444,
      "loc": {
        "start": {
          "line": 56,
          "column": 20
        },
        "end": {
          "line": 56,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2444,
      "end": 2445,
      "loc": {
        "start": {
          "line": 56,
          "column": 27
        },
        "end": {
          "line": 56,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "jsxTagStart",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2445,
      "end": 2446,
      "loc": {
        "start": {
          "line": 56,
          "column": 28
        },
        "end": {
          "line": 56,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "/",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "/",
      "start": 2446,
      "end": 2447,
      "loc": {
        "start": {
          "line": 56,
          "column": 29
        },
        "end": {
          "line": 56,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "jsxName",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Control",
      "start": 2447,
      "end": 2454,
      "loc": {
        "start": {
          "line": 56,
          "column": 30
        },
        "end": {
          "line": 56,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "jsxTagEnd",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2454,
      "end": 2455,
      "loc": {
        "start": {
          "line": 56,
          "column": 37
        },
        "end": {
          "line": 56,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2464,
      "end": 2465,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 57,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2465,
      "end": 2466,
      "loc": {
        "start": {
          "line": 57,
          "column": 9
        },
        "end": {
          "line": 57,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2471,
      "end": 2472,
      "loc": {
        "start": {
          "line": 58,
          "column": 4
        },
        "end": {
          "line": 58,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2473,
      "end": 2474,
      "loc": {
        "start": {
          "line": 59,
          "column": 0
        },
        "end": {
          "line": 59,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2474,
      "end": 2474,
      "loc": {
        "start": {
          "line": 59,
          "column": 1
        },
        "end": {
          "line": 59,
          "column": 1
        }
      }
    }
  ]
}