(CommandList children: [ (C {(Lit_Other ':')} {(generate)} {(Assign_Local local)} {(host)} {(info)}) (Case to_match: {($ VSub_Name '$RANDOM')} arms: [ (case_arm pat_list: [{($ VSub_Name '$RANDOM')}] action: [ (Sentence child: (C {(exec)} {(ksh)} {($ VSub_Number '$0')} {(DQ ($ VSub_At '$@'))}) terminator: <Op_Semi ';'> ) (Sentence child: (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Number '$0') (': ksh required'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[116])] ) terminator: <Op_Semi ';'> ) (C {(exit)} {(1)}) ] spids: [95 96 124 16777215] ) ] spids: [89 93 126] ) (C {(integer)} {(Lit_VarLike 'cluster=') (5)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal rhs:{(.)} spids:[133])] spids: [133] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:file) op:Equal rhs:{(SQ )} spids:[136])] spids: [136] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:heading) op:Equal rhs:{(1)} spids:[138])] spids: [138] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:list) op:Equal rhs:{(SQ )} spids:[141])] spids: [141] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:rsh) op:Equal rhs:{(rsh)} spids:[143])] spids: [143] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:timeout) op:Equal rhs:{(90)} spids:[146])] spids: [146] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(Lit_Other ':')} spids:[149])] spids: [149] ) (While cond: [(C {(Lit_Other ':')})] body: (DoGroup children: [ (Case to_match: {($ VSub_Pound '$#')} arms: [ (case_arm pat_list: [{(0)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [165 166 170 16777215] ) ] spids: [158 162 173] ) (Case to_match: {($ VSub_Number '$1')} arms: [ (case_arm pat_list: [{(-) (Lit_Other '[') (frt) (Lit_Other ']')}] action: [ (Case to_match: {($ VSub_Pound '$#')} arms: [ (case_arm pat_list: [{(1)}] action: [ (C {(set)} {(--)} {(SQ <'-?'>)}) (ControlFlow token:<ControlFlow_Break break>) ] spids: [195 196 210 16777215] ) ] spids: [188 192 213] ) (Case to_match: {($ VSub_Number '$1')} arms: [ (case_arm pat_list: [{(-f)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {($ VSub_Number '$2')} spids: [226] ) ] spids: [226] ) ] spids: [223 224 229 16777215] ) (case_arm pat_list: [{(-r)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rsh) op: Equal rhs: {($ VSub_Number '$2')} spids: [235] ) ] spids: [235] ) ] spids: [232 233 238 16777215] ) (case_arm pat_list: [{(-t)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:timeout) op: Equal rhs: {($ VSub_Number '$2')} spids: [244] ) ] spids: [244] ) ] spids: [241 242 247 16777215] ) ] spids: [216 220 250] ) (C {(shift)}) ] spids: [183 187 256 16777215] ) (case_arm pat_list: [{(-h)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:heading) op: Equal rhs: {(SQ )} spids: [262] ) ] spids: [262] ) ] spids: [259 260 265 16777215] ) (case_arm pat_list: [{(-n)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:list) op:Equal rhs:{(1)} spids:[271])] spids: [271] ) ] spids: [268 269 275 16777215] ) (case_arm pat_list: [{(-v)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:verbose) op: Equal rhs: {(SQ <'print -u2'>)} spids: [281] ) ] spids: [281] ) ] spids: [278 279 287 16777215] ) (case_arm pat_list: [{(SQ <'-?'>)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [291 293 298 16777215] ) (case_arm pat_list: [{(Lit_Other '[') (-) (Lit_Other '+') (Lit_Other ']') (Lit_Other '*')}] action: [ (C {(print)} {(-u2)} {(DQ ($ VSub_Number '$0') (': ') ($ VSub_Number '$1') (': invalid option'))} ) (C {(set)} {(--)} {(SQ <'-?'>)}) (ControlFlow token:<ControlFlow_Break break>) ] spids: [301 306 332 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [335 336 341 16777215] ) ] spids: [176 180 344] ) (C {(shift)}) ] spids: [156 349] ) ) (Case to_match: {($ VSub_Number '$1')} arms: [ (case_arm pat_list: [{(SQ <'-?'>)}] action: [ (Sentence child: (C {(print)} {(-u2)} { (DQ ('Usage: ') ($ VSub_Number '$0') (' [-hnv] [-f share-file] [-r rsh-path] [-t timeout] [host ...]') ) } ) terminator: <Op_Semi ';'> ) (C {(exit)} {(1)}) ] spids: [358 360 377 16777215] ) ] spids: [351 355 379] ) (Case to_match: {($ VSub_Name '$file')} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ifs) op: Equal rhs: { (BracedVarSub token: <VSub_Name IFS> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ <'\n'> <'\t '>)}) spids: [392 399] ) } spids: [391] ) ] spids: [391] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(Lit_Other ':')} spids:[402])] spids: [402] ) (C {(set)} {(DQ )} {($ VSub_Name '$PATH')} {(DQ (--))} {(DQ ($ VSub_At '$@'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {($ VSub_Name '$ifs')} spids: [422] ) ] spids: [422] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:f) op:Equal rhs:{(lib/cs/share)} spids:[426])] spids: [426] ) (While cond: [(C {(Lit_Other ':')})] body: (DoGroup children: [ (C {(shift)}) (Case to_match: {($ VSub_Number '$1')} arms: [ (case_arm pat_list: [{(DQ )}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [16777215 449 453 16777215] ) (case_arm pat_list: [{(--)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [456 457 461 16777215] ) ] spids: [440 444 464] ) (Case to_match: {($ VSub_Name '$file')} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (AndOr children: [ (C {(test)} {(-f)} { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(bin)}) spids: [482 486] ) ($ VSub_Name '$f') } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(bin)} ) spids: [492 496] ) ($ VSub_Name '$f') } spids: [491] ) ] spids: [491] ) ] op_id: Op_DAmp ) ] spids: [16777215 476 499 16777215] ) ] spids: [467 471 502] ) ] spids: [435 505] ) ) (C {(shift)}) (Case to_match: {($ VSub_Name '$file')} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Sentence child: (C {(print)} {(-u2)} {($ VSub_Number '$0') (Lit_Other ':')} {($ VSub_Name '$f') (Lit_Other ':')} {(not)} {(found)} ) terminator: <Op_Semi ';'> ) (C {(exit)} {(1)}) ] spids: [16777215 520 541 16777215] ) ] spids: [511 515 544] ) ] spids: [16777215 389 547 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(KW_Bang '!')} {(-f)} {($ VSub_Name '$file')})] action: [ (Sentence child: (C {(print)} {(-u2)} { (DQ ($ VSub_Number '$0') (': ') ($ VSub_Name '$file') (': cannot read share file') ) } ) terminator: <Op_Semi ';'> ) (C {(exit)} {(1)}) ] spids: [16777215 563] ) ] spids: [16777215 582] ) ] spids: [549 550 585 16777215] ) ] spids: [381 385 587] ) (C {(print)} {(-u2)} { (DQ ($ VSub_Number '$0') (': warning: ') ($ VSub_Name '$rsh') (' may hang on some hosts -- monitor the progress with the -v option or ps ') ($ VSub_Dollar '$$') ) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:server) op:Equal rhs:{(SQ )} spids:[601])] spids: [601] ) (ForEach iter_name: host iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(egrep)} {(-v)} {(SQ <'^#'>)} {($ VSub_Name '$file')})] ) left_token: <Left_CommandSub '$('> spids: [609 619] ) } ] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$server')} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:server) op: Equal rhs: {($ VSub_Name '$host')} spids: [634] ) ] spids: [634] ) ] spids: [16777215 632 637 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:server) op: Equal rhs: {(DQ ($ VSub_Name '$server') ('|') ($ VSub_Name '$host'))} spids: [643] ) ] spids: [643] ) ] spids: [640 641 650 16777215] ) ] spids: [623 627 653] ) ] spids: [621 655] ) spids: [608 16777215] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:hostname) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(package)} {(host)} {(name)})]) left_token: <Left_CommandSub '$('> spids: [658 664] ) } spids: [657] ) ] spids: [657] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:hostname) op: Equal rhs: { (BracedVarSub token: <VSub_Name hostname> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{('.*')}) spids: [667 671] ) } spids: [666] ) ] spids: [666] ) (Case to_match: {($ VSub_Pound '$#')} arms: [ (case_arm pat_list: [{(0)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:domain) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (BraceGroup children: [(C {(cat)} {(/etc/hosts)}) (C {(ypcat)} {(hosts)})] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [701] ) ] spids: [686] ) (C {(egrep)} { (DQ ('[^#].*[ \t]') ($ VSub_Name '$hostname') ('(') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('|[. \t])') ) } ) (C {(sed)} {(-e)} {(SQ <'1!d'>)} {(-e)} {(SQ <'s/^[^ \t]*//'>)} {(-e)} {(SQ <'s/[^.]*.//'>)} {(-e)} {(SQ <'s/[ \t].*//'>)} ) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [683 747] ) } spids: [682] ) ] spids: [682] ) (C {(set)} {(--)} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (BraceGroup children: [ (C {(print)} {(DQ ($ VSub_Name '$hostname'))}) (C {(egrep)} {(-v)} {(SQ <'^#'>)} {($ VSub_Name '$file')}) (Pipeline children: [(C {(ruptime)}) (C {(fgrep)} {(-v)} {(SQ <'no hosts'>)})] negated: False ) (Pipeline children: [ (BraceGroup children: [ (ForEach iter_name: i iter_words: [{(/etc/resolv.conf)} {(/usr/etc/resolv.conf)}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {($ VSub_Name '$i')})] action: [ (Pipeline children: [ (C {(echo)} { (DQ ('ls -t A ') (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-e)} {(SQ <'/^domain/!d'>)} {(-e)} {(SQ <'s/.*[ ][ \t]*//'>)} {($ VSub_Name '$i')} ) ] ) left_token: <Left_CommandSub '$('> spids: [822 838] ) ) } ) (C {(nslookup)}) ] negated: False ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 816] ) ] spids: [16777215 849] ) ] spids: [805 852] ) spids: [799 16777215] ) (C {(cat)} {(/etc/hosts)}) (C {(ypcat)} {(hosts)}) ] spids: [791] ) (C {(fgrep)} {(DQ (.) ($ VSub_Name '$domain'))}) (C {(awk)} {(SQ <'{print $2}'>)}) ] negated: False ) ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [889] ) ] spids: [757] ) (C {(sed)} {(-e)} {(SQ <'s/[. \t].*//'>)} {(-e)} {(SQ <'/^[a-zA-Z].*[a-zA-Z0-9]$/!d'>)} ) (C {(sort)} {(-u)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [754 917] ) } ) (Case to_match: {($ VSub_Name '$list')} arms: [ (case_arm pat_list: [{(Lit_Other '?') (Lit_Other '*')}] action: [(C {(print)} {(Lit_VarLike 'domain=') ($ VSub_Name '$domain')})] spids: [927 929 937 16777215] ) ] spids: [920 924 940] ) ] spids: [679 680 943 16777215] ) ] spids: [673 677 945] ) (Case to_match: {($ VSub_Name '$list')} arms: [ (case_arm pat_list: [{(Lit_Other '?') (Lit_Other '*')}] action: [ (Sentence child: (C {(print)} {(Lit_VarLike 'hosts=') (SQ <'"'>) ($ VSub_Star '$*') (SQ <'"'>)}) terminator: <Op_Semi ';'> ) (C {(exit)}) ] spids: [953 955 971 16777215] ) ] spids: [947 951 973] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:hosts) op:Equal rhs:{(SQ )} spids:[975])] spids: [975] ) (Pipeline children: [ (ForEach iter_name: host do_arg_iter: True body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$host')} arms: [ (case_arm pat_list: [{(Assign_Local local)} {(localhost)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:host) op: Equal rhs: {($ VSub_Name '$hostname')} spids: [995] ) ] spids: [995] ) ] spids: [990 993 998 16777215] ) ] spids: [983 987 1001] ) (Case to_match: {(DQ (' ') ($ VSub_Name '$hosts') (' '))} arms: [ (case_arm pat_list: [ {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$host') (' ')) (Lit_Other '*')} ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [1015 1022 1026 16777215] ) ] spids: [1004 1012 1029] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:hosts) op: Equal rhs: {(DQ ($ VSub_Name '$hosts') (' ') ($ VSub_Name '$host'))} spids: [1032] ) ] spids: [1032] ) (C {($ VSub_Name '$verbose')} {(-n)} {(DQ ($ VSub_Name '$host') (' '))}) (Case to_match: {($ VSub_Name '$host')} arms: [ (case_arm pat_list: [{($ VSub_Name '$hostname')}] action: [(C {(package)} {(host)} {(name)} {(type)} {(cpu)} {(rating)})] spids: [1057 1058 1074 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (SimpleCommand words: [{(ping)} {(-c)} {(1)} {(-w)} {(4)} {($ VSub_Name '$host')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [1094] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [1097] ) ] ) ] action: [ (Sentence child: (C {($ VSub_Name '$rsh')} {($ VSub_Name '$host')} {(bin/package)} {(host)} {(name)} {(type)} {(cpu)} {(rating)} ) terminator: <Op_Amp '&'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:info) op: Equal rhs: {($ VSub_Bang '$!')} spids: [1122] ) ] spids: [1122] ) (Sentence child: (BraceGroup children: [ (C {(sleep)} {($ VSub_Name '$timeout')}) (C {(kill)} {(-9)} {($ VSub_Name '$info')}) ] spids: [1126] ) terminator: <Op_Amp '&'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:time) op: Equal rhs: {($ VSub_Bang '$!')} spids: [1146] ) ] spids: [1146] ) (C {(wait)} {($ VSub_Name '$info')}) (C {(kill)} {(-9)} {($ VSub_Name '$time')}) ] spids: [16777215 1101] ) ] spids: [16777215 1162] ) ] spids: [1077 1078 1165 16777215] ) ] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[1170])] spids: [1050 1054 1168] ) ] spids: [981 1173] ) spids: [16777215 16777215] ) (While cond: [(C {(read)} {(host)} {(type)} {(cpu)} {(rating)})] body: (DoGroup children: [ (C {($ VSub_Name '$verbose')} {(Lit_VarLike 'type=') ($ VSub_Name '$type')} {(Lit_VarLike 'cpu=') ($ VSub_Name '$cpu')} {(Lit_VarLike 'rating=') ($ VSub_Name '$rating')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:host) op: Equal rhs: { (BracedVarSub token: <VSub_Name host> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{('.*')}) spids: [1204 1208] ) } spids: [1203] ) ] spids: [1203] ) (C {(eval)} { (DQ ("case '") ($ VSub_Name '$host') ("' in\n") ('\t') ($ VSub_Name '$server') (')\tidle= ;;\n') ('\t*)\t\tidle=15m ;;\n') ('\tesac') ) } ) (C {(print)} {($ VSub_Name '$host') (DQ ('\t')) (Lit_VarLike 'type=') ($ VSub_Name '$type') (DQ ('\t')) (${ VSub_Name rating) (BracedVarSub token: <VSub_Name idle> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ('\tidle=') ($ VSub_Name '$idle'))} ) spids: [1239 1246] ) (BracedVarSub token: <VSub_Name cpu> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ('\tcpu=') ($ VSub_Name '$cpu'))} ) spids: [1247 1254] ) } ) ] spids: [1189 1256] ) ) (C {(sort)} {(-b)} {(Lit_Other '+') (2n)} {(-3)}) (BraceGroup children: [ (C {(integer)} {(v)} {(c)} {(d)} {(i)} {(j)} {(k)} {(n)}) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:n) right: (ArithWord w:{(Lit_Digits 0)}) ) ) (While cond: [(C {(read)} {(host)} {(type)} {(rate)} {(attr)})] body: (DoGroup children: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:n) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:n) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) (C {(h) (Lit_Other '[') (n) (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$host')}) (C {(t) (Lit_Other '[') (n) (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$type')}) (C {(v) (Lit_Other '[') (n) (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$rate')}) (C {(a) (Lit_Other '[') (n) (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$attr')}) ] spids: [1312 1356] ) ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:c) op:Equal rhs:{(1)} spids:[1359])] spids: [1359] ) (While cond: [(DParen child:(ArithVarRef name:c))] body: (DoGroup children: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithWord w:{(Lit_Digits 0)}) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (While cond: [ (DParen child: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithVarRef name:n) ) ) ] body: (DoGroup children: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:d) right: (ArithBinary op_id: Arith_Minus left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) right: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:i) ) ) ) ) (If arms: [ (if_arm cond: [ (DParen child: (ArithBinary op_id: Arith_DAmp left: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:d) right: (ArithWord w:{(Lit_Digits 1)}) ) right: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:d) right: (ArithVarRef name:cluster) ) ) ) ] action: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:d) right: (ArithBinary op_id: Arith_Slash left: (ArithVarRef name:d) right: (ArithWord w:{(Lit_Digits 2)}) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsIndexedName name:v index:(ArithVarRef name:i)) right: (ArithBinary op_id: Arith_Plus left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:i) ) right: (ArithVarRef name:d) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsIndexedName name: v index: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) right: (ArithBinary op_id: Arith_Minus left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) right: (ArithVarRef name:d) ) ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:c) op: Equal rhs: {(1)} spids: [1481] ) ] spids: [1481] ) ] spids: [16777215 1433] ) ] spids: [16777215 1485] ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) ] spids: [1399 1498] ) ) ] spids: [1371 1501] ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (While cond: [ (DParen child: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:i) right: (ArithVarRef name:n) ) ) ] body: (DoGroup children: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:i) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:j) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:k) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (While cond: [ (DParen child: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:j) right: (ArithVarRef name:n) ) ) ] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (DParen child: (ArithBinary op_id: Arith_DPipe left: (ArithBinary op_id: Arith_Great left: (ArithBinary op_id: Arith_Minus left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:j) ) right: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:j) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) right: (ArithWord w:{(Lit_Digits 1)}) ) right: (ArithBinary op_id: Arith_Great left: (ArithBinary op_id: Arith_Minus left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:j) ) right: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:i) ) ) right: (ArithVarRef name:cluster) ) ) ) ] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [16777215 1601] ) ] spids: [16777215 1606] ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:c) right: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:j) ) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:k) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:k) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:j) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:j) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) ] spids: [1563 1642] ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithBinary op_id: Arith_Slash left: (ArithVarRef name:c) right: (ArithVarRef name:k) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:d) right: (ArithBinary op_id: Arith_Percent left: (ArithVarRef name:c) right: (ArithWord w:{(Lit_Digits 10)}) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:c) right: (ArithVarRef name:d) ) ) ) (If arms: [ (if_arm cond: [ (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:d) right: (ArithWord w:{(Lit_Digits 6)}) ) ) ] action: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:c) right: (ArithWord w:{(Lit_Digits 10)}) ) ) ) ] spids: [16777215 1685] ) (if_arm cond: [ (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:d) right: (ArithWord w:{(Lit_Digits 3)}) ) ) ] action: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:c) right: (ArithWord w:{(Lit_Digits 5)}) ) ) ) ] spids: [1697 1707] ) ] spids: [16777215 1719] ) (While cond: [ (DParen child: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithVarRef name:j) ) ) ] body: (DoGroup children: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsIndexedName name:v index:(ArithVarRef name:i)) right: (ArithVarRef name:c) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) ] spids: [1732 1755] ) ) ] spids: [1522 1758] ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (While cond: [ (DParen child: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:i) right: (ArithVarRef name:n) ) ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rate) op: Equal rhs: { (BracedVarSub token: <VSub_Name v> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [1782 1787] ) } spids: [1781] ) ] spids: [1781] ) (C {(print)} { (BracedVarSub token: <VSub_Name h> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [1792 1797] ) } { (BracedVarSub token: <VSub_Name t> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [1799 1804] ) } {(Lit_VarLike 'rating=') (BracedVarSub token: <VSub_Name v> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [1807 1812] ) (DQ ('\t') (BracedVarSub token: <VSub_Name a> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [1815 1820] ) ) } ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) ] spids: [1779 1834] ) ) ] spids: [1271] ) (C {(sort)} {(-b)} {(Lit_Other '+') (1)} {(-2)} {(Lit_Other '+') (2.7n)} {(-3)} {(Lit_Other '+') (0)} {(-1)} ) (While cond: [(C {(read)} {(host)} {(type)} {(attr)})] body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$heading')} arms: [ (case_arm pat_list: [{(1)}] action: [ (C {(print)} {(SQ <'#'>)}) (C {(print)} {(SQ <'# local host attributes'>)}) (C {(print)} {(SQ <'#'>)}) (C {(print)}) (C {(print)} {(SQ <'local\t\tbusy=2m\t\tpool=9'>)}) (C {(print)}) ] spids: [1880 1881 1917 16777215] ) (case_arm pat_list: [{(SQ )} {($ VSub_Name '$type')}] spids: [16777215 1924 1927 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(print)})] spids: [1930 1931 1936 16777215] ) ] spids: [1873 1877 1939] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:heading) op: Equal rhs: {($ VSub_Name '$type')} spids: [1942] ) ] spids: [1942] ) (Case to_match: {($ VSub_Name '$host')} arms: [ (case_arm pat_list: [ {(Lit_Other '?') (Lit_Other '?') (Lit_Other '?') (Lit_Other '?') (Lit_Other '?') (Lit_Other '?') (Lit_Other '?') (Lit_Other '?') (Lit_Other '*') } ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tab1) op: Equal rhs: {(DQ ('\t'))} spids: [1965] ) ] spids: [1965] ) ] spids: [1953 1962 1971 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tab1) op: Equal rhs: {(DQ ('\t\t'))} spids: [1977] ) ] spids: [1977] ) ] spids: [1974 1975 1983 16777215] ) ] spids: [1946 1950 1986] ) (Case to_match: {($ VSub_Name '$type')} arms: [ (case_arm pat_list: [ {(Lit_Other '?') (Lit_Other '?') (Lit_Other '?') (Lit_Other '?') (Lit_Other '?') (Lit_Other '?') (Lit_Other '?') (Lit_Other '?') (Lit_Other '*') } ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tab2) op: Equal rhs: {(DQ ('\t'))} spids: [2008] ) ] spids: [2008] ) ] spids: [1996 2005 2014 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tab2) op: Equal rhs: {(DQ ('\t\t'))} spids: [2020] ) ] spids: [2020] ) ] spids: [2017 2018 2026 16777215] ) ] spids: [1989 1993 2029] ) (C {(print)} {($ VSub_Name '$host') (DQ ($ VSub_Name '$tab1')) ($ VSub_Name '$type') (DQ ($ VSub_Name '$tab2') ($ VSub_Name '$attr')) } ) ] spids: [1871 2044] ) ) ] negated: False ) ] )