1[
   2  {
   3    "type": "_compound_statement",
   4    "named": true,
   5    "subtypes": [
   6      {
   7        "type": "class_definition",
   8        "named": true
   9      },
  10      {
  11        "type": "decorated_definition",
  12        "named": true
  13      },
  14      {
  15        "type": "for_statement",
  16        "named": true
  17      },
  18      {
  19        "type": "function_definition",
  20        "named": true
  21      },
  22      {
  23        "type": "if_statement",
  24        "named": true
  25      },
  26      {
  27        "type": "match_statement",
  28        "named": true
  29      },
  30      {
  31        "type": "try_statement",
  32        "named": true
  33      },
  34      {
  35        "type": "while_statement",
  36        "named": true
  37      },
  38      {
  39        "type": "with_statement",
  40        "named": true
  41      }
  42    ]
  43  },
  44  {
  45    "type": "_simple_statement",
  46    "named": true,
  47    "subtypes": [
  48      {
  49        "type": "assert_statement",
  50        "named": true
  51      },
  52      {
  53        "type": "break_statement",
  54        "named": true
  55      },
  56      {
  57        "type": "continue_statement",
  58        "named": true
  59      },
  60      {
  61        "type": "delete_statement",
  62        "named": true
  63      },
  64      {
  65        "type": "exec_statement",
  66        "named": true
  67      },
  68      {
  69        "type": "expression_statement",
  70        "named": true
  71      },
  72      {
  73        "type": "future_import_statement",
  74        "named": true
  75      },
  76      {
  77        "type": "global_statement",
  78        "named": true
  79      },
  80      {
  81        "type": "import_from_statement",
  82        "named": true
  83      },
  84      {
  85        "type": "import_statement",
  86        "named": true
  87      },
  88      {
  89        "type": "nonlocal_statement",
  90        "named": true
  91      },
  92      {
  93        "type": "pass_statement",
  94        "named": true
  95      },
  96      {
  97        "type": "print_statement",
  98        "named": true
  99      },
 100      {
 101        "type": "raise_statement",
 102        "named": true
 103      },
 104      {
 105        "type": "return_statement",
 106        "named": true
 107      },
 108      {
 109        "type": "type_alias_statement",
 110        "named": true
 111      }
 112    ]
 113  },
 114  {
 115    "type": "expression",
 116    "named": true,
 117    "subtypes": [
 118      {
 119        "type": "as_pattern",
 120        "named": true
 121      },
 122      {
 123        "type": "boolean_operator",
 124        "named": true
 125      },
 126      {
 127        "type": "comparison_operator",
 128        "named": true
 129      },
 130      {
 131        "type": "conditional_expression",
 132        "named": true
 133      },
 134      {
 135        "type": "lambda",
 136        "named": true
 137      },
 138      {
 139        "type": "named_expression",
 140        "named": true
 141      },
 142      {
 143        "type": "not_operator",
 144        "named": true
 145      },
 146      {
 147        "type": "primary_expression",
 148        "named": true
 149      }
 150    ]
 151  },
 152  {
 153    "type": "parameter",
 154    "named": true,
 155    "subtypes": [
 156      {
 157        "type": "default_parameter",
 158        "named": true
 159      },
 160      {
 161        "type": "dictionary_splat_pattern",
 162        "named": true
 163      },
 164      {
 165        "type": "identifier",
 166        "named": true
 167      },
 168      {
 169        "type": "keyword_separator",
 170        "named": true
 171      },
 172      {
 173        "type": "list_splat_pattern",
 174        "named": true
 175      },
 176      {
 177        "type": "positional_separator",
 178        "named": true
 179      },
 180      {
 181        "type": "tuple_pattern",
 182        "named": true
 183      },
 184      {
 185        "type": "typed_default_parameter",
 186        "named": true
 187      },
 188      {
 189        "type": "typed_parameter",
 190        "named": true
 191      }
 192    ]
 193  },
 194  {
 195    "type": "pattern",
 196    "named": true,
 197    "subtypes": [
 198      {
 199        "type": "attribute",
 200        "named": true
 201      },
 202      {
 203        "type": "identifier",
 204        "named": true
 205      },
 206      {
 207        "type": "list_pattern",
 208        "named": true
 209      },
 210      {
 211        "type": "list_splat_pattern",
 212        "named": true
 213      },
 214      {
 215        "type": "subscript",
 216        "named": true
 217      },
 218      {
 219        "type": "tuple_pattern",
 220        "named": true
 221      }
 222    ]
 223  },
 224  {
 225    "type": "primary_expression",
 226    "named": true,
 227    "subtypes": [
 228      {
 229        "type": "attribute",
 230        "named": true
 231      },
 232      {
 233        "type": "await",
 234        "named": true
 235      },
 236      {
 237        "type": "binary_operator",
 238        "named": true
 239      },
 240      {
 241        "type": "call",
 242        "named": true
 243      },
 244      {
 245        "type": "concatenated_string",
 246        "named": true
 247      },
 248      {
 249        "type": "dictionary",
 250        "named": true
 251      },
 252      {
 253        "type": "dictionary_comprehension",
 254        "named": true
 255      },
 256      {
 257        "type": "ellipsis",
 258        "named": true
 259      },
 260      {
 261        "type": "false",
 262        "named": true
 263      },
 264      {
 265        "type": "float",
 266        "named": true
 267      },
 268      {
 269        "type": "generator_expression",
 270        "named": true
 271      },
 272      {
 273        "type": "identifier",
 274        "named": true
 275      },
 276      {
 277        "type": "integer",
 278        "named": true
 279      },
 280      {
 281        "type": "list",
 282        "named": true
 283      },
 284      {
 285        "type": "list_comprehension",
 286        "named": true
 287      },
 288      {
 289        "type": "list_splat",
 290        "named": true
 291      },
 292      {
 293        "type": "none",
 294        "named": true
 295      },
 296      {
 297        "type": "parenthesized_expression",
 298        "named": true
 299      },
 300      {
 301        "type": "set",
 302        "named": true
 303      },
 304      {
 305        "type": "set_comprehension",
 306        "named": true
 307      },
 308      {
 309        "type": "string",
 310        "named": true
 311      },
 312      {
 313        "type": "subscript",
 314        "named": true
 315      },
 316      {
 317        "type": "true",
 318        "named": true
 319      },
 320      {
 321        "type": "tuple",
 322        "named": true
 323      },
 324      {
 325        "type": "unary_operator",
 326        "named": true
 327      }
 328    ]
 329  },
 330  {
 331    "type": "aliased_import",
 332    "named": true,
 333    "fields": {
 334      "alias": {
 335        "multiple": false,
 336        "required": true,
 337        "types": [
 338          {
 339            "type": "identifier",
 340            "named": true
 341          }
 342        ]
 343      },
 344      "name": {
 345        "multiple": false,
 346        "required": true,
 347        "types": [
 348          {
 349            "type": "dotted_name",
 350            "named": true
 351          }
 352        ]
 353      }
 354    }
 355  },
 356  {
 357    "type": "argument_list",
 358    "named": true,
 359    "fields": {},
 360    "children": {
 361      "multiple": true,
 362      "required": false,
 363      "types": [
 364        {
 365          "type": "dictionary_splat",
 366          "named": true
 367        },
 368        {
 369          "type": "expression",
 370          "named": true
 371        },
 372        {
 373          "type": "keyword_argument",
 374          "named": true
 375        },
 376        {
 377          "type": "list_splat",
 378          "named": true
 379        },
 380        {
 381          "type": "parenthesized_expression",
 382          "named": true
 383        }
 384      ]
 385    }
 386  },
 387  {
 388    "type": "as_pattern",
 389    "named": true,
 390    "fields": {
 391      "alias": {
 392        "multiple": false,
 393        "required": false,
 394        "types": [
 395          {
 396            "type": "as_pattern_target",
 397            "named": true
 398          }
 399        ]
 400      }
 401    },
 402    "children": {
 403      "multiple": true,
 404      "required": true,
 405      "types": [
 406        {
 407          "type": "case_pattern",
 408          "named": true
 409        },
 410        {
 411          "type": "expression",
 412          "named": true
 413        },
 414        {
 415          "type": "identifier",
 416          "named": true
 417        }
 418      ]
 419    }
 420  },
 421  {
 422    "type": "assert_statement",
 423    "named": true,
 424    "fields": {},
 425    "children": {
 426      "multiple": true,
 427      "required": true,
 428      "types": [
 429        {
 430          "type": "expression",
 431          "named": true
 432        }
 433      ]
 434    }
 435  },
 436  {
 437    "type": "assignment",
 438    "named": true,
 439    "fields": {
 440      "left": {
 441        "multiple": false,
 442        "required": true,
 443        "types": [
 444          {
 445            "type": "pattern",
 446            "named": true
 447          },
 448          {
 449            "type": "pattern_list",
 450            "named": true
 451          }
 452        ]
 453      },
 454      "right": {
 455        "multiple": false,
 456        "required": false,
 457        "types": [
 458          {
 459            "type": "assignment",
 460            "named": true
 461          },
 462          {
 463            "type": "augmented_assignment",
 464            "named": true
 465          },
 466          {
 467            "type": "expression",
 468            "named": true
 469          },
 470          {
 471            "type": "expression_list",
 472            "named": true
 473          },
 474          {
 475            "type": "pattern_list",
 476            "named": true
 477          },
 478          {
 479            "type": "yield",
 480            "named": true
 481          }
 482        ]
 483      },
 484      "type": {
 485        "multiple": false,
 486        "required": false,
 487        "types": [
 488          {
 489            "type": "type",
 490            "named": true
 491          }
 492        ]
 493      }
 494    }
 495  },
 496  {
 497    "type": "attribute",
 498    "named": true,
 499    "fields": {
 500      "attribute": {
 501        "multiple": false,
 502        "required": true,
 503        "types": [
 504          {
 505            "type": "identifier",
 506            "named": true
 507          }
 508        ]
 509      },
 510      "object": {
 511        "multiple": false,
 512        "required": true,
 513        "types": [
 514          {
 515            "type": "primary_expression",
 516            "named": true
 517          }
 518        ]
 519      }
 520    }
 521  },
 522  {
 523    "type": "augmented_assignment",
 524    "named": true,
 525    "fields": {
 526      "left": {
 527        "multiple": false,
 528        "required": true,
 529        "types": [
 530          {
 531            "type": "pattern",
 532            "named": true
 533          },
 534          {
 535            "type": "pattern_list",
 536            "named": true
 537          }
 538        ]
 539      },
 540      "operator": {
 541        "multiple": false,
 542        "required": true,
 543        "types": [
 544          {
 545            "type": "%=",
 546            "named": false
 547          },
 548          {
 549            "type": "&=",
 550            "named": false
 551          },
 552          {
 553            "type": "**=",
 554            "named": false
 555          },
 556          {
 557            "type": "*=",
 558            "named": false
 559          },
 560          {
 561            "type": "+=",
 562            "named": false
 563          },
 564          {
 565            "type": "-=",
 566            "named": false
 567          },
 568          {
 569            "type": "//=",
 570            "named": false
 571          },
 572          {
 573            "type": "/=",
 574            "named": false
 575          },
 576          {
 577            "type": "<<=",
 578            "named": false
 579          },
 580          {
 581            "type": ">>=",
 582            "named": false
 583          },
 584          {
 585            "type": "@=",
 586            "named": false
 587          },
 588          {
 589            "type": "^=",
 590            "named": false
 591          },
 592          {
 593            "type": "|=",
 594            "named": false
 595          }
 596        ]
 597      },
 598      "right": {
 599        "multiple": false,
 600        "required": true,
 601        "types": [
 602          {
 603            "type": "assignment",
 604            "named": true
 605          },
 606          {
 607            "type": "augmented_assignment",
 608            "named": true
 609          },
 610          {
 611            "type": "expression",
 612            "named": true
 613          },
 614          {
 615            "type": "expression_list",
 616            "named": true
 617          },
 618          {
 619            "type": "pattern_list",
 620            "named": true
 621          },
 622          {
 623            "type": "yield",
 624            "named": true
 625          }
 626        ]
 627      }
 628    }
 629  },
 630  {
 631    "type": "await",
 632    "named": true,
 633    "fields": {},
 634    "children": {
 635      "multiple": false,
 636      "required": true,
 637      "types": [
 638        {
 639          "type": "primary_expression",
 640          "named": true
 641        }
 642      ]
 643    }
 644  },
 645  {
 646    "type": "binary_operator",
 647    "named": true,
 648    "fields": {
 649      "left": {
 650        "multiple": false,
 651        "required": true,
 652        "types": [
 653          {
 654            "type": "primary_expression",
 655            "named": true
 656          }
 657        ]
 658      },
 659      "operator": {
 660        "multiple": false,
 661        "required": true,
 662        "types": [
 663          {
 664            "type": "%",
 665            "named": false
 666          },
 667          {
 668            "type": "&",
 669            "named": false
 670          },
 671          {
 672            "type": "*",
 673            "named": false
 674          },
 675          {
 676            "type": "**",
 677            "named": false
 678          },
 679          {
 680            "type": "+",
 681            "named": false
 682          },
 683          {
 684            "type": "-",
 685            "named": false
 686          },
 687          {
 688            "type": "/",
 689            "named": false
 690          },
 691          {
 692            "type": "//",
 693            "named": false
 694          },
 695          {
 696            "type": "<<",
 697            "named": false
 698          },
 699          {
 700            "type": ">>",
 701            "named": false
 702          },
 703          {
 704            "type": "@",
 705            "named": false
 706          },
 707          {
 708            "type": "^",
 709            "named": false
 710          },
 711          {
 712            "type": "|",
 713            "named": false
 714          }
 715        ]
 716      },
 717      "right": {
 718        "multiple": false,
 719        "required": true,
 720        "types": [
 721          {
 722            "type": "primary_expression",
 723            "named": true
 724          }
 725        ]
 726      }
 727    }
 728  },
 729  {
 730    "type": "block",
 731    "named": true,
 732    "fields": {
 733      "alternative": {
 734        "multiple": true,
 735        "required": false,
 736        "types": [
 737          {
 738            "type": "case_clause",
 739            "named": true
 740          }
 741        ]
 742      }
 743    },
 744    "children": {
 745      "multiple": true,
 746      "required": false,
 747      "types": [
 748        {
 749          "type": "_compound_statement",
 750          "named": true
 751        },
 752        {
 753          "type": "_simple_statement",
 754          "named": true
 755        }
 756      ]
 757    }
 758  },
 759  {
 760    "type": "boolean_operator",
 761    "named": true,
 762    "fields": {
 763      "left": {
 764        "multiple": false,
 765        "required": true,
 766        "types": [
 767          {
 768            "type": "expression",
 769            "named": true
 770          }
 771        ]
 772      },
 773      "operator": {
 774        "multiple": false,
 775        "required": true,
 776        "types": [
 777          {
 778            "type": "and",
 779            "named": false
 780          },
 781          {
 782            "type": "or",
 783            "named": false
 784          }
 785        ]
 786      },
 787      "right": {
 788        "multiple": false,
 789        "required": true,
 790        "types": [
 791          {
 792            "type": "expression",
 793            "named": true
 794          }
 795        ]
 796      }
 797    }
 798  },
 799  {
 800    "type": "break_statement",
 801    "named": true,
 802    "fields": {}
 803  },
 804  {
 805    "type": "call",
 806    "named": true,
 807    "fields": {
 808      "arguments": {
 809        "multiple": false,
 810        "required": true,
 811        "types": [
 812          {
 813            "type": "argument_list",
 814            "named": true
 815          },
 816          {
 817            "type": "generator_expression",
 818            "named": true
 819          }
 820        ]
 821      },
 822      "function": {
 823        "multiple": false,
 824        "required": true,
 825        "types": [
 826          {
 827            "type": "primary_expression",
 828            "named": true
 829          }
 830        ]
 831      }
 832    }
 833  },
 834  {
 835    "type": "case_clause",
 836    "named": true,
 837    "fields": {
 838      "consequence": {
 839        "multiple": false,
 840        "required": true,
 841        "types": [
 842          {
 843            "type": "block",
 844            "named": true
 845          }
 846        ]
 847      },
 848      "guard": {
 849        "multiple": false,
 850        "required": false,
 851        "types": [
 852          {
 853            "type": "if_clause",
 854            "named": true
 855          }
 856        ]
 857      }
 858    },
 859    "children": {
 860      "multiple": true,
 861      "required": true,
 862      "types": [
 863        {
 864          "type": "case_pattern",
 865          "named": true
 866        }
 867      ]
 868    }
 869  },
 870  {
 871    "type": "case_pattern",
 872    "named": true,
 873    "fields": {},
 874    "children": {
 875      "multiple": false,
 876      "required": false,
 877      "types": [
 878        {
 879          "type": "as_pattern",
 880          "named": true
 881        },
 882        {
 883          "type": "class_pattern",
 884          "named": true
 885        },
 886        {
 887          "type": "complex_pattern",
 888          "named": true
 889        },
 890        {
 891          "type": "concatenated_string",
 892          "named": true
 893        },
 894        {
 895          "type": "dict_pattern",
 896          "named": true
 897        },
 898        {
 899          "type": "dotted_name",
 900          "named": true
 901        },
 902        {
 903          "type": "false",
 904          "named": true
 905        },
 906        {
 907          "type": "float",
 908          "named": true
 909        },
 910        {
 911          "type": "integer",
 912          "named": true
 913        },
 914        {
 915          "type": "keyword_pattern",
 916          "named": true
 917        },
 918        {
 919          "type": "list_pattern",
 920          "named": true
 921        },
 922        {
 923          "type": "none",
 924          "named": true
 925        },
 926        {
 927          "type": "splat_pattern",
 928          "named": true
 929        },
 930        {
 931          "type": "string",
 932          "named": true
 933        },
 934        {
 935          "type": "true",
 936          "named": true
 937        },
 938        {
 939          "type": "tuple_pattern",
 940          "named": true
 941        },
 942        {
 943          "type": "union_pattern",
 944          "named": true
 945        }
 946      ]
 947    }
 948  },
 949  {
 950    "type": "chevron",
 951    "named": true,
 952    "fields": {},
 953    "children": {
 954      "multiple": false,
 955      "required": true,
 956      "types": [
 957        {
 958          "type": "expression",
 959          "named": true
 960        }
 961      ]
 962    }
 963  },
 964  {
 965    "type": "class_definition",
 966    "named": true,
 967    "fields": {
 968      "body": {
 969        "multiple": false,
 970        "required": true,
 971        "types": [
 972          {
 973            "type": "block",
 974            "named": true
 975          }
 976        ]
 977      },
 978      "name": {
 979        "multiple": false,
 980        "required": true,
 981        "types": [
 982          {
 983            "type": "identifier",
 984            "named": true
 985          }
 986        ]
 987      },
 988      "superclasses": {
 989        "multiple": false,
 990        "required": false,
 991        "types": [
 992          {
 993            "type": "argument_list",
 994            "named": true
 995          }
 996        ]
 997      },
 998      "type_parameters": {
 999        "multiple": false,
1000        "required": false,
1001        "types": [
1002          {
1003            "type": "type_parameter",
1004            "named": true
1005          }
1006        ]
1007      }
1008    }
1009  },
1010  {
1011    "type": "class_pattern",
1012    "named": true,
1013    "fields": {},
1014    "children": {
1015      "multiple": true,
1016      "required": true,
1017      "types": [
1018        {
1019          "type": "case_pattern",
1020          "named": true
1021        },
1022        {
1023          "type": "dotted_name",
1024          "named": true
1025        }
1026      ]
1027    }
1028  },
1029  {
1030    "type": "comparison_operator",
1031    "named": true,
1032    "fields": {
1033      "operators": {
1034        "multiple": true,
1035        "required": true,
1036        "types": [
1037          {
1038            "type": "!=",
1039            "named": false
1040          },
1041          {
1042            "type": "<",
1043            "named": false
1044          },
1045          {
1046            "type": "<=",
1047            "named": false
1048          },
1049          {
1050            "type": "<>",
1051            "named": false
1052          },
1053          {
1054            "type": "==",
1055            "named": false
1056          },
1057          {
1058            "type": ">",
1059            "named": false
1060          },
1061          {
1062            "type": ">=",
1063            "named": false
1064          },
1065          {
1066            "type": "in",
1067            "named": false
1068          },
1069          {
1070            "type": "is",
1071            "named": false
1072          },
1073          {
1074            "type": "is not",
1075            "named": false
1076          },
1077          {
1078            "type": "not in",
1079            "named": false
1080          }
1081        ]
1082      }
1083    },
1084    "children": {
1085      "multiple": true,
1086      "required": true,
1087      "types": [
1088        {
1089          "type": "primary_expression",
1090          "named": true
1091        }
1092      ]
1093    }
1094  },
1095  {
1096    "type": "complex_pattern",
1097    "named": true,
1098    "fields": {},
1099    "children": {
1100      "multiple": true,
1101      "required": true,
1102      "types": [
1103        {
1104          "type": "float",
1105          "named": true
1106        },
1107        {
1108          "type": "integer",
1109          "named": true
1110        }
1111      ]
1112    }
1113  },
1114  {
1115    "type": "concatenated_string",
1116    "named": true,
1117    "fields": {},
1118    "children": {
1119      "multiple": true,
1120      "required": true,
1121      "types": [
1122        {
1123          "type": "string",
1124          "named": true
1125        }
1126      ]
1127    }
1128  },
1129  {
1130    "type": "conditional_expression",
1131    "named": true,
1132    "fields": {},
1133    "children": {
1134      "multiple": true,
1135      "required": true,
1136      "types": [
1137        {
1138          "type": "expression",
1139          "named": true
1140        }
1141      ]
1142    }
1143  },
1144  {
1145    "type": "constrained_type",
1146    "named": true,
1147    "fields": {},
1148    "children": {
1149      "multiple": true,
1150      "required": true,
1151      "types": [
1152        {
1153          "type": "type",
1154          "named": true
1155        }
1156      ]
1157    }
1158  },
1159  {
1160    "type": "continue_statement",
1161    "named": true,
1162    "fields": {}
1163  },
1164  {
1165    "type": "decorated_definition",
1166    "named": true,
1167    "fields": {
1168      "definition": {
1169        "multiple": false,
1170        "required": true,
1171        "types": [
1172          {
1173            "type": "class_definition",
1174            "named": true
1175          },
1176          {
1177            "type": "function_definition",
1178            "named": true
1179          }
1180        ]
1181      }
1182    },
1183    "children": {
1184      "multiple": true,
1185      "required": true,
1186      "types": [
1187        {
1188          "type": "decorator",
1189          "named": true
1190        }
1191      ]
1192    }
1193  },
1194  {
1195    "type": "decorator",
1196    "named": true,
1197    "fields": {},
1198    "children": {
1199      "multiple": false,
1200      "required": true,
1201      "types": [
1202        {
1203          "type": "expression",
1204          "named": true
1205        }
1206      ]
1207    }
1208  },
1209  {
1210    "type": "default_parameter",
1211    "named": true,
1212    "fields": {
1213      "name": {
1214        "multiple": false,
1215        "required": true,
1216        "types": [
1217          {
1218            "type": "identifier",
1219            "named": true
1220          },
1221          {
1222            "type": "tuple_pattern",
1223            "named": true
1224          }
1225        ]
1226      },
1227      "value": {
1228        "multiple": false,
1229        "required": true,
1230        "types": [
1231          {
1232            "type": "expression",
1233            "named": true
1234          }
1235        ]
1236      }
1237    }
1238  },
1239  {
1240    "type": "delete_statement",
1241    "named": true,
1242    "fields": {},
1243    "children": {
1244      "multiple": false,
1245      "required": true,
1246      "types": [
1247        {
1248          "type": "expression",
1249          "named": true
1250        },
1251        {
1252          "type": "expression_list",
1253          "named": true
1254        }
1255      ]
1256    }
1257  },
1258  {
1259    "type": "dict_pattern",
1260    "named": true,
1261    "fields": {
1262      "key": {
1263        "multiple": true,
1264        "required": false,
1265        "types": [
1266          {
1267            "type": "-",
1268            "named": false
1269          },
1270          {
1271            "type": "_",
1272            "named": false
1273          },
1274          {
1275            "type": "class_pattern",
1276            "named": true
1277          },
1278          {
1279            "type": "complex_pattern",
1280            "named": true
1281          },
1282          {
1283            "type": "concatenated_string",
1284            "named": true
1285          },
1286          {
1287            "type": "dict_pattern",
1288            "named": true
1289          },
1290          {
1291            "type": "dotted_name",
1292            "named": true
1293          },
1294          {
1295            "type": "false",
1296            "named": true
1297          },
1298          {
1299            "type": "float",
1300            "named": true
1301          },
1302          {
1303            "type": "integer",
1304            "named": true
1305          },
1306          {
1307            "type": "list_pattern",
1308            "named": true
1309          },
1310          {
1311            "type": "none",
1312            "named": true
1313          },
1314          {
1315            "type": "splat_pattern",
1316            "named": true
1317          },
1318          {
1319            "type": "string",
1320            "named": true
1321          },
1322          {
1323            "type": "true",
1324            "named": true
1325          },
1326          {
1327            "type": "tuple_pattern",
1328            "named": true
1329          },
1330          {
1331            "type": "union_pattern",
1332            "named": true
1333          }
1334        ]
1335      },
1336      "value": {
1337        "multiple": true,
1338        "required": false,
1339        "types": [
1340          {
1341            "type": "case_pattern",
1342            "named": true
1343          }
1344        ]
1345      }
1346    },
1347    "children": {
1348      "multiple": true,
1349      "required": false,
1350      "types": [
1351        {
1352          "type": "splat_pattern",
1353          "named": true
1354        }
1355      ]
1356    }
1357  },
1358  {
1359    "type": "dictionary",
1360    "named": true,
1361    "fields": {},
1362    "children": {
1363      "multiple": true,
1364      "required": false,
1365      "types": [
1366        {
1367          "type": "dictionary_splat",
1368          "named": true
1369        },
1370        {
1371          "type": "pair",
1372          "named": true
1373        }
1374      ]
1375    }
1376  },
1377  {
1378    "type": "dictionary_comprehension",
1379    "named": true,
1380    "fields": {
1381      "body": {
1382        "multiple": false,
1383        "required": true,
1384        "types": [
1385          {
1386            "type": "pair",
1387            "named": true
1388          }
1389        ]
1390      }
1391    },
1392    "children": {
1393      "multiple": true,
1394      "required": true,
1395      "types": [
1396        {
1397          "type": "for_in_clause",
1398          "named": true
1399        },
1400        {
1401          "type": "if_clause",
1402          "named": true
1403        }
1404      ]
1405    }
1406  },
1407  {
1408    "type": "dictionary_splat",
1409    "named": true,
1410    "fields": {},
1411    "children": {
1412      "multiple": false,
1413      "required": true,
1414      "types": [
1415        {
1416          "type": "expression",
1417          "named": true
1418        }
1419      ]
1420    }
1421  },
1422  {
1423    "type": "dictionary_splat_pattern",
1424    "named": true,
1425    "fields": {},
1426    "children": {
1427      "multiple": false,
1428      "required": true,
1429      "types": [
1430        {
1431          "type": "attribute",
1432          "named": true
1433        },
1434        {
1435          "type": "identifier",
1436          "named": true
1437        },
1438        {
1439          "type": "subscript",
1440          "named": true
1441        }
1442      ]
1443    }
1444  },
1445  {
1446    "type": "dotted_name",
1447    "named": true,
1448    "fields": {},
1449    "children": {
1450      "multiple": true,
1451      "required": true,
1452      "types": [
1453        {
1454          "type": "identifier",
1455          "named": true
1456        }
1457      ]
1458    }
1459  },
1460  {
1461    "type": "elif_clause",
1462    "named": true,
1463    "fields": {
1464      "condition": {
1465        "multiple": false,
1466        "required": true,
1467        "types": [
1468          {
1469            "type": "expression",
1470            "named": true
1471          }
1472        ]
1473      },
1474      "consequence": {
1475        "multiple": false,
1476        "required": true,
1477        "types": [
1478          {
1479            "type": "block",
1480            "named": true
1481          }
1482        ]
1483      }
1484    }
1485  },
1486  {
1487    "type": "else_clause",
1488    "named": true,
1489    "fields": {
1490      "body": {
1491        "multiple": false,
1492        "required": true,
1493        "types": [
1494          {
1495            "type": "block",
1496            "named": true
1497          }
1498        ]
1499      }
1500    }
1501  },
1502  {
1503    "type": "except_clause",
1504    "named": true,
1505    "fields": {},
1506    "children": {
1507      "multiple": true,
1508      "required": true,
1509      "types": [
1510        {
1511          "type": "block",
1512          "named": true
1513        },
1514        {
1515          "type": "expression",
1516          "named": true
1517        }
1518      ]
1519    }
1520  },
1521  {
1522    "type": "except_group_clause",
1523    "named": true,
1524    "fields": {},
1525    "children": {
1526      "multiple": true,
1527      "required": true,
1528      "types": [
1529        {
1530          "type": "block",
1531          "named": true
1532        },
1533        {
1534          "type": "expression",
1535          "named": true
1536        }
1537      ]
1538    }
1539  },
1540  {
1541    "type": "exec_statement",
1542    "named": true,
1543    "fields": {
1544      "code": {
1545        "multiple": false,
1546        "required": true,
1547        "types": [
1548          {
1549            "type": "identifier",
1550            "named": true
1551          },
1552          {
1553            "type": "string",
1554            "named": true
1555          }
1556        ]
1557      }
1558    },
1559    "children": {
1560      "multiple": true,
1561      "required": false,
1562      "types": [
1563        {
1564          "type": "expression",
1565          "named": true
1566        }
1567      ]
1568    }
1569  },
1570  {
1571    "type": "expression_list",
1572    "named": true,
1573    "fields": {},
1574    "children": {
1575      "multiple": true,
1576      "required": true,
1577      "types": [
1578        {
1579          "type": "expression",
1580          "named": true
1581        }
1582      ]
1583    }
1584  },
1585  {
1586    "type": "expression_statement",
1587    "named": true,
1588    "fields": {},
1589    "children": {
1590      "multiple": true,
1591      "required": true,
1592      "types": [
1593        {
1594          "type": "assignment",
1595          "named": true
1596        },
1597        {
1598          "type": "augmented_assignment",
1599          "named": true
1600        },
1601        {
1602          "type": "expression",
1603          "named": true
1604        },
1605        {
1606          "type": "yield",
1607          "named": true
1608        }
1609      ]
1610    }
1611  },
1612  {
1613    "type": "finally_clause",
1614    "named": true,
1615    "fields": {},
1616    "children": {
1617      "multiple": false,
1618      "required": true,
1619      "types": [
1620        {
1621          "type": "block",
1622          "named": true
1623        }
1624      ]
1625    }
1626  },
1627  {
1628    "type": "for_in_clause",
1629    "named": true,
1630    "fields": {
1631      "left": {
1632        "multiple": false,
1633        "required": true,
1634        "types": [
1635          {
1636            "type": "pattern",
1637            "named": true
1638          },
1639          {
1640            "type": "pattern_list",
1641            "named": true
1642          }
1643        ]
1644      },
1645      "right": {
1646        "multiple": true,
1647        "required": true,
1648        "types": [
1649          {
1650            "type": ",",
1651            "named": false
1652          },
1653          {
1654            "type": "expression",
1655            "named": true
1656          }
1657        ]
1658      }
1659    }
1660  },
1661  {
1662    "type": "for_statement",
1663    "named": true,
1664    "fields": {
1665      "alternative": {
1666        "multiple": false,
1667        "required": false,
1668        "types": [
1669          {
1670            "type": "else_clause",
1671            "named": true
1672          }
1673        ]
1674      },
1675      "body": {
1676        "multiple": false,
1677        "required": true,
1678        "types": [
1679          {
1680            "type": "block",
1681            "named": true
1682          }
1683        ]
1684      },
1685      "left": {
1686        "multiple": false,
1687        "required": true,
1688        "types": [
1689          {
1690            "type": "pattern",
1691            "named": true
1692          },
1693          {
1694            "type": "pattern_list",
1695            "named": true
1696          }
1697        ]
1698      },
1699      "right": {
1700        "multiple": false,
1701        "required": true,
1702        "types": [
1703          {
1704            "type": "expression",
1705            "named": true
1706          },
1707          {
1708            "type": "expression_list",
1709            "named": true
1710          }
1711        ]
1712      }
1713    }
1714  },
1715  {
1716    "type": "format_expression",
1717    "named": true,
1718    "fields": {
1719      "expression": {
1720        "multiple": false,
1721        "required": true,
1722        "types": [
1723          {
1724            "type": "expression",
1725            "named": true
1726          },
1727          {
1728            "type": "expression_list",
1729            "named": true
1730          },
1731          {
1732            "type": "pattern_list",
1733            "named": true
1734          },
1735          {
1736            "type": "yield",
1737            "named": true
1738          }
1739        ]
1740      },
1741      "format_specifier": {
1742        "multiple": false,
1743        "required": false,
1744        "types": [
1745          {
1746            "type": "format_specifier",
1747            "named": true
1748          }
1749        ]
1750      },
1751      "type_conversion": {
1752        "multiple": false,
1753        "required": false,
1754        "types": [
1755          {
1756            "type": "type_conversion",
1757            "named": true
1758          }
1759        ]
1760      }
1761    }
1762  },
1763  {
1764    "type": "format_specifier",
1765    "named": true,
1766    "fields": {},
1767    "children": {
1768      "multiple": true,
1769      "required": false,
1770      "types": [
1771        {
1772          "type": "format_expression",
1773          "named": true
1774        }
1775      ]
1776    }
1777  },
1778  {
1779    "type": "function_definition",
1780    "named": true,
1781    "fields": {
1782      "body": {
1783        "multiple": false,
1784        "required": true,
1785        "types": [
1786          {
1787            "type": "block",
1788            "named": true
1789          }
1790        ]
1791      },
1792      "name": {
1793        "multiple": false,
1794        "required": true,
1795        "types": [
1796          {
1797            "type": "identifier",
1798            "named": true
1799          }
1800        ]
1801      },
1802      "parameters": {
1803        "multiple": false,
1804        "required": true,
1805        "types": [
1806          {
1807            "type": "parameters",
1808            "named": true
1809          }
1810        ]
1811      },
1812      "return_type": {
1813        "multiple": false,
1814        "required": false,
1815        "types": [
1816          {
1817            "type": "type",
1818            "named": true
1819          }
1820        ]
1821      },
1822      "type_parameters": {
1823        "multiple": false,
1824        "required": false,
1825        "types": [
1826          {
1827            "type": "type_parameter",
1828            "named": true
1829          }
1830        ]
1831      }
1832    }
1833  },
1834  {
1835    "type": "future_import_statement",
1836    "named": true,
1837    "fields": {
1838      "name": {
1839        "multiple": true,
1840        "required": true,
1841        "types": [
1842          {
1843            "type": "aliased_import",
1844            "named": true
1845          },
1846          {
1847            "type": "dotted_name",
1848            "named": true
1849          }
1850        ]
1851      }
1852    }
1853  },
1854  {
1855    "type": "generator_expression",
1856    "named": true,
1857    "fields": {
1858      "body": {
1859        "multiple": false,
1860        "required": true,
1861        "types": [
1862          {
1863            "type": "expression",
1864            "named": true
1865          }
1866        ]
1867      }
1868    },
1869    "children": {
1870      "multiple": true,
1871      "required": true,
1872      "types": [
1873        {
1874          "type": "for_in_clause",
1875          "named": true
1876        },
1877        {
1878          "type": "if_clause",
1879          "named": true
1880        }
1881      ]
1882    }
1883  },
1884  {
1885    "type": "generic_type",
1886    "named": true,
1887    "fields": {},
1888    "children": {
1889      "multiple": true,
1890      "required": true,
1891      "types": [
1892        {
1893          "type": "identifier",
1894          "named": true
1895        },
1896        {
1897          "type": "type_parameter",
1898          "named": true
1899        }
1900      ]
1901    }
1902  },
1903  {
1904    "type": "global_statement",
1905    "named": true,
1906    "fields": {},
1907    "children": {
1908      "multiple": true,
1909      "required": true,
1910      "types": [
1911        {
1912          "type": "identifier",
1913          "named": true
1914        }
1915      ]
1916    }
1917  },
1918  {
1919    "type": "if_clause",
1920    "named": true,
1921    "fields": {},
1922    "children": {
1923      "multiple": false,
1924      "required": true,
1925      "types": [
1926        {
1927          "type": "expression",
1928          "named": true
1929        }
1930      ]
1931    }
1932  },
1933  {
1934    "type": "if_statement",
1935    "named": true,
1936    "fields": {
1937      "alternative": {
1938        "multiple": true,
1939        "required": false,
1940        "types": [
1941          {
1942            "type": "elif_clause",
1943            "named": true
1944          },
1945          {
1946            "type": "else_clause",
1947            "named": true
1948          }
1949        ]
1950      },
1951      "condition": {
1952        "multiple": false,
1953        "required": true,
1954        "types": [
1955          {
1956            "type": "expression",
1957            "named": true
1958          }
1959        ]
1960      },
1961      "consequence": {
1962        "multiple": false,
1963        "required": true,
1964        "types": [
1965          {
1966            "type": "block",
1967            "named": true
1968          }
1969        ]
1970      }
1971    }
1972  },
1973  {
1974    "type": "import_from_statement",
1975    "named": true,
1976    "fields": {
1977      "module_name": {
1978        "multiple": false,
1979        "required": true,
1980        "types": [
1981          {
1982            "type": "dotted_name",
1983            "named": true
1984          },
1985          {
1986            "type": "relative_import",
1987            "named": true
1988          }
1989        ]
1990      },
1991      "name": {
1992        "multiple": true,
1993        "required": false,
1994        "types": [
1995          {
1996            "type": "aliased_import",
1997            "named": true
1998          },
1999          {
2000            "type": "dotted_name",
2001            "named": true
2002          }
2003        ]
2004      }
2005    },
2006    "children": {
2007      "multiple": false,
2008      "required": false,
2009      "types": [
2010        {
2011          "type": "wildcard_import",
2012          "named": true
2013        }
2014      ]
2015    }
2016  },
2017  {
2018    "type": "import_prefix",
2019    "named": true,
2020    "fields": {}
2021  },
2022  {
2023    "type": "import_statement",
2024    "named": true,
2025    "fields": {
2026      "name": {
2027        "multiple": true,
2028        "required": true,
2029        "types": [
2030          {
2031            "type": "aliased_import",
2032            "named": true
2033          },
2034          {
2035            "type": "dotted_name",
2036            "named": true
2037          }
2038        ]
2039      }
2040    }
2041  },
2042  {
2043    "type": "interpolation",
2044    "named": true,
2045    "fields": {
2046      "expression": {
2047        "multiple": false,
2048        "required": true,
2049        "types": [
2050          {
2051            "type": "expression",
2052            "named": true
2053          },
2054          {
2055            "type": "expression_list",
2056            "named": true
2057          },
2058          {
2059            "type": "pattern_list",
2060            "named": true
2061          },
2062          {
2063            "type": "yield",
2064            "named": true
2065          }
2066        ]
2067      },
2068      "format_specifier": {
2069        "multiple": false,
2070        "required": false,
2071        "types": [
2072          {
2073            "type": "format_specifier",
2074            "named": true
2075          }
2076        ]
2077      },
2078      "type_conversion": {
2079        "multiple": false,
2080        "required": false,
2081        "types": [
2082          {
2083            "type": "type_conversion",
2084            "named": true
2085          }
2086        ]
2087      }
2088    }
2089  },
2090  {
2091    "type": "keyword_argument",
2092    "named": true,
2093    "fields": {
2094      "name": {
2095        "multiple": false,
2096        "required": true,
2097        "types": [
2098          {
2099            "type": "identifier",
2100            "named": true
2101          }
2102        ]
2103      },
2104      "value": {
2105        "multiple": false,
2106        "required": true,
2107        "types": [
2108          {
2109            "type": "expression",
2110            "named": true
2111          }
2112        ]
2113      }
2114    }
2115  },
2116  {
2117    "type": "keyword_pattern",
2118    "named": true,
2119    "fields": {},
2120    "children": {
2121      "multiple": true,
2122      "required": true,
2123      "types": [
2124        {
2125          "type": "class_pattern",
2126          "named": true
2127        },
2128        {
2129          "type": "complex_pattern",
2130          "named": true
2131        },
2132        {
2133          "type": "concatenated_string",
2134          "named": true
2135        },
2136        {
2137          "type": "dict_pattern",
2138          "named": true
2139        },
2140        {
2141          "type": "dotted_name",
2142          "named": true
2143        },
2144        {
2145          "type": "false",
2146          "named": true
2147        },
2148        {
2149          "type": "float",
2150          "named": true
2151        },
2152        {
2153          "type": "identifier",
2154          "named": true
2155        },
2156        {
2157          "type": "integer",
2158          "named": true
2159        },
2160        {
2161          "type": "list_pattern",
2162          "named": true
2163        },
2164        {
2165          "type": "none",
2166          "named": true
2167        },
2168        {
2169          "type": "splat_pattern",
2170          "named": true
2171        },
2172        {
2173          "type": "string",
2174          "named": true
2175        },
2176        {
2177          "type": "true",
2178          "named": true
2179        },
2180        {
2181          "type": "tuple_pattern",
2182          "named": true
2183        },
2184        {
2185          "type": "union_pattern",
2186          "named": true
2187        }
2188      ]
2189    }
2190  },
2191  {
2192    "type": "keyword_separator",
2193    "named": true,
2194    "fields": {}
2195  },
2196  {
2197    "type": "lambda",
2198    "named": true,
2199    "fields": {
2200      "body": {
2201        "multiple": false,
2202        "required": true,
2203        "types": [
2204          {
2205            "type": "expression",
2206            "named": true
2207          }
2208        ]
2209      },
2210      "parameters": {
2211        "multiple": false,
2212        "required": false,
2213        "types": [
2214          {
2215            "type": "lambda_parameters",
2216            "named": true
2217          }
2218        ]
2219      }
2220    }
2221  },
2222  {
2223    "type": "lambda_parameters",
2224    "named": true,
2225    "fields": {},
2226    "children": {
2227      "multiple": true,
2228      "required": true,
2229      "types": [
2230        {
2231          "type": "parameter",
2232          "named": true
2233        }
2234      ]
2235    }
2236  },
2237  {
2238    "type": "list",
2239    "named": true,
2240    "fields": {},
2241    "children": {
2242      "multiple": true,
2243      "required": false,
2244      "types": [
2245        {
2246          "type": "expression",
2247          "named": true
2248        },
2249        {
2250          "type": "list_splat",
2251          "named": true
2252        },
2253        {
2254          "type": "parenthesized_list_splat",
2255          "named": true
2256        },
2257        {
2258          "type": "yield",
2259          "named": true
2260        }
2261      ]
2262    }
2263  },
2264  {
2265    "type": "list_comprehension",
2266    "named": true,
2267    "fields": {
2268      "body": {
2269        "multiple": false,
2270        "required": true,
2271        "types": [
2272          {
2273            "type": "expression",
2274            "named": true
2275          }
2276        ]
2277      }
2278    },
2279    "children": {
2280      "multiple": true,
2281      "required": true,
2282      "types": [
2283        {
2284          "type": "for_in_clause",
2285          "named": true
2286        },
2287        {
2288          "type": "if_clause",
2289          "named": true
2290        }
2291      ]
2292    }
2293  },
2294  {
2295    "type": "list_pattern",
2296    "named": true,
2297    "fields": {},
2298    "children": {
2299      "multiple": true,
2300      "required": false,
2301      "types": [
2302        {
2303          "type": "case_pattern",
2304          "named": true
2305        },
2306        {
2307          "type": "pattern",
2308          "named": true
2309        }
2310      ]
2311    }
2312  },
2313  {
2314    "type": "list_splat",
2315    "named": true,
2316    "fields": {},
2317    "children": {
2318      "multiple": false,
2319      "required": true,
2320      "types": [
2321        {
2322          "type": "attribute",
2323          "named": true
2324        },
2325        {
2326          "type": "expression",
2327          "named": true
2328        },
2329        {
2330          "type": "identifier",
2331          "named": true
2332        },
2333        {
2334          "type": "subscript",
2335          "named": true
2336        }
2337      ]
2338    }
2339  },
2340  {
2341    "type": "list_splat_pattern",
2342    "named": true,
2343    "fields": {},
2344    "children": {
2345      "multiple": false,
2346      "required": true,
2347      "types": [
2348        {
2349          "type": "attribute",
2350          "named": true
2351        },
2352        {
2353          "type": "identifier",
2354          "named": true
2355        },
2356        {
2357          "type": "subscript",
2358          "named": true
2359        }
2360      ]
2361    }
2362  },
2363  {
2364    "type": "match_statement",
2365    "named": true,
2366    "fields": {
2367      "body": {
2368        "multiple": false,
2369        "required": true,
2370        "types": [
2371          {
2372            "type": "block",
2373            "named": true
2374          }
2375        ]
2376      },
2377      "subject": {
2378        "multiple": true,
2379        "required": true,
2380        "types": [
2381          {
2382            "type": "expression",
2383            "named": true
2384          }
2385        ]
2386      }
2387    }
2388  },
2389  {
2390    "type": "member_type",
2391    "named": true,
2392    "fields": {},
2393    "children": {
2394      "multiple": true,
2395      "required": true,
2396      "types": [
2397        {
2398          "type": "identifier",
2399          "named": true
2400        },
2401        {
2402          "type": "type",
2403          "named": true
2404        }
2405      ]
2406    }
2407  },
2408  {
2409    "type": "module",
2410    "named": true,
2411    "fields": {},
2412    "children": {
2413      "multiple": true,
2414      "required": false,
2415      "types": [
2416        {
2417          "type": "_compound_statement",
2418          "named": true
2419        },
2420        {
2421          "type": "_simple_statement",
2422          "named": true
2423        }
2424      ]
2425    }
2426  },
2427  {
2428    "type": "named_expression",
2429    "named": true,
2430    "fields": {
2431      "name": {
2432        "multiple": false,
2433        "required": true,
2434        "types": [
2435          {
2436            "type": "identifier",
2437            "named": true
2438          }
2439        ]
2440      },
2441      "value": {
2442        "multiple": false,
2443        "required": true,
2444        "types": [
2445          {
2446            "type": "expression",
2447            "named": true
2448          }
2449        ]
2450      }
2451    }
2452  },
2453  {
2454    "type": "nonlocal_statement",
2455    "named": true,
2456    "fields": {},
2457    "children": {
2458      "multiple": true,
2459      "required": true,
2460      "types": [
2461        {
2462          "type": "identifier",
2463          "named": true
2464        }
2465      ]
2466    }
2467  },
2468  {
2469    "type": "not_operator",
2470    "named": true,
2471    "fields": {
2472      "argument": {
2473        "multiple": false,
2474        "required": true,
2475        "types": [
2476          {
2477            "type": "expression",
2478            "named": true
2479          }
2480        ]
2481      }
2482    }
2483  },
2484  {
2485    "type": "pair",
2486    "named": true,
2487    "fields": {
2488      "key": {
2489        "multiple": false,
2490        "required": true,
2491        "types": [
2492          {
2493            "type": "expression",
2494            "named": true
2495          }
2496        ]
2497      },
2498      "value": {
2499        "multiple": false,
2500        "required": true,
2501        "types": [
2502          {
2503            "type": "expression",
2504            "named": true
2505          }
2506        ]
2507      }
2508    }
2509  },
2510  {
2511    "type": "parameters",
2512    "named": true,
2513    "fields": {},
2514    "children": {
2515      "multiple": true,
2516      "required": false,
2517      "types": [
2518        {
2519          "type": "parameter",
2520          "named": true
2521        }
2522      ]
2523    }
2524  },
2525  {
2526    "type": "parenthesized_expression",
2527    "named": true,
2528    "fields": {},
2529    "children": {
2530      "multiple": false,
2531      "required": true,
2532      "types": [
2533        {
2534          "type": "expression",
2535          "named": true
2536        },
2537        {
2538          "type": "list_splat",
2539          "named": true
2540        },
2541        {
2542          "type": "parenthesized_expression",
2543          "named": true
2544        },
2545        {
2546          "type": "yield",
2547          "named": true
2548        }
2549      ]
2550    }
2551  },
2552  {
2553    "type": "parenthesized_list_splat",
2554    "named": true,
2555    "fields": {},
2556    "children": {
2557      "multiple": false,
2558      "required": true,
2559      "types": [
2560        {
2561          "type": "list_splat",
2562          "named": true
2563        },
2564        {
2565          "type": "parenthesized_expression",
2566          "named": true
2567        }
2568      ]
2569    }
2570  },
2571  {
2572    "type": "pass_statement",
2573    "named": true,
2574    "fields": {}
2575  },
2576  {
2577    "type": "pattern_list",
2578    "named": true,
2579    "fields": {},
2580    "children": {
2581      "multiple": true,
2582      "required": true,
2583      "types": [
2584        {
2585          "type": "pattern",
2586          "named": true
2587        }
2588      ]
2589    }
2590  },
2591  {
2592    "type": "positional_separator",
2593    "named": true,
2594    "fields": {}
2595  },
2596  {
2597    "type": "print_statement",
2598    "named": true,
2599    "fields": {
2600      "argument": {
2601        "multiple": true,
2602        "required": false,
2603        "types": [
2604          {
2605            "type": "expression",
2606            "named": true
2607          }
2608        ]
2609      }
2610    },
2611    "children": {
2612      "multiple": false,
2613      "required": false,
2614      "types": [
2615        {
2616          "type": "chevron",
2617          "named": true
2618        }
2619      ]
2620    }
2621  },
2622  {
2623    "type": "raise_statement",
2624    "named": true,
2625    "fields": {
2626      "cause": {
2627        "multiple": false,
2628        "required": false,
2629        "types": [
2630          {
2631            "type": "expression",
2632            "named": true
2633          }
2634        ]
2635      }
2636    },
2637    "children": {
2638      "multiple": false,
2639      "required": false,
2640      "types": [
2641        {
2642          "type": "expression",
2643          "named": true
2644        },
2645        {
2646          "type": "expression_list",
2647          "named": true
2648        }
2649      ]
2650    }
2651  },
2652  {
2653    "type": "relative_import",
2654    "named": true,
2655    "fields": {},
2656    "children": {
2657      "multiple": true,
2658      "required": true,
2659      "types": [
2660        {
2661          "type": "dotted_name",
2662          "named": true
2663        },
2664        {
2665          "type": "import_prefix",
2666          "named": true
2667        }
2668      ]
2669    }
2670  },
2671  {
2672    "type": "return_statement",
2673    "named": true,
2674    "fields": {},
2675    "children": {
2676      "multiple": false,
2677      "required": false,
2678      "types": [
2679        {
2680          "type": "expression",
2681          "named": true
2682        },
2683        {
2684          "type": "expression_list",
2685          "named": true
2686        }
2687      ]
2688    }
2689  },
2690  {
2691    "type": "set",
2692    "named": true,
2693    "fields": {},
2694    "children": {
2695      "multiple": true,
2696      "required": true,
2697      "types": [
2698        {
2699          "type": "expression",
2700          "named": true
2701        },
2702        {
2703          "type": "list_splat",
2704          "named": true
2705        },
2706        {
2707          "type": "parenthesized_list_splat",
2708          "named": true
2709        },
2710        {
2711          "type": "yield",
2712          "named": true
2713        }
2714      ]
2715    }
2716  },
2717  {
2718    "type": "set_comprehension",
2719    "named": true,
2720    "fields": {
2721      "body": {
2722        "multiple": false,
2723        "required": true,
2724        "types": [
2725          {
2726            "type": "expression",
2727            "named": true
2728          }
2729        ]
2730      }
2731    },
2732    "children": {
2733      "multiple": true,
2734      "required": true,
2735      "types": [
2736        {
2737          "type": "for_in_clause",
2738          "named": true
2739        },
2740        {
2741          "type": "if_clause",
2742          "named": true
2743        }
2744      ]
2745    }
2746  },
2747  {
2748    "type": "slice",
2749    "named": true,
2750    "fields": {},
2751    "children": {
2752      "multiple": true,
2753      "required": false,
2754      "types": [
2755        {
2756          "type": "expression",
2757          "named": true
2758        }
2759      ]
2760    }
2761  },
2762  {
2763    "type": "splat_pattern",
2764    "named": true,
2765    "fields": {},
2766    "children": {
2767      "multiple": false,
2768      "required": false,
2769      "types": [
2770        {
2771          "type": "identifier",
2772          "named": true
2773        }
2774      ]
2775    }
2776  },
2777  {
2778    "type": "splat_type",
2779    "named": true,
2780    "fields": {},
2781    "children": {
2782      "multiple": false,
2783      "required": true,
2784      "types": [
2785        {
2786          "type": "identifier",
2787          "named": true
2788        }
2789      ]
2790    }
2791  },
2792  {
2793    "type": "string",
2794    "named": true,
2795    "fields": {},
2796    "children": {
2797      "multiple": true,
2798      "required": true,
2799      "types": [
2800        {
2801          "type": "interpolation",
2802          "named": true
2803        },
2804        {
2805          "type": "string_content",
2806          "named": true
2807        },
2808        {
2809          "type": "string_end",
2810          "named": true
2811        },
2812        {
2813          "type": "string_start",
2814          "named": true
2815        }
2816      ]
2817    }
2818  },
2819  {
2820    "type": "string_content",
2821    "named": true,
2822    "fields": {},
2823    "children": {
2824      "multiple": true,
2825      "required": false,
2826      "types": [
2827        {
2828          "type": "escape_interpolation",
2829          "named": true
2830        },
2831        {
2832          "type": "escape_sequence",
2833          "named": true
2834        }
2835      ]
2836    }
2837  },
2838  {
2839    "type": "subscript",
2840    "named": true,
2841    "fields": {
2842      "subscript": {
2843        "multiple": true,
2844        "required": true,
2845        "types": [
2846          {
2847            "type": "expression",
2848            "named": true
2849          },
2850          {
2851            "type": "slice",
2852            "named": true
2853          }
2854        ]
2855      },
2856      "value": {
2857        "multiple": false,
2858        "required": true,
2859        "types": [
2860          {
2861            "type": "primary_expression",
2862            "named": true
2863          }
2864        ]
2865      }
2866    }
2867  },
2868  {
2869    "type": "try_statement",
2870    "named": true,
2871    "fields": {
2872      "body": {
2873        "multiple": false,
2874        "required": true,
2875        "types": [
2876          {
2877            "type": "block",
2878            "named": true
2879          }
2880        ]
2881      }
2882    },
2883    "children": {
2884      "multiple": true,
2885      "required": true,
2886      "types": [
2887        {
2888          "type": "else_clause",
2889          "named": true
2890        },
2891        {
2892          "type": "except_clause",
2893          "named": true
2894        },
2895        {
2896          "type": "except_group_clause",
2897          "named": true
2898        },
2899        {
2900          "type": "finally_clause",
2901          "named": true
2902        }
2903      ]
2904    }
2905  },
2906  {
2907    "type": "tuple",
2908    "named": true,
2909    "fields": {},
2910    "children": {
2911      "multiple": true,
2912      "required": false,
2913      "types": [
2914        {
2915          "type": "expression",
2916          "named": true
2917        },
2918        {
2919          "type": "list_splat",
2920          "named": true
2921        },
2922        {
2923          "type": "parenthesized_list_splat",
2924          "named": true
2925        },
2926        {
2927          "type": "yield",
2928          "named": true
2929        }
2930      ]
2931    }
2932  },
2933  {
2934    "type": "tuple_pattern",
2935    "named": true,
2936    "fields": {},
2937    "children": {
2938      "multiple": true,
2939      "required": false,
2940      "types": [
2941        {
2942          "type": "case_pattern",
2943          "named": true
2944        },
2945        {
2946          "type": "pattern",
2947          "named": true
2948        }
2949      ]
2950    }
2951  },
2952  {
2953    "type": "type",
2954    "named": true,
2955    "fields": {},
2956    "children": {
2957      "multiple": false,
2958      "required": true,
2959      "types": [
2960        {
2961          "type": "constrained_type",
2962          "named": true
2963        },
2964        {
2965          "type": "expression",
2966          "named": true
2967        },
2968        {
2969          "type": "generic_type",
2970          "named": true
2971        },
2972        {
2973          "type": "member_type",
2974          "named": true
2975        },
2976        {
2977          "type": "splat_type",
2978          "named": true
2979        },
2980        {
2981          "type": "union_type",
2982          "named": true
2983        }
2984      ]
2985    }
2986  },
2987  {
2988    "type": "type_alias_statement",
2989    "named": true,
2990    "fields": {},
2991    "children": {
2992      "multiple": true,
2993      "required": true,
2994      "types": [
2995        {
2996          "type": "type",
2997          "named": true
2998        }
2999      ]
3000    }
3001  },
3002  {
3003    "type": "type_parameter",
3004    "named": true,
3005    "fields": {},
3006    "children": {
3007      "multiple": true,
3008      "required": true,
3009      "types": [
3010        {
3011          "type": "type",
3012          "named": true
3013        }
3014      ]
3015    }
3016  },
3017  {
3018    "type": "typed_default_parameter",
3019    "named": true,
3020    "fields": {
3021      "name": {
3022        "multiple": false,
3023        "required": true,
3024        "types": [
3025          {
3026            "type": "identifier",
3027            "named": true
3028          }
3029        ]
3030      },
3031      "type": {
3032        "multiple": false,
3033        "required": true,
3034        "types": [
3035          {
3036            "type": "type",
3037            "named": true
3038          }
3039        ]
3040      },
3041      "value": {
3042        "multiple": false,
3043        "required": true,
3044        "types": [
3045          {
3046            "type": "expression",
3047            "named": true
3048          }
3049        ]
3050      }
3051    }
3052  },
3053  {
3054    "type": "typed_parameter",
3055    "named": true,
3056    "fields": {
3057      "type": {
3058        "multiple": false,
3059        "required": true,
3060        "types": [
3061          {
3062            "type": "type",
3063            "named": true
3064          }
3065        ]
3066      }
3067    },
3068    "children": {
3069      "multiple": false,
3070      "required": true,
3071      "types": [
3072        {
3073          "type": "dictionary_splat_pattern",
3074          "named": true
3075        },
3076        {
3077          "type": "identifier",
3078          "named": true
3079        },
3080        {
3081          "type": "list_splat_pattern",
3082          "named": true
3083        }
3084      ]
3085    }
3086  },
3087  {
3088    "type": "unary_operator",
3089    "named": true,
3090    "fields": {
3091      "argument": {
3092        "multiple": false,
3093        "required": true,
3094        "types": [
3095          {
3096            "type": "primary_expression",
3097            "named": true
3098          }
3099        ]
3100      },
3101      "operator": {
3102        "multiple": false,
3103        "required": true,
3104        "types": [
3105          {
3106            "type": "+",
3107            "named": false
3108          },
3109          {
3110            "type": "-",
3111            "named": false
3112          },
3113          {
3114            "type": "~",
3115            "named": false
3116          }
3117        ]
3118      }
3119    }
3120  },
3121  {
3122    "type": "union_pattern",
3123    "named": true,
3124    "fields": {},
3125    "children": {
3126      "multiple": true,
3127      "required": false,
3128      "types": [
3129        {
3130          "type": "class_pattern",
3131          "named": true
3132        },
3133        {
3134          "type": "complex_pattern",
3135          "named": true
3136        },
3137        {
3138          "type": "concatenated_string",
3139          "named": true
3140        },
3141        {
3142          "type": "dict_pattern",
3143          "named": true
3144        },
3145        {
3146          "type": "dotted_name",
3147          "named": true
3148        },
3149        {
3150          "type": "false",
3151          "named": true
3152        },
3153        {
3154          "type": "float",
3155          "named": true
3156        },
3157        {
3158          "type": "integer",
3159          "named": true
3160        },
3161        {
3162          "type": "list_pattern",
3163          "named": true
3164        },
3165        {
3166          "type": "none",
3167          "named": true
3168        },
3169        {
3170          "type": "splat_pattern",
3171          "named": true
3172        },
3173        {
3174          "type": "string",
3175          "named": true
3176        },
3177        {
3178          "type": "true",
3179          "named": true
3180        },
3181        {
3182          "type": "tuple_pattern",
3183          "named": true
3184        },
3185        {
3186          "type": "union_pattern",
3187          "named": true
3188        }
3189      ]
3190    }
3191  },
3192  {
3193    "type": "union_type",
3194    "named": true,
3195    "fields": {},
3196    "children": {
3197      "multiple": true,
3198      "required": true,
3199      "types": [
3200        {
3201          "type": "type",
3202          "named": true
3203        }
3204      ]
3205    }
3206  },
3207  {
3208    "type": "while_statement",
3209    "named": true,
3210    "fields": {
3211      "alternative": {
3212        "multiple": false,
3213        "required": false,
3214        "types": [
3215          {
3216            "type": "else_clause",
3217            "named": true
3218          }
3219        ]
3220      },
3221      "body": {
3222        "multiple": false,
3223        "required": true,
3224        "types": [
3225          {
3226            "type": "block",
3227            "named": true
3228          }
3229        ]
3230      },
3231      "condition": {
3232        "multiple": false,
3233        "required": true,
3234        "types": [
3235          {
3236            "type": "expression",
3237            "named": true
3238          }
3239        ]
3240      }
3241    }
3242  },
3243  {
3244    "type": "wildcard_import",
3245    "named": true,
3246    "fields": {}
3247  },
3248  {
3249    "type": "with_clause",
3250    "named": true,
3251    "fields": {},
3252    "children": {
3253      "multiple": true,
3254      "required": true,
3255      "types": [
3256        {
3257          "type": "with_item",
3258          "named": true
3259        }
3260      ]
3261    }
3262  },
3263  {
3264    "type": "with_item",
3265    "named": true,
3266    "fields": {
3267      "value": {
3268        "multiple": false,
3269        "required": true,
3270        "types": [
3271          {
3272            "type": "expression",
3273            "named": true
3274          }
3275        ]
3276      }
3277    }
3278  },
3279  {
3280    "type": "with_statement",
3281    "named": true,
3282    "fields": {
3283      "body": {
3284        "multiple": false,
3285        "required": true,
3286        "types": [
3287          {
3288            "type": "block",
3289            "named": true
3290          }
3291        ]
3292      }
3293    },
3294    "children": {
3295      "multiple": false,
3296      "required": true,
3297      "types": [
3298        {
3299          "type": "with_clause",
3300          "named": true
3301        }
3302      ]
3303    }
3304  },
3305  {
3306    "type": "yield",
3307    "named": true,
3308    "fields": {},
3309    "children": {
3310      "multiple": false,
3311      "required": false,
3312      "types": [
3313        {
3314          "type": "expression",
3315          "named": true
3316        },
3317        {
3318          "type": "expression_list",
3319          "named": true
3320        }
3321      ]
3322    }
3323  },
3324  {
3325    "type": "!=",
3326    "named": false
3327  },
3328  {
3329    "type": "%",
3330    "named": false
3331  },
3332  {
3333    "type": "%=",
3334    "named": false
3335  },
3336  {
3337    "type": "&",
3338    "named": false
3339  },
3340  {
3341    "type": "&=",
3342    "named": false
3343  },
3344  {
3345    "type": "(",
3346    "named": false
3347  },
3348  {
3349    "type": ")",
3350    "named": false
3351  },
3352  {
3353    "type": "*",
3354    "named": false
3355  },
3356  {
3357    "type": "**",
3358    "named": false
3359  },
3360  {
3361    "type": "**=",
3362    "named": false
3363  },
3364  {
3365    "type": "*=",
3366    "named": false
3367  },
3368  {
3369    "type": "+",
3370    "named": false
3371  },
3372  {
3373    "type": "+=",
3374    "named": false
3375  },
3376  {
3377    "type": ",",
3378    "named": false
3379  },
3380  {
3381    "type": "-",
3382    "named": false
3383  },
3384  {
3385    "type": "-=",
3386    "named": false
3387  },
3388  {
3389    "type": "->",
3390    "named": false
3391  },
3392  {
3393    "type": ".",
3394    "named": false
3395  },
3396  {
3397    "type": "/",
3398    "named": false
3399  },
3400  {
3401    "type": "//",
3402    "named": false
3403  },
3404  {
3405    "type": "//=",
3406    "named": false
3407  },
3408  {
3409    "type": "/=",
3410    "named": false
3411  },
3412  {
3413    "type": ":",
3414    "named": false
3415  },
3416  {
3417    "type": ":=",
3418    "named": false
3419  },
3420  {
3421    "type": ";",
3422    "named": false
3423  },
3424  {
3425    "type": "<",
3426    "named": false
3427  },
3428  {
3429    "type": "<<",
3430    "named": false
3431  },
3432  {
3433    "type": "<<=",
3434    "named": false
3435  },
3436  {
3437    "type": "<=",
3438    "named": false
3439  },
3440  {
3441    "type": "<>",
3442    "named": false
3443  },
3444  {
3445    "type": "=",
3446    "named": false
3447  },
3448  {
3449    "type": "==",
3450    "named": false
3451  },
3452  {
3453    "type": ">",
3454    "named": false
3455  },
3456  {
3457    "type": ">=",
3458    "named": false
3459  },
3460  {
3461    "type": ">>",
3462    "named": false
3463  },
3464  {
3465    "type": ">>=",
3466    "named": false
3467  },
3468  {
3469    "type": "@",
3470    "named": false
3471  },
3472  {
3473    "type": "@=",
3474    "named": false
3475  },
3476  {
3477    "type": "[",
3478    "named": false
3479  },
3480  {
3481    "type": "]",
3482    "named": false
3483  },
3484  {
3485    "type": "^",
3486    "named": false
3487  },
3488  {
3489    "type": "^=",
3490    "named": false
3491  },
3492  {
3493    "type": "_",
3494    "named": false
3495  },
3496  {
3497    "type": "__future__",
3498    "named": false
3499  },
3500  {
3501    "type": "and",
3502    "named": false
3503  },
3504  {
3505    "type": "as",
3506    "named": false
3507  },
3508  {
3509    "type": "assert",
3510    "named": false
3511  },
3512  {
3513    "type": "async",
3514    "named": false
3515  },
3516  {
3517    "type": "await",
3518    "named": false
3519  },
3520  {
3521    "type": "break",
3522    "named": false
3523  },
3524  {
3525    "type": "case",
3526    "named": false
3527  },
3528  {
3529    "type": "class",
3530    "named": false
3531  },
3532  {
3533    "type": "comment",
3534    "named": true
3535  },
3536  {
3537    "type": "continue",
3538    "named": false
3539  },
3540  {
3541    "type": "def",
3542    "named": false
3543  },
3544  {
3545    "type": "del",
3546    "named": false
3547  },
3548  {
3549    "type": "elif",
3550    "named": false
3551  },
3552  {
3553    "type": "ellipsis",
3554    "named": true
3555  },
3556  {
3557    "type": "else",
3558    "named": false
3559  },
3560  {
3561    "type": "escape_interpolation",
3562    "named": true
3563  },
3564  {
3565    "type": "escape_sequence",
3566    "named": true
3567  },
3568  {
3569    "type": "except",
3570    "named": false
3571  },
3572  {
3573    "type": "except*",
3574    "named": false
3575  },
3576  {
3577    "type": "exec",
3578    "named": false
3579  },
3580  {
3581    "type": "false",
3582    "named": true
3583  },
3584  {
3585    "type": "finally",
3586    "named": false
3587  },
3588  {
3589    "type": "float",
3590    "named": true
3591  },
3592  {
3593    "type": "for",
3594    "named": false
3595  },
3596  {
3597    "type": "from",
3598    "named": false
3599  },
3600  {
3601    "type": "global",
3602    "named": false
3603  },
3604  {
3605    "type": "identifier",
3606    "named": true
3607  },
3608  {
3609    "type": "if",
3610    "named": false
3611  },
3612  {
3613    "type": "import",
3614    "named": false
3615  },
3616  {
3617    "type": "in",
3618    "named": false
3619  },
3620  {
3621    "type": "integer",
3622    "named": true
3623  },
3624  {
3625    "type": "is",
3626    "named": false
3627  },
3628  {
3629    "type": "is not",
3630    "named": false
3631  },
3632  {
3633    "type": "lambda",
3634    "named": false
3635  },
3636  {
3637    "type": "line_continuation",
3638    "named": true
3639  },
3640  {
3641    "type": "match",
3642    "named": false
3643  },
3644  {
3645    "type": "none",
3646    "named": true
3647  },
3648  {
3649    "type": "nonlocal",
3650    "named": false
3651  },
3652  {
3653    "type": "not",
3654    "named": false
3655  },
3656  {
3657    "type": "not in",
3658    "named": false
3659  },
3660  {
3661    "type": "or",
3662    "named": false
3663  },
3664  {
3665    "type": "pass",
3666    "named": false
3667  },
3668  {
3669    "type": "print",
3670    "named": false
3671  },
3672  {
3673    "type": "raise",
3674    "named": false
3675  },
3676  {
3677    "type": "return",
3678    "named": false
3679  },
3680  {
3681    "type": "string_end",
3682    "named": true
3683  },
3684  {
3685    "type": "string_start",
3686    "named": true
3687  },
3688  {
3689    "type": "true",
3690    "named": true
3691  },
3692  {
3693    "type": "try",
3694    "named": false
3695  },
3696  {
3697    "type": "type",
3698    "named": false
3699  },
3700  {
3701    "type": "type_conversion",
3702    "named": true
3703  },
3704  {
3705    "type": "while",
3706    "named": false
3707  },
3708  {
3709    "type": "with",
3710    "named": false
3711  },
3712  {
3713    "type": "yield",
3714    "named": false
3715  },
3716  {
3717    "type": "{",
3718    "named": false
3719  },
3720  {
3721    "type": "|",
3722    "named": false
3723  },
3724  {
3725    "type": "|=",
3726    "named": false
3727  },
3728  {
3729    "type": "}",
3730    "named": false
3731  },
3732  {
3733    "type": "~",
3734    "named": false
3735  }
3736]