(CommandList children: [ (AndOr children: [ (FuncDef name: _iperf body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cur) op:Equal spids:[13]) (assign_pair lhs:(LhsName name:prev) op:Equal spids:[15]) (assign_pair lhs:(LhsName name:words) op:Equal spids:[17]) (assign_pair lhs:(LhsName name:cword) op:Equal spids:[19]) (assign_pair lhs:(LhsName name:split) op:Equal spids:[21]) ] spids: [11] ) (AndOr children: [ (C {(_init_completion)} {(-s)}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DPipe ) (Case to_match: {($ VSub_Name '$prev')} arms: [ (case_arm pat_list: [ {(-h)} {(--help)} {(-v)} {(--version)} {(-i)} {(--interval)} {(-l)} {(--len)} {(-p)} {(--port)} {(-w)} {(--window)} {(-M)} {(--mss)} {(-b)} {(--bandwidth)} {(-n)} {(--num)} {(-t)} {(--time)} {(-L)} {(--listenport)} {(-P)} {(--parallel)} {(-T)} {(--ttl)} {(-Z)} {(--linux-congestion)} ] action: [(ControlFlow token:<ControlFlow_Return return>)] spids: [41 100 106 16777215] ) (case_arm pat_list: [{(-f)} {(--format)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'k m K M'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [118 134] ) } ] ) } spids: [115] ) ] spids: [115] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [109 112 142 16777215] ) (case_arm pat_list: [{(-o)} {(--output)} {(-F)} {(--fileinput)}] action: [(C {(_filedir)}) (ControlFlow token:<ControlFlow_Return return>)] spids: [145 152 161 16777215] ) (case_arm pat_list: [{(-B)} {(--bind)}] action: [ (C {(_available_interfaces)} {(-a)}) (C {(_ip_addresses)}) (ControlFlow token:<ControlFlow_Return return>) ] spids: [164 167 181 16777215] ) (case_arm pat_list: [{(-c)} {(--client)}] action: [ (C {(_known_hosts_real)} {(DQ ($ VSub_Name '$cur'))}) (ControlFlow token:<ControlFlow_Return return>) ] spids: [184 187 200 16777215] ) (case_arm pat_list: [{(-x)} {(--reportexclude)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'C D M S V'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [212 228] ) } ] ) } spids: [209] ) ] spids: [209] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [203 206 236 16777215] ) (case_arm pat_list: [{(-y)} {(--reportstyle)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <C>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [248 264] ) } ] ) } spids: [245] ) ] spids: [245] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [239 242 272 16777215] ) ] spids: [34 38 275] ) (AndOr children: [ (C {($ VSub_Name '$split')}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DAmp ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:i) op:Equal spids:[293]) (assign_pair lhs: (LhsName name:filter) op: Equal rhs: {(cat)} spids: [295] ) ] spids: [291] ) (ForEach iter_name: i iter_words: [ { (BracedVarSub token: <VSub_Name words> bracket_op: (WholeArray op_id:Lit_At) spids: [305 310] ) } ] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$i')} arms: [ (case_arm pat_list: [{(-s)} {(--server)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filter) op: Equal rhs: {(SQ <'sed -e /^Client.specific/,/^$/d'>)} spids: [329] ) ] spids: [329] ) ] spids: [323 326 335 16777215] ) (case_arm pat_list: [{(-c)} {(--client)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filter) op: Equal rhs: {(SQ <'sed -e /^Server.specific/,/^$/d'>)} spids: [344] ) ] spids: [344] ) ] spids: [338 341 350 16777215] ) ] spids: [316 320 353] ) ] spids: [313 356] ) spids: [304 311] ) (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Name '$filter')} right: {(cat)} ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filter) op: PlusEqual rhs: {(SQ <' -e /--client/d -e /--server/d'>)} spids: [371] ) ] spids: [371] ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'$( "$1" --help 2>&1 | $filter | _parse_help - )'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [381 399] ) } ] ) } spids: [378] ) ] spids: [378] ) (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$COMPREPLY')} right: {(Lit_Other '*') (BoolBinary_GlobEqual '=')} ) ) (C {(compopt)} {(-o)} {(nospace)}) ] op_id: Op_DAmp ) ] spids: [8] ) spids: [4 7] ) (C {(complete)} {(-F)} {(_iperf)} {(iperf)}) ] op_id: Op_DAmp ) ] )