(command.CommandList
  children: [
    (command.FuncDef
      name: _koji_search
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:COMPREPLY spids:[11])
                  op: PlusEqual
                  rhs: 
                    {
                      (word_part.ArrayLiteralPart
                        words: [
                          {
                            (word_part.CommandSubPart
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {(SQ <'$( "$1" -q search $2 "$cur*" 2>/dev/null )'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [14 32]
                            )
                          }
                        ]
                      )
                    }
                  spids: [11]
                )
              ]
              spids: [11]
            )
          ]
          spids: [8]
        )
      spids: [4 7]
    )
    (command.FuncDef
      name: _koji_build
      body: 
        (command.BraceGroup
          children: [(C {(_koji_search)} {(DQ ($ VSub_Number '$1'))} {(build)})]
          spids: [43]
        )
      spids: [39 42]
    )
    (command.FuncDef
      name: _koji_package
      body: 
        (command.BraceGroup
          children: [(C {(_koji_search)} {(DQ ($ VSub_Number '$1'))} {(package)})]
          spids: [61]
        )
      spids: [57 60]
    )
    (command.FuncDef
      name: _koji_user
      body: 
        (command.BraceGroup
          children: [(C {(_koji_search)} {(DQ ($ VSub_Number '$1'))} {(user)})]
          spids: [79]
        )
      spids: [75 78]
    )
    (command.FuncDef
      name: _koji_tag
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:COMPREPLY spids:[100])
                  op: PlusEqual
                  rhs: 
                    {
                      (word_part.ArrayLiteralPart
                        words: [
                          {
                            (word_part.CommandSubPart
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} {(SQ <'$( "$1" -q list-tags 2>/dev/null )'>)} 
                                      {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [103 121]
                            )
                          }
                        ]
                      )
                    }
                  spids: [100]
                )
              ]
              spids: [100]
            )
          ]
          spids: [97]
        )
      spids: [93 96]
    )
    (command.FuncDef
      name: _koji_target
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:COMPREPLY spids:[135])
                  op: PlusEqual
                  rhs: 
                    {
                      (word_part.ArrayLiteralPart
                        words: [
                          {
                            (word_part.CommandSubPart
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {
                                        (SQ <'$( "$1" -q list-targets 2>/dev/null |\n'> 
                                          <'        awk "{ print \\$1 }" )'>
                                        )
                                      } {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [138 155]
                            )
                          }
                        ]
                      )
                    }
                  spids: [135]
                )
              ]
              spids: [135]
            )
          ]
          spids: [132]
        )
      spids: [128 131]
    )
    (command.AndOr
      ops: [Op_DAmp]
      children: [
        (command.FuncDef
          name: _koji
          body: 
            (command.BraceGroup
              children: [
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cur spids:[171])
                      op: Equal
                      spids: [171]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:prev spids:[173])
                      op: Equal
                      spids: [173]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:words spids:[175])
                      op: Equal
                      spids: [175]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:cword spids:[177])
                      op: Equal
                      spids: [177]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:split spids:[179])
                      op: Equal
                      spids: [179]
                    )
                  ]
                  spids: [169]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                )
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:commandix spids:[194])
                      op: Equal
                      spids: [194]
                    )
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:command spids:[196])
                      op: Equal
                      spids: [196]
                    )
                  ]
                  spids: [192]
                )
                (command.ForExpr
                  init: 
                    (arith_expr.BinaryAssign
                      op_id: Arith_Equal
                      left: (lhs_expr.LhsName name:commandix spids:[203])
                      right: (arith_expr.ArithWord w:{(Lit_Digits 1)})
                    )
                  cond: 
                    (arith_expr.ArithBinary
                      op_id: Arith_Less
                      left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike commandix>)
                      right: (arith_expr.ArithVarRef token:<Lit_ArithVarLike cword>)
                    )
                  update: 
                    (arith_expr.UnaryAssign
                      op_id: Node_PostDPlus
                      child: (lhs_expr.LhsName name:commandix spids:[215])
                    )
                  body: 
                    (command.DoGroup
                      children: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      expr: 
                                        (bool_expr.BoolBinary
                                          op_id: BoolBinary_GlobNEqual
                                          left: 
                                            {
                                              (word_part.BracedVarSub
                                                token: <VSub_Name words>
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: 
                                                      (arith_expr.ArithVarRef
                                                        token: <Lit_ArithVarLike commandix>
                                                      )
                                                  )
                                                spids: [229 234]
                                              )
                                            }
                                          right: {(-) (Lit_Other '*')}
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (command.Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (lhs_expr.LhsName name:command spids:[247])
                                      op: Equal
                                      rhs: 
                                        {
                                          (word_part.BracedVarSub
                                            token: <VSub_Name words>
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: 
                                                  (arith_expr.ArithVarRef
                                                    token: <Lit_ArithVarLike commandix>
                                                  )
                                              )
                                            spids: [248 253]
                                          )
                                        }
                                      spids: [247]
                                    )
                                  ]
                                  spids: [247]
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [16777215 244]
                            )
                          ]
                          spids: [16777215 259]
                        )
                      ]
                      spids: [222 262]
                    )
                )
                (command.Case
                  to_match: {($ VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-h)} {(--help)} {(--help-commands)}]
                      action: [(command.ControlFlow token:<ControlFlow_Return return>)]
                      spids: [273 278 284 16777215]
                    )
                    (case_arm
                      pat_list: [{(-c)} {(--config)} {(--keytab)} {(-o)}]
                      action: [(C {(_filedir)}) (command.ControlFlow token:<ControlFlow_Return return>)]
                      spids: [287 294 303 16777215]
                    )
                    (case_arm
                      pat_list: [{(--runas)} {(--user)} {(--editor)} {(--by)}]
                      action: [
                        (C {(_koji_user)} {(DQ ($ VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                        )
                      ]
                      spids: [306 313 326 16777215]
                    )
                    (case_arm
                      pat_list: [{(--authtype)}]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[333])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.ArrayLiteralPart
                                    words: [
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {(SQ <'noauth ssl password kerberos'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [336 354]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [333]
                            )
                          ]
                          spids: [333]
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                        )
                      ]
                      spids: [329 330 362 16777215]
                    )
                    (case_arm
                      pat_list: [{(--topdir)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                        )
                      ]
                      spids: [365 366 377 16777215]
                    )
                    (case_arm
                      pat_list: [{(--type)}]
                      action: [
                        (command.Case
                          to_match: {($ VSub_DollarName '$command')}
                          arms: [
                            (case_arm
                              pat_list: [{(latest-pkg)} {(list-tagged)}]
                              action: [
                                (command.Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (lhs_expr.LhsName name:COMPREPLY spids:[397])
                                      op: Equal
                                      rhs: 
                                        {
                                          (word_part.ArrayLiteralPart
                                            words: [
                                              {
                                                (word_part.CommandSubPart
                                                  command_list: 
                                                    (command.CommandList
                                                      children: [
                                                        (C {(compgen)} {(-W)} {(SQ <maven>)} {(--)} 
                                                          {(DQ ($ VSub_DollarName '$cur'))}
                                                        )
                                                      ]
                                                    )
                                                  left_token: <Left_CommandSub '$('>
                                                  spids: [400 416]
                                                )
                                              }
                                            ]
                                          )
                                        }
                                      spids: [397]
                                    )
                                  ]
                                  spids: [397]
                                )
                              ]
                              spids: [391 394 421 16777215]
                            )
                          ]
                          spids: [384 388 424]
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                        )
                      ]
                      spids: [380 381 430 16777215]
                    )
                    (case_arm
                      pat_list: [{(--name)}]
                      action: [
                        (command.Case
                          to_match: {($ VSub_DollarName '$command')}
                          arms: [
                            (case_arm
                              pat_list: [{(list-targets)}]
                              action: [(C {(_koji_target)} {(DQ ($ VSub_Number '$1'))})]
                              spids: [444 445 455 16777215]
                            )
                          ]
                          spids: [437 441 458]
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                        )
                      ]
                      spids: [433 434 464 16777215]
                    )
                    (case_arm
                      pat_list: [{(--owner)}]
                      action: [
                        (C {(_koji_user)} {(DQ ($ VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                        )
                      ]
                      spids: [467 468 481 16777215]
                    )
                    (case_arm
                      pat_list: [{(--tag)} {(--latestfrom)}]
                      action: [
                        (C {(_koji_tag)} {(DQ ($ VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                        )
                      ]
                      spids: [484 487 500 16777215]
                    )
                    (case_arm
                      pat_list: [{(--package)}]
                      action: [
                        (C {(_koji_package)} {(DQ ($ VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                        )
                      ]
                      spids: [503 504 517 16777215]
                    )
                    (case_arm
                      pat_list: [{(--build)}]
                      action: [
                        (C {(_koji_build)} {(DQ ($ VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                        )
                      ]
                      spids: [520 521 534 16777215]
                    )
                    (case_arm
                      pat_list: [{(--build-target)}]
                      action: [
                        (C {(_koji_target)} {(DQ ($ VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                        )
                      ]
                      spids: [537 538 551 16777215]
                    )
                  ]
                  spids: [266 270 554]
                )
                (command.AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {($ VSub_DollarName '$split')})
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: (bool_expr.WordTest w:{($ 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_DollarName '$cur')}
                                          right: {(-) (Lit_Other '*')}
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (command.Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (lhs_expr.LhsName name:COMPREPLY spids:[595])
                                      op: Equal
                                      rhs: 
                                        {
                                          (word_part.ArrayLiteralPart
                                            words: [
                                              {
                                                (word_part.CommandSubPart
                                                  command_list: 
                                                    (command.CommandList
                                                      children: [
                                                        (C {(compgen)} {(-W)} 
                                                          {
                                                            (SQ 
                                                              <
'$( _parse_help "$1" "$command --help" )'
                                                              >
                                                            )
                                                          } {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                        )
                                                      ]
                                                    )
                                                  left_token: <Left_CommandSub '$('>
                                                  spids: [598 616]
                                                )
                                              }
                                            ]
                                          )
                                        }
                                      spids: [595]
                                    )
                                  ]
                                  spids: [595]
                                )
                                (command.AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (command.DBracket
                                      expr: 
                                        (bool_expr.BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: {($ VSub_DollarName '$COMPREPLY')}
                                          right: {(Lit_Other '*') (BoolBinary_GlobEqual '=')}
                                        )
                                    )
                                    (C {(compopt)} {(-o)} {(nospace)})
                                  ]
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                )
                              ]
                              spids: [16777215 592]
                            )
                          ]
                          spids: [16777215 644]
                        )
                        (command.Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:i spids:[654])
                              op: Equal
                              spids: [654]
                            )
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:nth spids:[656])
                              op: Equal
                              rhs: {(1)}
                              spids: [656]
                            )
                          ]
                          spids: [652]
                        )
                        (command.ForExpr
                          init: 
                            (arith_expr.BinaryAssign
                              op_id: Arith_Equal
                              left: (lhs_expr.LhsName name:i spids:[664])
                              right: 
                                (arith_expr.ArithBinary
                                  op_id: Arith_Plus
                                  left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike commandix>)
                                  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.ArithVarRef token:<Lit_ArithVarLike cword>)
                            )
                          update: 
                            (arith_expr.UnaryAssign
                              op_id: Node_PostDPlus
                              child: (lhs_expr.LhsName name:i spids:[678])
                            )
                          body: 
                            (command.DoGroup
                              children: [
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (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: [690 695]
                                              )
                                            }
                                          right: {(-) (Lit_Other '*')}
                                        )
                                    )
                                    (command.DParen
                                      child: 
                                        (arith_expr.UnaryAssign
                                          op_id: Node_PostDPlus
                                          child: (lhs_expr.LhsName name:nth spids:[708])
                                        )
                                      spids: [706 712]
                                    )
                                  ]
                                )
                              ]
                              spids: [685 715]
                            )
                        )
                        (command.Case
                          to_match: {($ VSub_DollarName '$command')}
                          arms: [
                            (case_arm
                              pat_list: [{(build)} {(maven-build)} {(win-build)}]
                              action: [
                                (command.Case
                                  to_match: {($ VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(1)}]
                                      action: [(C {(_koji_target)} {(DQ ($ VSub_Number '$1'))})]
                                      spids: [741 742 752 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(2)}]
                                      action: [(C {(_filedir)} {(src.rpm)})]
                                      spids: [755 756 764 16777215]
                                    )
                                  ]
                                  spids: [734 738 767]
                                )
                              ]
                              spids: [726 731 770 16777215]
                            )
                            (case_arm
                              pat_list: [{(cancel)}]
                              action: [(C {(_koji_build)} {(DQ ($ VSub_Number '$1'))})]
                              spids: [773 774 784 16777215]
                            )
                            (case_arm
                              pat_list: [{(chain-build)}]
                              action: [
                                (command.Case
                                  to_match: {($ VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(1)}]
                                      action: [(C {(_koji_target)} {(DQ ($ VSub_Number '$1'))})]
                                      spids: [798 799 809 16777215]
                                    )
                                  ]
                                  spids: [791 795 812]
                                )
                              ]
                              spids: [787 788 815 16777215]
                            )
                            (case_arm
                              pat_list: [{(download-build)}]
                              action: [
                                (command.Case
                                  to_match: {($ VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(1)}]
                                      action: [(C {(_koji_build)} {(DQ ($ VSub_Number '$1'))})]
                                      spids: [829 830 840 16777215]
                                    )
                                  ]
                                  spids: [822 826 843]
                                )
                              ]
                              spids: [818 819 846 16777215]
                            )
                            (case_arm
                              pat_list: [{(import-comps)}]
                              action: [
                                (command.Case
                                  to_match: {($ VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(1)}]
                                      action: [(C {(_filedir)} {(xml)})]
                                      spids: [860 861 869 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(2)}]
                                      action: [(C {(_koji_tag)} {(DQ ($ VSub_Number '$1'))})]
                                      spids: [872 873 883 16777215]
                                    )
                                  ]
                                  spids: [853 857 886]
                                )
                              ]
                              spids: [849 850 889 16777215]
                            )
                            (case_arm
                              pat_list: [{(latest-by-tag)}]
                              action: [(C {(_koji_package)} {(DQ ($ VSub_Number '$1'))})]
                              spids: [892 893 903 16777215]
                            )
                            (case_arm
                              pat_list: [
                                {(latest-pkg)}
                                {(list-groups)}
                                {(list-tag-inheritance)}
                                {(show-groups)}
                              ]
                              action: [
                                (command.Case
                                  to_match: {($ VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(1)}]
                                      action: [(C {(_koji_tag)} {(DQ ($ VSub_Number '$1'))})]
                                      spids: [923 924 934 16777215]
                                    )
                                  ]
                                  spids: [916 920 937]
                                )
                              ]
                              spids: [906 913 940 16777215]
                            )
                            (case_arm
                              pat_list: [{(list-tagged)}]
                              action: [
                                (command.Case
                                  to_match: {($ VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(1)}]
                                      action: [(C {(_koji_tag)} {(DQ ($ VSub_Number '$1'))})]
                                      spids: [954 955 965 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(2)}]
                                      action: [(C {(_koji_package)} {(DQ ($ VSub_Number '$1'))})]
                                      spids: [968 969 979 16777215]
                                    )
                                  ]
                                  spids: [947 951 982]
                                )
                              ]
                              spids: [943 944 985 16777215]
                            )
                            (case_arm
                              pat_list: [{(list-untagged)}]
                              action: [
                                (command.Case
                                  to_match: {($ VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(1)}]
                                      action: [(C {(_koji_package)} {(DQ ($ VSub_Number '$1'))})]
                                      spids: [999 1000 1010 16777215]
                                    )
                                  ]
                                  spids: [992 996 1013]
                                )
                              ]
                              spids: [988 989 1016 16777215]
                            )
                            (case_arm
                              pat_list: [{(move-pkg)}]
                              action: [
                                (command.Case
                                  to_match: {($ VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(1)} {(2)}]
                                      action: [(C {(_koji_tag)} {(DQ ($ VSub_Number '$1'))})]
                                      spids: [1030 1033 1043 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [(C {(_koji_package)} {(DQ ($ VSub_Number '$1'))})]
                                      spids: [1046 1047 1057 16777215]
                                    )
                                  ]
                                  spids: [1023 1027 1060]
                                )
                              ]
                              spids: [1019 1020 1063 16777215]
                            )
                            (case_arm
                              pat_list: [{(search)}]
                              action: [
                                (command.Case
                                  to_match: {($ VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(1)}]
                                      action: [
                                        (command.Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1081])
                                              op: Equal
                                              rhs: 
                                                {
                                                  (word_part.ArrayLiteralPart
                                                    words: [
                                                      {
                                                        (word_part.CommandSubPart
                                                          command_list: 
                                                            (command.CommandList
                                                              children: [
                                                                (C {(compgen)} {(-W)} 
                                                                  {
                                                                    (SQ 
                                                                      <
'package build tag target\n'
                                                                      > <'                            user host rpm'>
                                                                    )
                                                                  } {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                                )
                                                              ]
                                                            )
                                                          left_token: <Left_CommandSub '$('>
                                                          spids: [1084 1101]
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [1081]
                                            )
                                          ]
                                          spids: [1081]
                                        )
                                      ]
                                      spids: [1077 1078 1106 16777215]
                                    )
                                  ]
                                  spids: [1070 1074 1109]
                                )
                              ]
                              spids: [1066 1067 1112 16777215]
                            )
                            (case_arm
                              pat_list: [{(tag-pkg)} {(untag-pkg)}]
                              action: [
                                (command.Case
                                  to_match: {($ VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(1)}]
                                      action: [(C {(_koji_tag)} {(DQ ($ VSub_Number '$1'))})]
                                      spids: [1128 1129 1139 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [(C {(_koji_package)} {(DQ ($ VSub_Number '$1'))})]
                                      spids: [1142 1143 1153 16777215]
                                    )
                                  ]
                                  spids: [1121 1125 1156]
                                )
                              ]
                              spids: [1115 1118 1159 16777215]
                            )
                            (case_arm
                              pat_list: [{(taginfo)}]
                              action: [(C {(_koji_tag)} {(DQ ($ VSub_Number '$1'))})]
                              spids: [1162 1163 1173 16777215]
                            )
                            (case_arm
                              pat_list: [{(wait-repo)}]
                              action: [
                                (command.Case
                                  to_match: {($ VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(1)}]
                                      action: [
                                        (command.ForExpr
                                          init: 
                                            (arith_expr.BinaryAssign
                                              op_id: Arith_Equal
                                              left: (lhs_expr.LhsName name:i spids:[1195])
                                              right: 
                                                (arith_expr.ArithBinary
                                                  op_id: Arith_Plus
                                                  left: 
                                                    (arith_expr.ArithVarRef
                                                      token: <Lit_ArithVarLike commandix>
                                                    )
                                                  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.ArithVarRef
                                                  token: <Lit_ArithVarLike cword>
                                                )
                                            )
                                          update: 
                                            (arith_expr.UnaryAssign
                                              op_id: Node_PostDPlus
                                              child: (lhs_expr.LhsName name:i spids:[1209])
                                            )
                                          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: [1223 1228]
                                                                      )
                                                                    }
                                                                  right: {(--target)}
                                                                )
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (C {(_koji_target)} {(DQ ($ VSub_Number '$1'))})
                                                        (command.ControlFlow
                                                          token: <ControlFlow_Return return>
                                                        )
                                                      ]
                                                      spids: [16777215 1237]
                                                    )
                                                  ]
                                                  spids: [16777215 1250]
                                                )
                                              ]
                                              spids: [1216 1253]
                                            )
                                        )
                                        (C {(_koji_tag)} {(DQ ($ VSub_Number '$1'))})
                                      ]
                                      spids: [1187 1188 1263 16777215]
                                    )
                                  ]
                                  spids: [1180 1184 1266]
                                )
                              ]
                              spids: [1176 1177 1269 16777215]
                            )
                          ]
                          spids: [719 723 1272]
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                        )
                      ]
                      spids: [16777215 575]
                    )
                  ]
                  spids: [16777215 1278]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_DollarName '$cur')}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1299])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.ArrayLiteralPart
                                    words: [
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" )'>)} 
                                                  {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1302 1318]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1299]
                            )
                          ]
                          spids: [1299]
                        )
                        (command.AndOr
                          ops: [Op_DAmp]
                          children: [
                            (command.DBracket
                              expr: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_DollarName '$COMPREPLY')}
                                  right: {(Lit_Other '*') (BoolBinary_GlobEqual '=')}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                        )
                      ]
                      spids: [16777215 1296]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.LogicalNot
                                  child: (bool_expr.WordTest w:{($ VSub_DollarName '$command')})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1357])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.ArrayLiteralPart
                                    words: [
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      <
'$( "$1" --help-commands 2>/dev/null | \\\n'
                                                      > <'            awk "/^(  +|\\t)/ { print \\$1 }" )'>
                                                    )
                                                  } {(--)} {(DQ ($ VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1360 1377]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1357]
                            )
                          ]
                          spids: [1357]
                        )
                      ]
                      spids: [1343 1354]
                    )
                  ]
                  spids: [16777215 1382]
                )
              ]
              spids: [166]
            )
          spids: [162 165]
        )
        (C {(complete)} {(-F)} {(_koji)} {(koji)} {(arm-koji)} {(ppc-koji)} {(s390-koji)} {(sparc-koji)})
      ]
    )
  ]
)