{
  "type": "Module",
  "span": {
    "start": 115,
    "end": 1094,
    "ctxt": 0
  },
  "body": [
    {
      "type": "TsImportEqualsDeclaration",
      "span": {
        "start": 115,
        "end": 147,
        "ctxt": 0
      },
      "declare": false,
      "isExport": false,
      "isTypeOnly": false,
      "id": {
        "type": "Identifier",
        "span": {
          "start": 122,
          "end": 127,
          "ctxt": 0
        },
        "value": "React",
        "optional": false
      },
      "moduleRef": {
        "type": "TsExternalModuleReference",
        "span": {
          "start": 130,
          "end": 146,
          "ctxt": 0
        },
        "expression": {
          "type": "StringLiteral",
          "span": {
            "start": 138,
            "end": 145,
            "ctxt": 0
          },
          "value": "react",
          "raw": "'react'"
        }
      }
    },
    {
      "type": "FunctionDeclaration",
      "identifier": {
        "type": "Identifier",
        "span": {
          "start": 158,
          "end": 163,
          "ctxt": 0
        },
        "value": "Greet",
        "optional": false
      },
      "declare": false,
      "params": [
        {
          "type": "Parameter",
          "span": {
            "start": 164,
            "end": 182,
            "ctxt": 0
          },
          "decorators": [],
          "pat": {
            "type": "Identifier",
            "span": {
              "start": 164,
              "end": 182,
              "ctxt": 0
            },
            "value": "x",
            "optional": false,
            "typeAnnotation": {
              "type": "TsTypeAnnotation",
              "span": {
                "start": 165,
                "end": 182,
                "ctxt": 0
              },
              "typeAnnotation": {
                "type": "TsTypeLiteral",
                "span": {
                  "start": 167,
                  "end": 182,
                  "ctxt": 0
                },
                "members": [
                  {
                    "type": "TsPropertySignature",
                    "span": {
                      "start": 168,
                      "end": 181,
                      "ctxt": 0
                    },
                    "readonly": false,
                    "key": {
                      "type": "Identifier",
                      "span": {
                        "start": 168,
                        "end": 172,
                        "ctxt": 0
                      },
                      "value": "name",
                      "optional": false
                    },
                    "computed": false,
                    "optional": true,
                    "init": null,
                    "params": [],
                    "typeAnnotation": {
                      "type": "TsTypeAnnotation",
                      "span": {
                        "start": 173,
                        "end": 181,
                        "ctxt": 0
                      },
                      "typeAnnotation": {
                        "type": "TsKeywordType",
                        "span": {
                          "start": 175,
                          "end": 181,
                          "ctxt": 0
                        },
                        "kind": "string"
                      }
                    },
                    "typeParams": null
                  }
                ]
              }
            }
          }
        }
      ],
      "decorators": [],
      "span": {
        "start": 149,
        "end": 218,
        "ctxt": 0
      },
      "body": {
        "type": "BlockStatement",
        "span": {
          "start": 184,
          "end": 218,
          "ctxt": 0
        },
        "stmts": [
          {
            "type": "ReturnStatement",
            "span": {
              "start": 187,
              "end": 216,
              "ctxt": 0
            },
            "argument": {
              "type": "JSXElement",
              "span": {
                "start": 194,
                "end": 215,
                "ctxt": 0
              },
              "opening": {
                "type": "JSXOpeningElement",
                "name": {
                  "type": "Identifier",
                  "span": {
                    "start": 195,
                    "end": 198,
                    "ctxt": 0
                  },
                  "value": "div",
                  "optional": false
                },
                "span": {
                  "start": 194,
                  "end": 199,
                  "ctxt": 0
                },
                "attributes": [],
                "selfClosing": false,
                "typeArguments": null
              },
              "children": [
                {
                  "type": "JSXText",
                  "span": {
                    "start": 199,
                    "end": 206,
                    "ctxt": 0
                  },
                  "value": "Hello, ",
                  "raw": "Hello, "
                },
                {
                  "type": "JSXExpressionContainer",
                  "span": {
                    "start": 206,
                    "end": 209,
                    "ctxt": 0
                  },
                  "expression": {
                    "type": "Identifier",
                    "span": {
                      "start": 207,
                      "end": 208,
                      "ctxt": 0
                    },
                    "value": "x",
                    "optional": false
                  }
                }
              ],
              "closing": {
                "type": "JSXClosingElement",
                "span": {
                  "start": 209,
                  "end": 215,
                  "ctxt": 0
                },
                "name": {
                  "type": "Identifier",
                  "span": {
                    "start": 211,
                    "end": 214,
                    "ctxt": 0
                  },
                  "value": "div",
                  "optional": false
                }
              }
            }
          }
        ]
      },
      "generator": false,
      "async": false,
      "typeParameters": null,
      "returnType": null
    },
    {
      "type": "ClassDeclaration",
      "identifier": {
        "type": "Identifier",
        "span": {
          "start": 226,
          "end": 236,
          "ctxt": 0
        },
        "value": "BigGreeter",
        "optional": false
      },
      "declare": false,
      "span": {
        "start": 220,
        "end": 343,
        "ctxt": 0
      },
      "decorators": [],
      "body": [
        {
          "type": "ClassMethod",
          "span": {
            "start": 287,
            "end": 322,
            "ctxt": 0
          },
          "key": {
            "type": "Identifier",
            "span": {
              "start": 287,
              "end": 293,
              "ctxt": 0
            },
            "value": "render",
            "optional": false
          },
          "function": {
            "params": [],
            "decorators": [],
            "span": {
              "start": 287,
              "end": 322,
              "ctxt": 0
            },
            "body": {
              "type": "BlockStatement",
              "span": {
                "start": 296,
                "end": 322,
                "ctxt": 0
              },
              "stmts": [
                {
                  "type": "ReturnStatement",
                  "span": {
                    "start": 300,
                    "end": 319,
                    "ctxt": 0
                  },
                  "argument": {
                    "type": "JSXElement",
                    "span": {
                      "start": 307,
                      "end": 318,
                      "ctxt": 0
                    },
                    "opening": {
                      "type": "JSXOpeningElement",
                      "name": {
                        "type": "Identifier",
                        "span": {
                          "start": 308,
                          "end": 311,
                          "ctxt": 0
                        },
                        "value": "div",
                        "optional": false
                      },
                      "span": {
                        "start": 307,
                        "end": 312,
                        "ctxt": 0
                      },
                      "attributes": [],
                      "selfClosing": false,
                      "typeArguments": null
                    },
                    "children": [],
                    "closing": {
                      "type": "JSXClosingElement",
                      "span": {
                        "start": 312,
                        "end": 318,
                        "ctxt": 0
                      },
                      "name": {
                        "type": "Identifier",
                        "span": {
                          "start": 314,
                          "end": 317,
                          "ctxt": 0
                        },
                        "value": "div",
                        "optional": false
                      }
                    }
                  }
                }
              ]
            },
            "generator": false,
            "async": false,
            "typeParameters": null,
            "returnType": null
          },
          "kind": "method",
          "isStatic": false,
          "accessibility": null,
          "isAbstract": false,
          "isOptional": false,
          "isOverride": false
        },
        {
          "type": "ClassProperty",
          "span": {
            "start": 324,
            "end": 341,
            "ctxt": 0
          },
          "key": {
            "type": "Identifier",
            "span": {
              "start": 324,
              "end": 332,
              "ctxt": 0
            },
            "value": "greeting",
            "optional": false
          },
          "value": null,
          "typeAnnotation": {
            "type": "TsTypeAnnotation",
            "span": {
              "start": 332,
              "end": 340,
              "ctxt": 0
            },
            "typeAnnotation": {
              "type": "TsKeywordType",
              "span": {
                "start": 334,
                "end": 340,
                "ctxt": 0
              },
              "kind": "string"
            }
          },
          "isStatic": false,
          "decorators": [],
          "accessibility": null,
          "isAbstract": false,
          "isOptional": false,
          "isOverride": false,
          "readonly": false,
          "declare": false,
          "definite": false
        }
      ],
      "superClass": {
        "type": "MemberExpression",
        "span": {
          "start": 245,
          "end": 260,
          "ctxt": 0
        },
        "object": {
          "type": "Identifier",
          "span": {
            "start": 245,
            "end": 250,
            "ctxt": 0
          },
          "value": "React",
          "optional": false
        },
        "property": {
          "type": "Identifier",
          "span": {
            "start": 251,
            "end": 260,
            "ctxt": 0
          },
          "value": "Component",
          "optional": false
        }
      },
      "isAbstract": false,
      "typeParams": null,
      "superTypeParams": {
        "type": "TsTypeParameterInstantiation",
        "span": {
          "start": 260,
          "end": 283,
          "ctxt": 0
        },
        "params": [
          {
            "type": "TsTypeLiteral",
            "span": {
              "start": 261,
              "end": 278,
              "ctxt": 0
            },
            "members": [
              {
                "type": "TsPropertySignature",
                "span": {
                  "start": 263,
                  "end": 276,
                  "ctxt": 0
                },
                "readonly": false,
                "key": {
                  "type": "Identifier",
                  "span": {
                    "start": 263,
                    "end": 267,
                    "ctxt": 0
                  },
                  "value": "name",
                  "optional": false
                },
                "computed": false,
                "optional": true,
                "init": null,
                "params": [],
                "typeAnnotation": {
                  "type": "TsTypeAnnotation",
                  "span": {
                    "start": 268,
                    "end": 276,
                    "ctxt": 0
                  },
                  "typeAnnotation": {
                    "type": "TsKeywordType",
                    "span": {
                      "start": 270,
                      "end": 276,
                      "ctxt": 0
                    },
                    "kind": "string"
                  }
                },
                "typeParams": null
              }
            ]
          },
          {
            "type": "TsTypeLiteral",
            "span": {
              "start": 280,
              "end": 282,
              "ctxt": 0
            },
            "members": []
          }
        ]
      },
      "implements": []
    },
    {
      "type": "VariableDeclaration",
      "span": {
        "start": 351,
        "end": 369,
        "ctxt": 0
      },
      "kind": "let",
      "declare": false,
      "declarations": [
        {
          "type": "VariableDeclarator",
          "span": {
            "start": 355,
            "end": 368,
            "ctxt": 0
          },
          "id": {
            "type": "Identifier",
            "span": {
              "start": 355,
              "end": 356,
              "ctxt": 0
            },
            "value": "a",
            "optional": false,
            "typeAnnotation": null
          },
          "init": {
            "type": "JSXElement",
            "span": {
              "start": 359,
              "end": 368,
              "ctxt": 0
            },
            "opening": {
              "type": "JSXOpeningElement",
              "name": {
                "type": "Identifier",
                "span": {
                  "start": 360,
                  "end": 365,
                  "ctxt": 0
                },
                "value": "Greet",
                "optional": false
              },
              "span": {
                "start": 359,
                "end": 368,
                "ctxt": 0
              },
              "attributes": [],
              "selfClosing": true,
              "typeArguments": null
            },
            "children": [],
            "closing": null
          },
          "definite": false
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "span": {
        "start": 408,
        "end": 434,
        "ctxt": 0
      },
      "kind": "let",
      "declare": false,
      "declarations": [
        {
          "type": "VariableDeclarator",
          "span": {
            "start": 412,
            "end": 433,
            "ctxt": 0
          },
          "id": {
            "type": "Identifier",
            "span": {
              "start": 412,
              "end": 413,
              "ctxt": 0
            },
            "value": "b",
            "optional": false,
            "typeAnnotation": null
          },
          "init": {
            "type": "JSXElement",
            "span": {
              "start": 416,
              "end": 433,
              "ctxt": 0
            },
            "opening": {
              "type": "JSXOpeningElement",
              "name": {
                "type": "Identifier",
                "span": {
                  "start": 417,
                  "end": 422,
                  "ctxt": 0
                },
                "value": "Greet",
                "optional": false
              },
              "span": {
                "start": 416,
                "end": 433,
                "ctxt": 0
              },
              "attributes": [
                {
                  "type": "JSXAttribute",
                  "span": {
                    "start": 423,
                    "end": 430,
                    "ctxt": 0
                  },
                  "name": {
                    "type": "Identifier",
                    "span": {
                      "start": 423,
                      "end": 426,
                      "ctxt": 0
                    },
                    "value": "key",
                    "optional": false
                  },
                  "value": {
                    "type": "StringLiteral",
                    "span": {
                      "start": 427,
                      "end": 430,
                      "ctxt": 0
                    },
                    "value": "k",
                    "raw": "\"k\""
                  }
                }
              ],
              "selfClosing": true,
              "typeArguments": null
            },
            "children": [],
            "closing": null
          },
          "definite": false
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "span": {
        "start": 483,
        "end": 513,
        "ctxt": 0
      },
      "kind": "let",
      "declare": false,
      "declarations": [
        {
          "type": "VariableDeclarator",
          "span": {
            "start": 487,
            "end": 512,
            "ctxt": 0
          },
          "id": {
            "type": "Identifier",
            "span": {
              "start": 487,
              "end": 488,
              "ctxt": 0
            },
            "value": "c",
            "optional": false,
            "typeAnnotation": null
          },
          "init": {
            "type": "JSXElement",
            "span": {
              "start": 491,
              "end": 512,
              "ctxt": 0
            },
            "opening": {
              "type": "JSXOpeningElement",
              "name": {
                "type": "Identifier",
                "span": {
                  "start": 492,
                  "end": 497,
                  "ctxt": 0
                },
                "value": "Greet",
                "optional": false
              },
              "span": {
                "start": 491,
                "end": 512,
                "ctxt": 0
              },
              "attributes": [
                {
                  "type": "JSXAttribute",
                  "span": {
                    "start": 498,
                    "end": 509,
                    "ctxt": 0
                  },
                  "name": {
                    "type": "Identifier",
                    "span": {
                      "start": 498,
                      "end": 501,
                      "ctxt": 0
                    },
                    "value": "ref",
                    "optional": false
                  },
                  "value": {
                    "type": "StringLiteral",
                    "span": {
                      "start": 502,
                      "end": 509,
                      "ctxt": 0
                    },
                    "value": "myRef",
                    "raw": "\"myRef\""
                  }
                }
              ],
              "selfClosing": true,
              "typeArguments": null
            },
            "children": [],
            "closing": null
          },
          "definite": false
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "span": {
        "start": 549,
        "end": 605,
        "ctxt": 0
      },
      "kind": "let",
      "declare": false,
      "declarations": [
        {
          "type": "VariableDeclarator",
          "span": {
            "start": 553,
            "end": 604,
            "ctxt": 0
          },
          "id": {
            "type": "Identifier",
            "span": {
              "start": 553,
              "end": 554,
              "ctxt": 0
            },
            "value": "d",
            "optional": false,
            "typeAnnotation": null
          },
          "init": {
            "type": "JSXElement",
            "span": {
              "start": 557,
              "end": 604,
              "ctxt": 0
            },
            "opening": {
              "type": "JSXOpeningElement",
              "name": {
                "type": "Identifier",
                "span": {
                  "start": 558,
                  "end": 568,
                  "ctxt": 0
                },
                "value": "BigGreeter",
                "optional": false
              },
              "span": {
                "start": 557,
                "end": 604,
                "ctxt": 0
              },
              "attributes": [
                {
                  "type": "JSXAttribute",
                  "span": {
                    "start": 569,
                    "end": 601,
                    "ctxt": 0
                  },
                  "name": {
                    "type": "Identifier",
                    "span": {
                      "start": 569,
                      "end": 572,
                      "ctxt": 0
                    },
                    "value": "ref",
                    "optional": false
                  },
                  "value": {
                    "type": "JSXExpressionContainer",
                    "span": {
                      "start": 573,
                      "end": 601,
                      "ctxt": 0
                    },
                    "expression": {
                      "type": "ArrowFunctionExpression",
                      "span": {
                        "start": 574,
                        "end": 600,
                        "ctxt": 0
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "span": {
                            "start": 574,
                            "end": 575,
                            "ctxt": 0
                          },
                          "value": "x",
                          "optional": false,
                          "typeAnnotation": null
                        }
                      ],
                      "body": {
                        "type": "CallExpression",
                        "span": {
                          "start": 579,
                          "end": 600,
                          "ctxt": 0
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "span": {
                            "start": 579,
                            "end": 596,
                            "ctxt": 0
                          },
                          "object": {
                            "type": "MemberExpression",
                            "span": {
                              "start": 579,
                              "end": 589,
                              "ctxt": 0
                            },
                            "object": {
                              "type": "Identifier",
                              "span": {
                                "start": 579,
                                "end": 580,
                                "ctxt": 0
                              },
                              "value": "x",
                              "optional": false
                            },
                            "property": {
                              "type": "Identifier",
                              "span": {
                                "start": 581,
                                "end": 589,
                                "ctxt": 0
                              },
                              "value": "greeting",
                              "optional": false
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "span": {
                              "start": 590,
                              "end": 596,
                              "ctxt": 0
                            },
                            "value": "substr",
                            "optional": false
                          }
                        },
                        "arguments": [
                          {
                            "spread": null,
                            "expression": {
                              "type": "NumericLiteral",
                              "span": {
                                "start": 597,
                                "end": 599,
                                "ctxt": 0
                              },
                              "value": 10.0
                            }
                          }
                        ],
                        "typeArguments": null
                      },
                      "async": false,
                      "generator": false,
                      "typeParameters": null,
                      "returnType": null
                    }
                  }
                }
              ],
              "selfClosing": true,
              "typeArguments": null
            },
            "children": [],
            "closing": null
          },
          "definite": false
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "span": {
        "start": 639,
        "end": 694,
        "ctxt": 0
      },
      "kind": "let",
      "declare": false,
      "declarations": [
        {
          "type": "VariableDeclarator",
          "span": {
            "start": 643,
            "end": 693,
            "ctxt": 0
          },
          "id": {
            "type": "Identifier",
            "span": {
              "start": 643,
              "end": 644,
              "ctxt": 0
            },
            "value": "e",
            "optional": false,
            "typeAnnotation": null
          },
          "init": {
            "type": "JSXElement",
            "span": {
              "start": 647,
              "end": 693,
              "ctxt": 0
            },
            "opening": {
              "type": "JSXOpeningElement",
              "name": {
                "type": "Identifier",
                "span": {
                  "start": 648,
                  "end": 658,
                  "ctxt": 0
                },
                "value": "BigGreeter",
                "optional": false
              },
              "span": {
                "start": 647,
                "end": 693,
                "ctxt": 0
              },
              "attributes": [
                {
                  "type": "JSXAttribute",
                  "span": {
                    "start": 659,
                    "end": 690,
                    "ctxt": 0
                  },
                  "name": {
                    "type": "Identifier",
                    "span": {
                      "start": 659,
                      "end": 662,
                      "ctxt": 0
                    },
                    "value": "ref",
                    "optional": false
                  },
                  "value": {
                    "type": "JSXExpressionContainer",
                    "span": {
                      "start": 663,
                      "end": 690,
                      "ctxt": 0
                    },
                    "expression": {
                      "type": "ArrowFunctionExpression",
                      "span": {
                        "start": 664,
                        "end": 689,
                        "ctxt": 0
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "span": {
                            "start": 664,
                            "end": 665,
                            "ctxt": 0
                          },
                          "value": "x",
                          "optional": false,
                          "typeAnnotation": null
                        }
                      ],
                      "body": {
                        "type": "CallExpression",
                        "span": {
                          "start": 669,
                          "end": 689,
                          "ctxt": 0
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "span": {
                            "start": 669,
                            "end": 685,
                            "ctxt": 0
                          },
                          "object": {
                            "type": "MemberExpression",
                            "span": {
                              "start": 669,
                              "end": 679,
                              "ctxt": 0
                            },
                            "object": {
                              "type": "Identifier",
                              "span": {
                                "start": 669,
                                "end": 670,
                                "ctxt": 0
                              },
                              "value": "x",
                              "optional": false
                            },
                            "property": {
                              "type": "Identifier",
                              "span": {
                                "start": 671,
                                "end": 679,
                                "ctxt": 0
                              },
                              "value": "greeting",
                              "optional": false
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "span": {
                              "start": 680,
                              "end": 685,
                              "ctxt": 0
                            },
                            "value": "subtr",
                            "optional": false
                          }
                        },
                        "arguments": [
                          {
                            "spread": null,
                            "expression": {
                              "type": "NumericLiteral",
                              "span": {
                                "start": 686,
                                "end": 688,
                                "ctxt": 0
                              },
                              "value": 10.0
                            }
                          }
                        ],
                        "typeArguments": null
                      },
                      "async": false,
                      "generator": false,
                      "typeParameters": null,
                      "returnType": null
                    }
                  }
                }
              ],
              "selfClosing": true,
              "typeArguments": null
            },
            "children": [],
            "closing": null
          },
          "definite": false
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "span": {
        "start": 741,
        "end": 794,
        "ctxt": 0
      },
      "kind": "let",
      "declare": false,
      "declarations": [
        {
          "type": "VariableDeclarator",
          "span": {
            "start": 745,
            "end": 793,
            "ctxt": 0
          },
          "id": {
            "type": "Identifier",
            "span": {
              "start": 745,
              "end": 746,
              "ctxt": 0
            },
            "value": "f",
            "optional": false,
            "typeAnnotation": null
          },
          "init": {
            "type": "JSXElement",
            "span": {
              "start": 749,
              "end": 793,
              "ctxt": 0
            },
            "opening": {
              "type": "JSXOpeningElement",
              "name": {
                "type": "Identifier",
                "span": {
                  "start": 750,
                  "end": 760,
                  "ctxt": 0
                },
                "value": "BigGreeter",
                "optional": false
              },
              "span": {
                "start": 749,
                "end": 793,
                "ctxt": 0
              },
              "attributes": [
                {
                  "type": "JSXAttribute",
                  "span": {
                    "start": 761,
                    "end": 790,
                    "ctxt": 0
                  },
                  "name": {
                    "type": "Identifier",
                    "span": {
                      "start": 761,
                      "end": 764,
                      "ctxt": 0
                    },
                    "value": "ref",
                    "optional": false
                  },
                  "value": {
                    "type": "JSXExpressionContainer",
                    "span": {
                      "start": 765,
                      "end": 790,
                      "ctxt": 0
                    },
                    "expression": {
                      "type": "ArrowFunctionExpression",
                      "span": {
                        "start": 766,
                        "end": 789,
                        "ctxt": 0
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "span": {
                            "start": 766,
                            "end": 767,
                            "ctxt": 0
                          },
                          "value": "x",
                          "optional": false,
                          "typeAnnotation": null
                        }
                      ],
                      "body": {
                        "type": "MemberExpression",
                        "span": {
                          "start": 771,
                          "end": 789,
                          "ctxt": 0
                        },
                        "object": {
                          "type": "Identifier",
                          "span": {
                            "start": 771,
                            "end": 772,
                            "ctxt": 0
                          },
                          "value": "x",
                          "optional": false
                        },
                        "property": {
                          "type": "Identifier",
                          "span": {
                            "start": 773,
                            "end": 789,
                            "ctxt": 0
                          },
                          "value": "notARealProperty",
                          "optional": false
                        }
                      },
                      "async": false,
                      "generator": false,
                      "typeParameters": null,
                      "returnType": null
                    }
                  }
                }
              ],
              "selfClosing": true,
              "typeArguments": null
            },
            "children": [],
            "closing": null
          },
          "definite": false
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "span": {
        "start": 824,
        "end": 857,
        "ctxt": 0
      },
      "kind": "let",
      "declare": false,
      "declarations": [
        {
          "type": "VariableDeclarator",
          "span": {
            "start": 828,
            "end": 856,
            "ctxt": 0
          },
          "id": {
            "type": "Identifier",
            "span": {
              "start": 828,
              "end": 829,
              "ctxt": 0
            },
            "value": "g",
            "optional": false,
            "typeAnnotation": null
          },
          "init": {
            "type": "JSXElement",
            "span": {
              "start": 832,
              "end": 856,
              "ctxt": 0
            },
            "opening": {
              "type": "JSXOpeningElement",
              "name": {
                "type": "Identifier",
                "span": {
                  "start": 833,
                  "end": 843,
                  "ctxt": 0
                },
                "value": "BigGreeter",
                "optional": false
              },
              "span": {
                "start": 832,
                "end": 856,
                "ctxt": 0
              },
              "attributes": [
                {
                  "type": "JSXAttribute",
                  "span": {
                    "start": 844,
                    "end": 853,
                    "ctxt": 0
                  },
                  "name": {
                    "type": "Identifier",
                    "span": {
                      "start": 844,
                      "end": 847,
                      "ctxt": 0
                    },
                    "value": "key",
                    "optional": false
                  },
                  "value": {
                    "type": "JSXExpressionContainer",
                    "span": {
                      "start": 848,
                      "end": 853,
                      "ctxt": 0
                    },
                    "expression": {
                      "type": "NumericLiteral",
                      "span": {
                        "start": 849,
                        "end": 852,
                        "ctxt": 0
                      },
                      "value": 100.0
                    }
                  }
                }
              ],
              "selfClosing": true,
              "typeArguments": null
            },
            "children": [],
            "closing": null
          },
          "definite": false
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "span": {
        "start": 919,
        "end": 958,
        "ctxt": 0
      },
      "kind": "let",
      "declare": false,
      "declarations": [
        {
          "type": "VariableDeclarator",
          "span": {
            "start": 923,
            "end": 957,
            "ctxt": 0
          },
          "id": {
            "type": "Identifier",
            "span": {
              "start": 923,
              "end": 924,
              "ctxt": 0
            },
            "value": "h",
            "optional": false,
            "typeAnnotation": null
          },
          "init": {
            "type": "JSXElement",
            "span": {
              "start": 927,
              "end": 957,
              "ctxt": 0
            },
            "opening": {
              "type": "JSXOpeningElement",
              "name": {
                "type": "Identifier",
                "span": {
                  "start": 928,
                  "end": 931,
                  "ctxt": 0
                },
                "value": "div",
                "optional": false
              },
              "span": {
                "start": 927,
                "end": 957,
                "ctxt": 0
              },
              "attributes": [
                {
                  "type": "JSXAttribute",
                  "span": {
                    "start": 932,
                    "end": 954,
                    "ctxt": 0
                  },
                  "name": {
                    "type": "Identifier",
                    "span": {
                      "start": 932,
                      "end": 935,
                      "ctxt": 0
                    },
                    "value": "ref",
                    "optional": false
                  },
                  "value": {
                    "type": "JSXExpressionContainer",
                    "span": {
                      "start": 936,
                      "end": 954,
                      "ctxt": 0
                    },
                    "expression": {
                      "type": "ArrowFunctionExpression",
                      "span": {
                        "start": 937,
                        "end": 953,
                        "ctxt": 0
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "span": {
                            "start": 937,
                            "end": 938,
                            "ctxt": 0
                          },
                          "value": "x",
                          "optional": false,
                          "typeAnnotation": null
                        }
                      ],
                      "body": {
                        "type": "MemberExpression",
                        "span": {
                          "start": 942,
                          "end": 953,
                          "ctxt": 0
                        },
                        "object": {
                          "type": "Identifier",
                          "span": {
                            "start": 942,
                            "end": 943,
                            "ctxt": 0
                          },
                          "value": "x",
                          "optional": false
                        },
                        "property": {
                          "type": "Identifier",
                          "span": {
                            "start": 944,
                            "end": 953,
                            "ctxt": 0
                          },
                          "value": "innerText",
                          "optional": false
                        }
                      },
                      "async": false,
                      "generator": false,
                      "typeParameters": null,
                      "returnType": null
                    }
                  }
                }
              ],
              "selfClosing": true,
              "typeArguments": null
            },
            "children": [],
            "closing": null
          },
          "definite": false
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "span": {
        "start": 1037,
        "end": 1094,
        "ctxt": 0
      },
      "kind": "let",
      "declare": false,
      "declarations": [
        {
          "type": "VariableDeclarator",
          "span": {
            "start": 1041,
            "end": 1093,
            "ctxt": 0
          },
          "id": {
            "type": "Identifier",
            "span": {
              "start": 1041,
              "end": 1042,
              "ctxt": 0
            },
            "value": "i",
            "optional": false,
            "typeAnnotation": null
          },
          "init": {
            "type": "JSXElement",
            "span": {
              "start": 1045,
              "end": 1093,
              "ctxt": 0
            },
            "opening": {
              "type": "JSXOpeningElement",
              "name": {
                "type": "Identifier",
                "span": {
                  "start": 1046,
                  "end": 1049,
                  "ctxt": 0
                },
                "value": "div",
                "optional": false
              },
              "span": {
                "start": 1045,
                "end": 1093,
                "ctxt": 0
              },
              "attributes": [
                {
                  "type": "JSXAttribute",
                  "span": {
                    "start": 1050,
                    "end": 1090,
                    "ctxt": 0
                  },
                  "name": {
                    "type": "Identifier",
                    "span": {
                      "start": 1050,
                      "end": 1053,
                      "ctxt": 0
                    },
                    "value": "ref",
                    "optional": false
                  },
                  "value": {
                    "type": "JSXExpressionContainer",
                    "span": {
                      "start": 1054,
                      "end": 1090,
                      "ctxt": 0
                    },
                    "expression": {
                      "type": "ArrowFunctionExpression",
                      "span": {
                        "start": 1055,
                        "end": 1089,
                        "ctxt": 0
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "span": {
                            "start": 1055,
                            "end": 1056,
                            "ctxt": 0
                          },
                          "value": "x",
                          "optional": false,
                          "typeAnnotation": null
                        }
                      ],
                      "body": {
                        "type": "MemberExpression",
                        "span": {
                          "start": 1060,
                          "end": 1089,
                          "ctxt": 0
                        },
                        "object": {
                          "type": "Identifier",
                          "span": {
                            "start": 1060,
                            "end": 1061,
                            "ctxt": 0
                          },
                          "value": "x",
                          "optional": false
                        },
                        "property": {
                          "type": "Identifier",
                          "span": {
                            "start": 1062,
                            "end": 1089,
                            "ctxt": 0
                          },
                          "value": "propertyNotOnHtmlDivElement",
                          "optional": false
                        }
                      },
                      "async": false,
                      "generator": false,
                      "typeParameters": null,
                      "returnType": null
                    }
                  }
                }
              ],
              "selfClosing": true,
              "typeArguments": null
            },
            "children": [],
            "closing": null
          },
          "definite": false
        }
      ]
    }
  ],
  "interpreter": null
}