(command.CommandList children: [ (command.FuncDef name: _smf_complete_fmri body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[74]) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [74] ) (assign_pair lhs: (lhs_expr.LhsName name:prefix spids:[79]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [79] ) ] spids: [72] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur_prefix spids:[87]) op: Equal spids: [87] ) (assign_pair lhs: (lhs_expr.LhsName name:fmri spids:[89]) op: Equal spids: [89] ) (assign_pair lhs: (lhs_expr.LhsName name:fmri_list spids:[91]) op: Equal rhs: {(DQ )} spids: [91] ) ] spids: [85] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:exact_mode spids:[98]) op: Equal spids: [98] ) (assign_pair lhs: (lhs_expr.LhsName name:pattern spids:[100]) op: Equal spids: [100] ) ] spids: [96] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$cur'))} right: {($ VSub_DollarName '$prefix') (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$cur'))} right: {($ VSub_DollarName '$prefix')} ) ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[137]) op: PlusEqual rhs: {(DQ (/))} spids: [137] ) ] spids: [137] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:pattern spids:[143]) op: Equal rhs: {(DQ ($ VSub_DollarName '$cur') ('*'))} spids: [143] ) ] spids: [143] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:exact_mode spids:[150]) op: Equal rhs: {(1)} spids: [150] ) ] spids: [150] ) ] spids: [16777215 120] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:pattern spids:[157]) op: Equal rhs: {(DQ ($ VSub_DollarName '$prefix') ('*/') ($ VSub_DollarName '$cur') ('*'))} spids: [157] ) ] spids: [157] ) ] spids: [154 166] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur_prefix spids:[170]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: { (DQ (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [176 181] ) ) } ) spids: [172 183] ) ) } spids: [170] ) ] spids: [170] ) (command.ForEach iter_name: fmri iter_words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [{(svcs)} {(-H)} {(-o)} {(FMRI)} {(DQ ($ VSub_DollarName '$pattern'))}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] ) left_token: <Left_CommandSub '$('> spids: [194 209] ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:fmri_part_list spids:[217]) op: Equal spids: [217] ) (assign_pair lhs: (lhs_expr.LhsName name:fmri_part spids:[219]) op: Equal spids: [219] ) ] spids: [215] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_z child: {(DQ ($ VSub_DollarName '$exact_mode'))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:fmri spids:[238]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name fmri> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {($ VSub_DollarName '$prefix') (Lit_Slash /)} ) spids: [239 244] ) } spids: [238] ) ] spids: [238] ) (command.Sentence child: (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:OIFS spids:[262]) op: Equal rhs: {(DQ ($ VSub_DollarName '$IFS'))} spids: [262] ) ] spids: [260] ) terminator: <Op_Semi ';'> ) (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:IFS spids:[268]) op: Equal rhs: {(DQ (/))} spids: [268] ) ] spids: [268] ) terminator: <Op_Semi ';'> ) (command.Sentence child: (C {(set)} {(--)} {($ VSub_DollarName '$fmri')}) terminator: <Op_Semi ';'> ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:IFS spids:[281]) op: Equal rhs: {(DQ ($ VSub_DollarName '$OIFS'))} spids: [281] ) ] spids: [281] ) (command.Case to_match: {($ VSub_Pound '$#')} arms: [ (case_arm pat_list: [{(1)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:fmri_part_list spids:[297]) op: Equal rhs: {(DQ (' ') ($ VSub_Number '$1'))} spids: [297] ) ] spids: [297] ) ] spids: [294 295 302 16777215] ) (case_arm pat_list: [{(2)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:fmri_part_list spids:[308]) op: Equal rhs: { (DQ (' ') ($ VSub_Number '$2') (' ') ($ VSub_Number '$1') (/) ($ VSub_Number '$2') ) } spids: [308] ) ] spids: [308] ) ] spids: [305 306 317 16777215] ) (case_arm pat_list: [{(3)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:fmri_part_list spids:[323]) op: Equal rhs: { (DQ (' ') ($ VSub_Number '$3') (' ') ($ VSub_Number '$2') (/) ($ VSub_Number '$3') (' ') ($ VSub_Number '$1') (/) ($ VSub_Number '$2') (/) ($ VSub_Number '$3') ) } spids: [323] ) ] spids: [323] ) ] spids: [320 321 338 16777215] ) (case_arm pat_list: [{(4)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:fmri_part_list spids:[344]) op: Equal rhs: { (DQ (' ') ($ VSub_Number '$4') (' ') ($ VSub_Number '$3') (/) ($ VSub_Number '$4') (' ') ($ VSub_Number '$2') (/) ($ VSub_Number '$3') (/) ($ VSub_Number '$4') (' ') ($ VSub_Number '$1') (/) ($ VSub_Number '$2') (/) ($ VSub_Number '$3') (/) ($ VSub_Number '$4') ) } spids: [344] ) ] spids: [344] ) ] spids: [341 342 367 16777215] ) ] spids: [287 291 370] ) ] spids: [16777215 235] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:fmri_part_list spids:[376]) op: Equal rhs: {(DQ ($ VSub_DollarName '$fmri'))} spids: [376] ) ] spids: [376] ) ] spids: [373 382] ) (command.ForEach iter_name: fmri_part iter_words: [{($ VSub_DollarName '$fmri_part_list')}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$fmri_part'))} right: {($ VSub_DollarName '$cur') (Lit_Other '*')} ) ) (command.ControlFlow token: <ControlFlow_Continue continue> ) ] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:first_part spids:[426]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name fmri_part> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {($ VSub_DollarName '$cur_prefix')} ) spids: [427 431] ) } spids: [426] ) ] spids: [424] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:first_part spids:[434]) op: Equal rhs: {($ VSub_DollarName '$cur_prefix') (word_part.BracedVarSub token: <VSub_Name first_part> suffix_op: (suffix_op.StringUnary op_id: VOp1_DPercent arg_word: {(Lit_Slash /) ('*')} ) spids: [436 441] ) } spids: [434] ) ] spids: [434] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ ($ VSub_DollarName '$first_part'))} right: {(DQ ($ VSub_DollarName '$fmri_part'))} ) ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:first_part spids:[460]) op: PlusEqual rhs: {(DQ (/))} spids: [460] ) ] spids: [460] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:fmri_list spids:[466]) op: PlusEqual rhs: {(DQ (' ') ($ VSub_DollarName '$first_part'))} spids: [466] ) ] spids: [466] ) ] spids: [403 473] ) spids: [399 401] ) ] spids: [212 476] ) spids: [193 210] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[480]) op: Equal rhs: {(word_part.ArrayLiteralPart words:[{($ VSub_DollarName '$fmri_list')}])} spids: [480] ) ] spids: [480] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:i spids:[507]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name COMPREPLY> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id:Arith_Star) spids: [508 514] ) } spids: [507] ) ] spids: [505] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_gt left: {($ VSub_DollarName '$i')} right: {(0)} ) ) (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (word_part.BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { (word_part.ArithSubPart anode: (arith_expr.UnaryAssign op_id: Arith_DMinus child: (lhs_expr.LhsName name: i spids: [539] ) ) spids: [537 541] ) } ) ) spids: [534 543] ) ) } right: {(Lit_Other '*') (/)} ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.WhileUntil keyword: <KW_While while> cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_ne left: {($ VSub_DollarName '$i')} right: {(0)} ) ) terminator: <Op_Semi ';'> ) ] body: (command.DoGroup children: [ (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobNEqual left: { (DQ (word_part.BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ VSub_DollarName '$i')} ) ) spids: [580 585] ) ) } right: { (DQ (word_part.BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Minus left: (arith_expr.ArithVarRef token: <Lit_ArithVarLike i> ) right: (arith_expr.ArithWord w: {(Lit_Digits 1)} ) ) spids: [594 601] ) } ) ) spids: [591 603] ) ) } ) ) (command.ControlFlow token: <ControlFlow_Break break> ) ] ) (command.DParen child: (arith_expr.UnaryAssign op_id: Node_PostDMinus child: (lhs_expr.LhsName name:i spids:[614]) ) spids: [613 617] ) ] spids: [574 620] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_eq left: {($ VSub_DollarName '$i')} right: {(0)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_smf_complete_fmri)} { (DQ (word_part.BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) spids: [642 647] ) ) } {(DQ ($ VSub_DollarName '$prefix'))} ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [16777215 636] ) ] spids: [16777215 660] ) ] spids: [16777215 554] ) ] spids: [16777215 663] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:colonprefixes spids:[681]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: { (DQ (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_DPound arg_word: {('*:')} ) spids: [686 690] ) ) } ) spids: [682 692] ) } spids: [681] ) ] spids: [679] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:i spids:[697]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name COMPREPLY> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id:Arith_Star) spids: [698 704] ) } spids: [697] ) ] spids: [695] ) (command.WhileUntil keyword: <KW_While while> cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (word_part.ArithSubPart anode: (arith_expr.UnaryAssign op_id: Arith_DMinus child: (lhs_expr.LhsName name:i spids:[713]) ) spids: [711 715] ) } {(-ge)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] body: (command.DoGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsIndexedName name: COMPREPLY index: (arith_expr.ArithWord w:{($ VSub_DollarName '$i')}) spids: [727] ) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ VSub_DollarName '$i')}) ) suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {(DQ ($ VSub_DollarName '$colonprefixes'))} ) spids: [730 739] ) } spids: [727] ) ] spids: [727] ) ] spids: [724 742] ) ) ] spids: [69] ) spids: [64 68] ) (command.AndOr ops: [Op_DAmp] children: [ (command.FuncDef name: _svcadm body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[757]) op: Equal spids: [757] ) (assign_pair lhs: (lhs_expr.LhsName name:prev spids:[759]) op: Equal spids: [759] ) (assign_pair lhs: (lhs_expr.LhsName name:words spids:[761]) op: Equal spids: [761] ) (assign_pair lhs: (lhs_expr.LhsName name:cword spids:[763]) op: Equal spids: [763] ) ] spids: [755] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(_init_completion)} {(-n)} {(Lit_Other ':')}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:command_list spids:[781]) op: Equal rhs: {(DQ ('enable disable restart refresh clear mark milestone'))} spids: [781] ) ] spids: [779] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:command spids:[789]) op: Equal spids: [789] ) (assign_pair lhs: (lhs_expr.LhsName name:i spids:[791]) op: Equal spids: [791] ) ] spids: [787] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:i spids:[799]) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ VSub_DollarName '$cword')}) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:i spids:[811]) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: { (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithVarRef token: <Lit_ArithVarLike i> ) ) spids: [825 830] ) } right: { (word_part.ExtGlobPart op: <ExtGlob_At '@('> arms: [ {(enable)} {(disable)} {(restart)} {(refresh)} {(clear)} {(mark)} {(milestone)} ] spids: [834 848] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:command spids:[856]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithVarRef token: <Lit_ArithVarLike i> ) ) spids: [857 862] ) } spids: [856] ) ] spids: [856] ) ] spids: [16777215 853] ) ] spids: [16777215 865] ) ] spids: [818 868] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_z child: {(DQ ($ VSub_DollarName '$command'))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name cur)} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[908]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(DQ (-v))} {(--)} {(${ VSub_Name cur)} ) ] ) left_token: <Left_CommandSub '$('> spids: [911 925] ) } ] ) } spids: [908] ) ] spids: [908] ) ] spids: [16777215 905] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[933]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_DollarName '$command_list'))} {(--)} {(${ VSub_Name cur)} ) ] ) left_token: <Left_CommandSub '$('> spids: [936 950] ) } ] ) } spids: [933] ) ] spids: [933] ) ] spids: [930 955] ) ] spids: [16777215 885] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name cur)} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Case to_match: {(DQ ($ VSub_DollarName '$command'))} arms: [ (case_arm pat_list: [{(enable)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[993]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(DQ ('-r -s -t'))} {(--)} {(${ VSub_Name cur)} ) ] ) left_token: <Left_CommandSub '$('> spids: [996 1010] ) } ] ) } spids: [993] ) ] spids: [993] ) ] spids: [989 990 1013 16777215] ) (case_arm pat_list: [{(disable)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1020]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(DQ ('-s -t'))} {(--)} {(${ VSub_Name cur)} ) ] ) left_token: <Left_CommandSub '$('> spids: [1023 1037] ) } ] ) } spids: [1020] ) ] spids: [1020] ) ] spids: [1016 1017 1040 16777215] ) (case_arm pat_list: [{(mark)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1047]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(DQ ('-I -t'))} {(--)} {(${ VSub_Name cur)} ) ] ) left_token: <Left_CommandSub '$('> spids: [1050 1064] ) } ] ) } spids: [1047] ) ] spids: [1047] ) ] spids: [1043 1044 1067 16777215] ) (case_arm pat_list: [{(milestone)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1074]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(DQ (-d))} {(--)} {(${ VSub_Name cur)} ) ] ) left_token: <Left_CommandSub '$('> spids: [1077 1091] ) } ] ) } spids: [1074] ) ] spids: [1074] ) ] spids: [1070 1071 1094 16777215] ) ] spids: [980 986 1097] ) ] spids: [16777215 977] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$command'))} right: {(DQ (mark))} ) ) (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ ($ VSub_DollarName '$prev'))} right: { (word_part.ExtGlobPart op: <ExtGlob_At '@('> arms: [{(degraded)} {(maintenance)}] spids: [1129 1133] ) } ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1141]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(DQ ('degraded maintenance'))} {(--)} {(${ VSub_Name cur)} ) ] ) left_token: <Left_CommandSub '$('> spids: [1144 1158] ) } ] ) } spids: [1141] ) ] spids: [1141] ) ] spids: [16777215 1138] ) (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$command'))} right: {(DQ (milestone))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_smf_complete_fmri)} {(DQ (${ VSub_Name cur))} {(DQ ('svc:/milestone'))} ) ] spids: [1163 1180] ) ] else_action: [ (C {(_smf_complete_fmri)} {(DQ (${ VSub_Name cur))} {(DQ ('svc:'))}) ] spids: [1196 1212] ) ] spids: [1100 1215] ) ] spids: [958 1218] ) ] spids: [752] ) spids: [747 751] ) (C {(complete)} {(-F)} {(_svcadm)} {(svcadm)}) ] ) ] )