(command.CommandList
  children: [
    (command.ShFunction
      name: _samba_resolve_order
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:COMPREPLY)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (sh_array_literal
                        left: (Token id:Id.Op_LParen val:'(' span_id:12)
                        words: [
                          {
                            (command_sub
                              left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:14)
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {
                                        (SQ 
                                          (Token
                                            id: Id.Lit_Chars
                                            val: 'lmhosts host wins bcast'
                                            span_id: 21
                                          )
                                        )
                                      } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                            )
                          }
                        ]
                      )
                    }
                  spids: [11]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _samba_domains
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Unary
                              op_id: Id.BoolUnary_n
                              child: 
                                {
                                  (braced_var_sub
                                    token: (Token id:Id.VSub_Name val:COMP_SAMBA_SCAN span_id:51)
                                    suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{})
                                  )
                                }
                            )
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:56)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:COMPREPLY)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (sh_array_literal
                                left: (Token id:Id.Op_LParen val:'(' span_id:62)
                                words: [
                                  {
                                    (command_sub
                                      left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:64)
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (C {(compgen)} {(-W)} 
                                              {
                                                (SQ 
                                                  (Token
                                                    id: Id.Lit_Chars
                                                    val: '$( smbtree -N -D )'
                                                    span_id: 71
                                                  )
                                                )
                                              } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                            )
                                          ]
                                        )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [61]
                        )
                      ]
                    )
                  ]
                  spids: [44 58]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _samba_hosts
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Unary
                              op_id: Id.BoolUnary_n
                              child: 
                                {
                                  (braced_var_sub
                                    token: (Token id:Id.VSub_Name val:COMP_SAMBA_SCAN span_id:104)
                                    suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{})
                                  )
                                }
                            )
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:109)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:COMPREPLY)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (sh_array_literal
                                left: (Token id:Id.Op_LParen val:'(' span_id:115)
                                words: [
                                  {
                                    (command_sub
                                      left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:117)
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (C {(compgen)} {(-W)} 
                                              {
                                                (DQ 
                                                  (command_sub
                                                    left_token: 
                                                      (Token
                                                        id: Id.Left_DollarParen
                                                        val: '$('
                                                        span_id: 124
                                                      )
                                                    command_list: 
                                                      (command.CommandList
                                                        children: [
                                                          (command.Pipeline
                                                            children: [
                                                              (C {(smbtree)} {(-N)} {(-S)})
                                                              (C {(sed)} {(-ne)} 
                                                                {
                                                                  (SQ 
                                                                    (Token
                                                                      id: Id.Lit_Chars
                                                                      val: 
's/^[[:space:]]*\\\\\\\\*\\([^[:space:]]*\\).*/\\1/p'
                                                                      span_id: 141
                                                                    )
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                  )
                                                )
                                              } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                            )
                                          ]
                                        )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [114]
                        )
                      ]
                    )
                  ]
                  spids: [97 111]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _samba_debuglevel
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:COMPREPLY)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (sh_array_literal
                        left: (Token id:Id.Op_LParen val:'(' span_id:173)
                        words: [
                          {
                            (command_sub
                              left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:175)
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {(SQ (Token id:Id.Lit_Chars val:'{0..10}' span_id:182))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                            )
                          }
                        ]
                      )
                    }
                  spids: [172]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _samba_sockopts
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:COMPREPLY)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (sh_array_literal
                        left: (Token id:Id.Op_LParen val:'(' span_id:206)
                        words: [
                          {
                            (command_sub
                              left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:208)
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {
                                        (SQ 
                                          (Token
                                            id: Id.Lit_Chars
                                            val: 'SO_KEEPALIVE SO_REUSEADDR SO_BROADCAST\n'
                                            span_id: 215
                                          ) 
                                          (Token
                                            id: Id.Lit_Chars
                                            val: 
'        TCP_NODELAY IPTOS_LOWDELAY IPTOS_THROUGHPUT SO_SNDBUF SO_RCVBUF\n'
                                            span_id: 216
                                          ) (Token id:Id.Lit_Chars val:'        SO_SNDLOWAT SO_RCVLOWAT' span_id:217)
                                        )
                                      } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                            )
                          }
                        ]
                      )
                    }
                  spids: [205]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _samba_signing
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:COMPREPLY)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (sh_array_literal
                        left: (Token id:Id.Op_LParen val:'(' span_id:241)
                        words: [
                          {
                            (command_sub
                              left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:243)
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {(SQ (Token id:Id.Lit_Chars val:'on off required' span_id:250))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                    )
                                  ]
                                )
                            )
                          }
                        ]
                      )
                    }
                  spids: [240]
                )
              ]
            )
          ]
        )
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _smbclient
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)} {(split)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:292)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-R)} {(--name-resolve)}]
                      action: [
                        (C {(_samba_resolve_order)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:312)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [303 306 317 -1]
                    )
                    (case_arm
                      pat_list: [{(-t)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:325)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 327
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'SJIS EUC JIS7 JIS8 JUNET HEX CAP'
                                                        span_id: 334
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [324]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:350)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [320 321 355 -1]
                    )
                    (case_arm
                      pat_list: [{(-s)} {(--configfile)} {(-A)} {(--authentication-file)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:371)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [358 365 376 -1]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--log-basename)} {(-D)} {(--directory)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:394)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [379 386 399 -1]
                    )
                    (case_arm
                      pat_list: [{(-O)} {(--socket-options)}]
                      action: [
                        (C {(_samba_sockopts)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:411)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [402 405 416 -1]
                    )
                    (case_arm
                      pat_list: [{(-T)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:424)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 426
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 'c x I X F b g q r N a'
                                                        span_id: 433
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [423]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:447)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [419 420 452 -1]
                    )
                    (case_arm
                      pat_list: [{(-W)} {(--workgroup)}]
                      action: [
                        (C {(_samba_domains)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:464)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [455 458 469 -1]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:481)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [472 475 486 -1]
                    )
                    (case_arm
                      pat_list: [{(-L)} {(--list)}]
                      action: [
                        (C {(_samba_hosts)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:498)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [489 492 503 -1]
                    )
                    (case_arm
                      pat_list: [{(-S)} {(--signing)}]
                      action: [
                        (C {(_samba_signing)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:515)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [506 509 520 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-p)}
                        {(--port)}
                        {(-M)}
                        {(--message)}
                        {(-I)}
                        {(--ip-address)}
                        {(-b)}
                        {(--send-buffer)}
                        {(-U)}
                        {(--user)}
                        {(-n)}
                        {(--netbiosname)}
                        {(-i)}
                        {(--scope)}
                        {(-T)}
                        {(--tar)}
                        {(-c)}
                        {(--command)}
                        {(-m)}
                        {(--max-protocol)}
                      ]
                      action: [
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:571)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [523 564 576 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-) 
                          (word_part.EscapedLiteral
                            token: (Token id:Id.Lit_EscapedChar val:'\\?' span_id:580)
                          )
                        }
                        {(--help)}
                        {(-V)}
                        {(--version)}
                      ]
                      action: [
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:594)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [579 587 599 -1]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {($ Id.VSub_DollarName '$split')})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:610)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:630)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:636)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 638
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_help "$1" )'
                                                        span_id: 645
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [635]
                            )
                          ]
                        )
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {($ Id.VSub_DollarName '$COMPREPLY')}
                                  right: {(Id.Lit_Other '*') (Id.BoolBinary_GlobEqual '=')}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                        )
                      ]
                      spids: [616 632]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_smbclient)} {(smbclient)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _smbget
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)} {(split)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:720)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-o)} {(--outputfile)} {(-f)} {(--rcfile)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:744)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [731 738 749 -1]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:761)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [752 755 766 -1]
                    )
                    (case_arm
                      pat_list: [{(-w)} {(--workgroup)}]
                      action: [
                        (C {(_samba_domains)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:778)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [769 772 783 -1]
                    )
                    (case_arm
                      pat_list: [{(-u)} {(--username)} {(-p)} {(--password)} {(-b)} {(--blocksize)}]
                      action: [
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:800)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [786 797 805 -1]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {($ Id.VSub_DollarName '$split')})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:816)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:836)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:842)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 844
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_help "$1" )'
                                                        span_id: 851
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [841]
                            )
                          ]
                        )
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {($ Id.VSub_DollarName '$COMPREPLY')}
                                  right: {(Id.Lit_Other '*') (Id.BoolBinary_GlobEqual '=')}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                        )
                      ]
                      spids: [822 838]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_smbget)} {(smbget)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _smbcacls
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)} {(split)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:926)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-s)} {(--configfile)} {(-A)} {(--authentication-file)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:950)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [937 944 955 -1]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--log-basename)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:969)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [958 961 974 -1]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:986)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [977 980 991 -1]
                    )
                    (case_arm
                      pat_list: [{(--signing)}]
                      action: [
                        (C {(_samba_signing)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1001)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [994 995 1006 -1]
                    )
                    (case_arm
                      pat_list: [{(-O)} {(--socket-options)}]
                      action: [
                        (C {(_samba_sockopts)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1018)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1009 1012 1023 -1]
                    )
                    (case_arm
                      pat_list: [{(-W)} {(--workgroup)}]
                      action: [
                        (C {(_samba_domains)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1035)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1026 1029 1040 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-) 
                          (word_part.EscapedLiteral
                            token: (Token id:Id.Lit_EscapedChar val:'\\?' span_id:1044)
                          )
                        }
                        {(--help)}
                        {(--usage)}
                        {(-D)}
                        {(--delete)}
                        {(-M)}
                        {(--modify)}
                        {(-a)}
                        {(--add)}
                        {(-S)}
                        {(--set)}
                        {(-C)}
                        {(--chown)}
                        {(-G)}
                        {(--chgrp)}
                        {(-n)}
                        {(--netbiosname)}
                        {(-i)}
                        {(--scope)}
                        {(-U)}
                        {(--user)}
                      ]
                      action: [
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1090)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1043 1087 1095 -1]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {($ Id.VSub_DollarName '$split')})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1106)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1126)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1132)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1134
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_help "$1" )'
                                                        span_id: 1141
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1131]
                            )
                          ]
                        )
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {($ Id.VSub_DollarName '$COMPREPLY')}
                                  right: {(Id.Lit_Other '*') (Id.BoolBinary_GlobEqual '=')}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                        )
                      ]
                      spids: [1112 1128]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_smbcacls)} {(smbcacls)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _smbcquotas
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)} {(split)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1216)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-s)} {(--configfile)} {(-A)} {(--authentication-file)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1240)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1227 1234 1245 -1]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--log-basename)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1259)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1248 1251 1264 -1]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1276)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1267 1270 1281 -1]
                    )
                    (case_arm
                      pat_list: [{(--signing)}]
                      action: [
                        (C {(_samba_signing)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1291)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1284 1285 1296 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-) 
                          (word_part.EscapedLiteral
                            token: (Token id:Id.Lit_EscapedChar val:'\\?' span_id:1300)
                          )
                        }
                        {(--help)}
                        {(--usage)}
                        {(-U)}
                        {(-u)}
                        {(--user)}
                        {(-S)}
                        {(--set)}
                      ]
                      action: [
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1318)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1299 1315 1323 -1]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {($ Id.VSub_DollarName '$split')})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1334)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1354)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1360)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1362
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_help "$1" )'
                                                        span_id: 1369
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1359]
                            )
                          ]
                        )
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {($ Id.VSub_DollarName '$COMPREPLY')}
                                  right: {(Id.Lit_Other '*') (Id.BoolBinary_GlobEqual '=')}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                        )
                      ]
                      spids: [1340 1356]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_smbcquotas)} {(smbcquotas)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _smbpasswd
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1440)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-r)}]
                      action: [
                        (C {(_samba_hosts)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1458)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1451 1452 1463 -1]
                    )
                    (case_arm
                      pat_list: [{(-R)}]
                      action: [
                        (C {(_samba_resolve_order)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1473)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1466 1467 1478 -1]
                    )
                    (case_arm
                      pat_list: [{(-c)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1488)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1481 1482 1493 -1]
                    )
                    (case_arm
                      pat_list: [{(-D)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1503)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1496 1497 1508 -1]
                    )
                    (case_arm
                      pat_list: [{(-U)} {(-h)} {(-w)}]
                      action: [
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1519)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1511 1516 1524 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1545)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1551)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1553
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_help "$1" -h )'
                                                        span_id: 1560
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1550]
                            )
                          ]
                        )
                      ]
                      spids: [1531 1547]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_smbpasswd)} {(smbpasswd)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _smbtar
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1611)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-r)} {(-t)}]
                      action: [
                        (C {(_filedir)} {(tar)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1633)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1622 1625 1638 -1]
                    )
                    (case_arm
                      pat_list: [{(-s)}]
                      action: [
                        (C {(_samba_hosts)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1648)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1641 1642 1653 -1]
                    )
                    (case_arm
                      pat_list: [{(-l)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1663)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1656 1657 1668 -1]
                    )
                    (case_arm
                      pat_list: [{(-N)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1678)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1671 1672 1683 -1]
                    )
                    (case_arm
                      pat_list: [{(-p)} {(-x)} {(-b)} {(-d)} {(-u)}]
                      action: [
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1698)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1686 1695 1703 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1724)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1730)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1732
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_help "$1" )'
                                                        span_id: 1739
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1729]
                            )
                          ]
                        )
                      ]
                      spids: [1710 1726]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_smbtar)} {(smbtar)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _smbtree
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(cur)} {(prev)} {(words)} {(cword)} {(split)})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1794)
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-s)} {(--configfile)} {(-A)} {(--authentication-file)}]
                      action: [
                        (C {(_filedir)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1818)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1805 1812 1823 -1]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--log-basename)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1837)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1826 1829 1842 -1]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1854)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1845 1848 1859 -1]
                    )
                    (case_arm
                      pat_list: [{(-S)} {(--signing)}]
                      action: [
                        (C {(_samba_signing)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1871)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1862 1865 1876 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-) 
                          (word_part.EscapedLiteral
                            token: (Token id:Id.Lit_EscapedChar val:'\\?' span_id:1880)
                          )
                        }
                        {(--help)}
                        {(--usage)}
                        {(-U)}
                        {(--user)}
                      ]
                      action: [
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1892)
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1879 1889 1897 -1]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {($ Id.VSub_DollarName '$split')})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1908)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                  right: {(-) (Id.Lit_Other '*')}
                                )
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1928)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: (Token id:Id.Op_LParen val:'(' span_id:1934)
                                    words: [
                                      {
                                        (command_sub
                                          left_token: 
                                            (Token
                                              id: Id.Left_DollarParen
                                              val: '$('
                                              span_id: 1936
                                            )
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: '$( _parse_help "$1" )'
                                                        span_id: 1943
                                                      )
                                                    )
                                                  } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                              ]
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1933]
                            )
                          ]
                        )
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {($ Id.VSub_DollarName '$COMPREPLY')}
                                  right: {(Id.Lit_Other '*') (Id.BoolBinary_GlobEqual '=')}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                        )
                      ]
                      spids: [1914 1930]
                    )
                  ]
                )
              ]
            )
        )
        (C {(complete)} {(-F)} {(_smbtree)} {(smbtree)})
      ]
    )
  ]
)