SOURCE_FILE@[0; 290) STRUCT_DEF@[0; 13) STRUCT_KW@[0; 6) WHITESPACE@[6; 7) NAME@[7; 9) IDENT@[7; 9) "S1" TYPE_PARAM_LIST@[9; 12) L_ANGLE@[9; 10) TYPE_PARAM@[10; 11) NAME@[10; 11) IDENT@[10; 11) "T" R_ANGLE@[11; 12) SEMI@[12; 13) WHITESPACE@[13; 14) STRUCT_DEF@[14; 32) STRUCT_KW@[14; 20) WHITESPACE@[20; 21) NAME@[21; 23) IDENT@[21; 23) "S2" TYPE_PARAM_LIST@[23; 26) L_ANGLE@[23; 24) TYPE_PARAM@[24; 25) NAME@[24; 25) IDENT@[24; 25) "T" R_ANGLE@[25; 26) POS_FIELD_DEF_LIST@[26; 31) L_PAREN@[26; 27) POS_FIELD_DEF@[27; 30) PATH_TYPE@[27; 30) PATH@[27; 30) PATH_SEGMENT@[27; 30) NAME_REF@[27; 30) IDENT@[27; 30) "u32" R_PAREN@[30; 31) SEMI@[31; 32) WHITESPACE@[32; 33) STRUCT_DEF@[33; 56) STRUCT_KW@[33; 39) WHITESPACE@[39; 40) NAME@[40; 42) IDENT@[40; 42) "S3" TYPE_PARAM_LIST@[42; 45) L_ANGLE@[42; 43) TYPE_PARAM@[43; 44) NAME@[43; 44) IDENT@[43; 44) "T" R_ANGLE@[44; 45) WHITESPACE@[45; 46) NAMED_FIELD_DEF_LIST@[46; 56) L_CURLY@[46; 47) WHITESPACE@[47; 48) NAMED_FIELD_DEF@[48; 54) NAME@[48; 49) IDENT@[48; 49) "u" COLON@[49; 50) WHITESPACE@[50; 51) PATH_TYPE@[51; 54) PATH@[51; 54) PATH_SEGMENT@[51; 54) NAME_REF@[51; 54) IDENT@[51; 54) "u32" WHITESPACE@[54; 55) R_CURLY@[55; 56) WHITESPACE@[56; 58) STRUCT_DEF@[58; 70) STRUCT_KW@[58; 64) WHITESPACE@[64; 65) NAME@[65; 67) IDENT@[65; 67) "S4" TYPE_PARAM_LIST@[67; 69) L_ANGLE@[67; 68) R_ANGLE@[68; 69) SEMI@[69; 70) WHITESPACE@[70; 71) STRUCT_DEF@[71; 85) STRUCT_KW@[71; 77) WHITESPACE@[77; 78) NAME@[78; 80) IDENT@[78; 80) "S5" TYPE_PARAM_LIST@[80; 84) L_ANGLE@[80; 81) LIFETIME_PARAM@[81; 83) LIFETIME@[81; 83) "'a" R_ANGLE@[83; 84) SEMI@[84; 85) WHITESPACE@[85; 86) STRUCT_DEF@[86; 101) STRUCT_KW@[86; 92) WHITESPACE@[92; 93) NAME@[93; 95) IDENT@[93; 95) "S6" TYPE_PARAM_LIST@[95; 100) L_ANGLE@[95; 96) LIFETIME_PARAM@[96; 99) LIFETIME@[96; 98) "'a" COLON@[98; 99) R_ANGLE@[99; 100) SEMI@[100; 101) WHITESPACE@[101; 102) STRUCT_DEF@[102; 120) STRUCT_KW@[102; 108) WHITESPACE@[108; 109) NAME@[109; 111) IDENT@[109; 111) "S7" TYPE_PARAM_LIST@[111; 119) L_ANGLE@[111; 112) LIFETIME_PARAM@[112; 118) LIFETIME@[112; 114) "'a" COLON@[114; 115) WHITESPACE@[115; 116) LIFETIME@[116; 118) "'b" R_ANGLE@[118; 119) SEMI@[119; 120) WHITESPACE@[120; 121) STRUCT_DEF@[121; 142) STRUCT_KW@[121; 127) WHITESPACE@[127; 128) NAME@[128; 130) IDENT@[128; 130) "S8" TYPE_PARAM_LIST@[130; 141) L_ANGLE@[130; 131) LIFETIME_PARAM@[131; 139) LIFETIME@[131; 133) "'a" COLON@[133; 134) WHITESPACE@[134; 135) LIFETIME@[135; 137) "'b" WHITESPACE@[137; 138) PLUS@[138; 139) WHITESPACE@[139; 140) R_ANGLE@[140; 141) SEMI@[141; 142) WHITESPACE@[142; 143) STRUCT_DEF@[143; 166) STRUCT_KW@[143; 149) WHITESPACE@[149; 150) NAME@[150; 152) IDENT@[150; 152) "S9" TYPE_PARAM_LIST@[152; 165) L_ANGLE@[152; 153) LIFETIME_PARAM@[153; 164) LIFETIME@[153; 155) "'a" COLON@[155; 156) WHITESPACE@[156; 157) LIFETIME@[157; 159) "'b" WHITESPACE@[159; 160) PLUS@[160; 161) WHITESPACE@[161; 162) LIFETIME@[162; 164) "'c" R_ANGLE@[164; 165) SEMI@[165; 166) WHITESPACE@[166; 167) STRUCT_DEF@[167; 183) STRUCT_KW@[167; 173) WHITESPACE@[173; 174) NAME@[174; 177) IDENT@[174; 177) "S10" TYPE_PARAM_LIST@[177; 182) L_ANGLE@[177; 178) LIFETIME_PARAM@[178; 180) LIFETIME@[178; 180) "'a" COMMA@[180; 181) R_ANGLE@[181; 182) SEMI@[182; 183) WHITESPACE@[183; 184) STRUCT_DEF@[184; 203) STRUCT_KW@[184; 190) WHITESPACE@[190; 191) NAME@[191; 194) IDENT@[191; 194) "S11" TYPE_PARAM_LIST@[194; 202) L_ANGLE@[194; 195) LIFETIME_PARAM@[195; 197) LIFETIME@[195; 197) "'a" COMMA@[197; 198) WHITESPACE@[198; 199) LIFETIME_PARAM@[199; 201) LIFETIME@[199; 201) "'b" R_ANGLE@[201; 202) SEMI@[202; 203) WHITESPACE@[203; 204) STRUCT_DEF@[204; 233) STRUCT_KW@[204; 210) WHITESPACE@[210; 211) NAME@[211; 214) IDENT@[211; 214) "S12" TYPE_PARAM_LIST@[214; 232) L_ANGLE@[214; 215) LIFETIME_PARAM@[215; 222) LIFETIME@[215; 217) "'a" COLON@[217; 218) WHITESPACE@[218; 219) LIFETIME@[219; 221) "'b" PLUS@[221; 222) COMMA@[222; 223) WHITESPACE@[223; 224) LIFETIME_PARAM@[224; 230) LIFETIME@[224; 226) "'b" COLON@[226; 227) WHITESPACE@[227; 228) LIFETIME@[228; 230) "'c" COMMA@[230; 231) R_ANGLE@[231; 232) SEMI@[232; 233) WHITESPACE@[233; 235) STRUCT_DEF@[235; 249) STRUCT_KW@[235; 241) WHITESPACE@[241; 242) NAME@[242; 245) IDENT@[242; 245) "S13" TYPE_PARAM_LIST@[245; 248) L_ANGLE@[245; 246) TYPE_PARAM@[246; 247) NAME@[246; 247) IDENT@[246; 247) "T" R_ANGLE@[247; 248) SEMI@[248; 249) WHITESPACE@[249; 250) STRUCT_DEF@[250; 267) STRUCT_KW@[250; 256) WHITESPACE@[256; 257) NAME@[257; 260) IDENT@[257; 260) "S14" TYPE_PARAM_LIST@[260; 266) L_ANGLE@[260; 261) TYPE_PARAM@[261; 262) NAME@[261; 262) IDENT@[261; 262) "T" COMMA@[262; 263) WHITESPACE@[263; 264) TYPE_PARAM@[264; 265) NAME@[264; 265) IDENT@[264; 265) "U" R_ANGLE@[265; 266) SEMI@[266; 267) WHITESPACE@[267; 268) STRUCT_DEF@[268; 289) STRUCT_KW@[268; 274) WHITESPACE@[274; 275) NAME@[275; 278) IDENT@[275; 278) "S15" TYPE_PARAM_LIST@[278; 288) L_ANGLE@[278; 279) LIFETIME_PARAM@[279; 281) LIFETIME@[279; 281) "'a" COMMA@[281; 282) WHITESPACE@[282; 283) TYPE_PARAM@[283; 284) NAME@[283; 284) IDENT@[283; 284) "T" COMMA@[284; 285) WHITESPACE@[285; 286) TYPE_PARAM@[286; 287) NAME@[286; 287) IDENT@[286; 287) "U" R_ANGLE@[287; 288) SEMI@[288; 289) WHITESPACE@[289; 290)