(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:tid) op:Equal rhs:{(DQ ('cipher speed'))} spids:[7])] spids: [7] ) (FuncDef name: getbytes body: (BraceGroup children: [ (C {(sed)} {(-n)} {(-e)} {(SQ <'/transferred/s/.*secs (\\(.* bytes.sec\\).*/\\1/p'>)} {(-e)} {(SQ <'/copied/s/.*s, \\(.* MB.s\\).*/\\1/p'>)} ) ] spids: [18] ) spids: [13 17] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:tries) op:Equal rhs:{(DQ ('1 2'))} spids:[42])] spids: [42] ) (ForEach iter_name: c iter_words: [ { (CommandSubPart command_list: (CommandList children:[(C {(${ VSub_Name SSH)} {(-Q)} {(cipher)})]) left_token: <Left_Backtick '`'> spids: [54 62] ) } ] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:n) op:Equal rhs:{(0)} spids:[67])] spids: [67] ) terminator: <Op_Semi ';'> ) (Sentence child: (ForEach iter_name: m iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(${ VSub_Name SSH)} {(-Q)} {(mac)})] ) left_token: <Left_Backtick '`'> spids: [77 85] ) } ] do_arg_iter: False body: (DoGroup children: [ (C {(trace)} {(DQ ('proto 2 cipher ') ($ VSub_Name '$c') (' mac ') ($ VSub_Name '$m'))} ) (ForEach iter_name: x iter_words: [{($ VSub_Name '$tries')}] do_arg_iter: False body: (DoGroup children: [ (C {(printf)} {(DQ ('%-60s'))} {(DQ ($ VSub_Name '$c') (/) ($ VSub_Name '$m') (':'))} ) (Pipeline children: [ (Subshell child: (SimpleCommand words: [ {(${ VSub_Name SSH)} {(-o)} {(SQ <'compression no'>)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_proxy)} {(-2)} {(-m)} {($ VSub_Name '$m')} {(-c)} {($ VSub_Name '$c')} {(somehost)} {(exec)} {(sh)} {(-c)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (DQ ('dd of=/dev/null obs=32k')) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) } ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(${ VSub_Name DATA)} spids: [174] ) ] ) redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [182] ) ] spids: [127 180] ) (C {(getbytes)}) ] negated: False ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(fail)} { (DQ ('ssh -2 failed with mac ') ($ VSub_Name '$m') (' cipher ') ($ VSub_Name '$c') ) } ) ] spids: [16777215 204] ) ] spids: [16777215 217] ) ] spids: [110 220] ) spids: [106 108] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(${ VSub_Name SSH)} {(-Q)} {(cipher-auth)}) (SimpleCommand words: [ {(grep)} { (DQ ('^') (${ VSub_Name c) (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [249] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [252] ) ] ) ] negated: False ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [16777215 257] ) ] spids: [16777215 263] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$n')} {(Lit_Other '+')} {(1)}) ] ) left_token: <Left_Backtick '`'> spids: [267 275] ) } spids: [266] ) ] spids: [266] ) ] spids: [88 277] ) spids: [76 86] ) terminator: <Op_Semi ';'> ) ] spids: [65 280] ) spids: [53 63] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(ssh_version)} {(1)}) terminator:<Op_Semi ';'>)] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ciphers) op: Equal rhs: {(DQ ('3des blowfish'))} spids: [293] ) ] spids: [293] ) ] spids: [16777215 290] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ciphers) op:Equal rhs:{(DQ )} spids:[301])] spids: [301] ) ] spids: [298 305] ) (ForEach iter_name: c iter_words: [{($ VSub_Name '$ciphers')}] do_arg_iter: False body: (DoGroup children: [ (C {(trace)} {(DQ ('proto 1 cipher ') ($ VSub_Name '$c'))}) (ForEach iter_name: x iter_words: [{($ VSub_Name '$tries')}] do_arg_iter: False body: (DoGroup children: [ (C {(printf)} {(DQ ('%-60s'))} {(DQ ($ VSub_Name '$c') (':'))}) (Pipeline children: [ (Subshell child: (SimpleCommand words: [ {(${ VSub_Name SSH)} {(-o)} {(SQ <'compression no'>)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_proxy)} {(-1)} {(-c)} {($ VSub_Name '$c')} {(somehost)} {(exec)} {(sh)} {(-c)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (DQ ('dd of=/dev/null obs=32k')) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) } ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(${ VSub_Name DATA)} spids: [394] ) ] ) redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[402])] spids: [351 400] ) (C {(getbytes)}) ] negated: False ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('ssh -1 failed with cipher ') ($ VSub_Name '$c'))})] spids: [16777215 423] ) ] spids: [16777215 434] ) ] spids: [336 437] ) spids: [332 334] ) ] spids: [316 439] ) spids: [312 314] ) ] )