(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CTL)
          op: Equal
          rhs: {(/tmp/openssh.regress.ctl-sock.) ($ VSub_Dollar '$$')}
          spids: [7]
        )
      ]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:tid)
          op: Equal
          rhs: {(DQ ('connection multiplexing'))}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NC)
          op: Equal
          rhs: {($ VSub_Name '$OBJ') (/netcat)}
          spids: [18]
        )
      ]
      spids: [18]
    )
    (C {(trace)} {(DQ ('will use ProxyCommand ') ($ VSub_Name '$proxycmd'))})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(config_defined)} {(DISABLE_FD_PASSING)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(echo)} {(DQ ('skipped (not supported on this platform)'))}) (C {(exit)} {(0)})]
          spids: [-1 38]
        )
      ]
      spids: [-1 52]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:P) op:Equal rhs:{(3301)} spids:[55])]
      spids: [55]
    )
    (FuncDef
      name: wait_for_mux_master_ready
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: i
              iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [
                            {(${ VSub_Name SSH)}
                            {(-F)}
                            {($ VSub_Name '$OBJ') (/ssh_config)}
                            {(-S)}
                            {($ VSub_Name '$CTL')}
                            {(-Ocheck)}
                            {(otherhost)}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(/dev/null)}
                              spids: [108]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [111]
                            )
                          ]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (C {(sleep)} {($ VSub_Name '$i')})
                  ]
                  spids: [86 126]
                )
              spids: [74 84]
            )
            (C {(fatal)} {(DQ ('mux master never becomes ready'))})
          ]
          spids: [66]
        )
      spids: [62 65]
    )
    (C {(start_sshd)})
    (FuncDef
      name: start_mux_master
      body: 
        (BraceGroup
          children: [
            (C {(trace)} {(DQ ('start master, fork to background'))})
            (Sentence
              child: 
                (SimpleCommand
                  words: [
                    {(${ VSub_Name SSH)}
                    {(-Nn2)}
                    {(-MS) ($ VSub_Name '$CTL')}
                    {(-F)}
                    {($ VSub_Name '$OBJ') (/ssh_config)}
                    {(-oSendEnv) (Lit_Other '=') (DQ (_XXX_TEST))}
                    {(somehost)}
                    {(-E)}
                    {($ VSub_Name '$TEST_REGRESS_LOGFILE')}
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[183])]
                )
              terminator: <Op_Amp '&'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SSH_PID)
                  op: Equal
                  rhs: {($ VSub_Bang '$!')}
                  spids: [193]
                )
              ]
              spids: [193]
            )
            (C {(wait_for_mux_master_ready)})
          ]
          spids: [145]
        )
      spids: [141 144]
    )
    (C {(start_mux_master)})
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': envpass'))})
    (C {(trace)} {(DQ ('env passing over multiplexed connection'))})
    (SimpleCommand
      words: [
        {(${ VSub_Name SSH)}
        {(-F)}
        {($ VSub_Name '$OBJ') (/ssh_config)}
        {(-oSendEnv) (Lit_Other '=') (DQ (_XXX_TEST))}
        {(-S) ($ VSub_Name '$CTL')}
        {(otherhost)}
        {(sh)}
      ]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {('\ttest X"$_XXX_TEST" = X"blah"\n')}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [244]
        )
      ]
      more_env: [(env_pair name:_XXX_TEST val:{(blah)} spids:[219])]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(fail)} {(DQ ('environment not found'))})]
          spids: [-1 263]
        )
      ]
      spids: [-1 272]
    )
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': transfer'))})
    (C {(rm)} {(-f)} {(${ VSub_Name COPY)})
    (C {(trace)} {(DQ ('ssh transfer over multiplexed connection and check result'))})
    (SimpleCommand
      words: [
        {(${ VSub_Name SSH)}
        {(-F)}
        {($ VSub_Name '$OBJ') (/ssh_config)}
        {(-S) ($ VSub_Name '$CTL')}
        {(otherhost)}
        {(cat)}
        {(${ VSub_Name DATA)}
      ]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(${ VSub_Name COPY)} spids:[317])]
    )
    (AndOr
      children: [
        (C {(test)} {(-f)} {(${ VSub_Name COPY)})
        (C {(fail)} {(DQ ('ssh -Sctl: failed copy ') (${ VSub_Name DATA))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)})
        (C {(fail)} {(DQ ('ssh -Sctl: corrupted copy of ') (${ VSub_Name DATA))})
      ]
      op_id: Op_DPipe
    )
    (C {(rm)} {(-f)} {(${ VSub_Name COPY)})
    (C {(trace)} {(DQ ('ssh transfer over multiplexed connection and check result'))})
    (SimpleCommand
      words: [
        {(${ VSub_Name SSH)}
        {(-F)}
        {($ VSub_Name '$OBJ') (/ssh_config)}
        {(-S)}
        {($ VSub_Name '$CTL')}
        {(otherhost)}
        {(cat)}
        {(${ VSub_Name DATA)}
      ]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(${ VSub_Name COPY)} spids:[400])]
    )
    (AndOr
      children: [
        (C {(test)} {(-f)} {(${ VSub_Name COPY)})
        (C {(fail)} {(DQ ('ssh -S ctl: failed copy ') (${ VSub_Name DATA))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)})
        (C {(fail)} {(DQ ('ssh -S ctl: corrupted copy of ') (${ VSub_Name DATA))})
      ]
      op_id: Op_DPipe
    )
    (C {(rm)} {(-f)} {(${ VSub_Name COPY)})
    (C {(trace)} {(DQ ('sftp transfer over multiplexed connection and check result'))})
    (Pipeline
      children: [
        (C {(echo)} {(DQ ('get ') (${ VSub_Name DATA) (' ') (${ VSub_Name COPY))})
        (SimpleCommand
          words: [
            {(${ VSub_Name SFTP)}
            {(-S)}
            {(${ VSub_Name SSH)}
            {(-F)}
            {($ VSub_Name '$OBJ') (/ssh_config)}
            {(-oControlPath) (Lit_Other '=') ($ VSub_Name '$CTL')}
            {(otherhost)}
          ]
          redirects: [
            (Redir
              op_id: Redir_DGreat
              fd: -1
              arg_word: {($ VSub_Name '$TEST_REGRESS_LOGFILE')}
              spids: [500]
            )
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[503])
          ]
        )
      ]
      negated: False
    )
    (AndOr
      children: [
        (C {(test)} {(-f)} {(${ VSub_Name COPY)})
        (C {(fail)} {(DQ ('sftp: failed copy ') (${ VSub_Name DATA))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)})
        (C {(fail)} {(DQ ('sftp: corrupted copy of ') (${ VSub_Name DATA))})
      ]
      op_id: Op_DPipe
    )
    (C {(rm)} {(-f)} {(${ VSub_Name COPY)})
    (C {(trace)} {(DQ ('scp transfer over multiplexed connection and check result'))})
    (SimpleCommand
      words: [
        {(${ VSub_Name SCP)}
        {(-S)}
        {(${ VSub_Name SSH)}
        {(-F)}
        {($ VSub_Name '$OBJ') (/ssh_config)}
        {(-oControlPath) (Lit_Other '=') ($ VSub_Name '$CTL')}
        {(otherhost) (Lit_Other ':') (${ VSub_Name DATA)}
        {(${ VSub_Name COPY)}
      ]
      redirects: [
        (Redir
          op_id: Redir_DGreat
          fd: -1
          arg_word: {($ VSub_Name '$TEST_REGRESS_LOGFILE')}
          spids: [591]
        )
        (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[594])
      ]
    )
    (AndOr
      children: [
        (C {(test)} {(-f)} {(${ VSub_Name COPY)})
        (C {(fail)} {(DQ ('scp: failed copy ') (${ VSub_Name DATA))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)})
        (C {(fail)} {(DQ ('scp: corrupted copy of ') (${ VSub_Name DATA))})
      ]
      op_id: Op_DPipe
    )
    (C {(rm)} {(-f)} {(${ VSub_Name COPY)})
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': forward'))})
    (C {(trace)} {(DQ ('forward over TCP/IP and check result'))})
    (Sentence
      child: 
        (SimpleCommand
          words: [
            {($ VSub_Name '$NC')}
            {(-N)}
            {(-l)}
            {(127.0.0.1)}
            {
              (ArithSubPart
                anode: 
                  (ArithBinary
                    op_id: Arith_Plus
                    left: (ArithWord w:{(${ VSub_Name PORT)})
                    right: (ArithWord w:{(Lit_Digits 1)})
                  )
                spids: [669 678]
              )
            }
          ]
          redirects: [
            (Redir op_id:Redir_Less fd:-1 arg_word:{(${ VSub_Name DATA)} spids:[680])
            (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[686])
          ]
        )
      terminator: <Op_Amp '&'>
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:netcat_pid)
          op: Equal
          rhs: {($ VSub_Bang '$!')}
          spids: [692]
        )
      ]
      spids: [692]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name SSH)}
        {(-F)}
        {($ VSub_Name '$OBJ') (/ssh_config)}
        {(-S)}
        {($ VSub_Name '$CTL')}
        {(-Oforward)}
        {(-L127.0.0.1) (Lit_Other ':') 
          (ArithSubPart
            anode: 
              (ArithBinary
                op_id: Arith_Plus
                left: (ArithWord w:{(${ VSub_Name PORT)})
                right: (ArithWord w:{(Lit_Digits 2)})
              )
            spids: [712 721]
          ) (Lit_Other ':') (127.0.0.1) (Lit_Other ':') 
          (ArithSubPart
            anode: 
              (ArithBinary
                op_id: Arith_Plus
                left: (ArithWord w:{(${ VSub_Name PORT)})
                right: (ArithWord w:{(Lit_Digits 1)})
              )
            spids: [725 734]
          )
        }
        {(otherhost)}
      ]
      redirects: [
        (Redir
          op_id: Redir_DGreat
          fd: -1
          arg_word: {($ VSub_Name '$TEST_SSH_LOGFILE')}
          spids: [738]
        )
        (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[741])
      ]
    )
    (SimpleCommand
      words: [
        {($ VSub_Name '$NC')}
        {(127.0.0.1)}
        {
          (ArithSubPart
            anode: 
              (ArithBinary
                op_id: Arith_Plus
                left: (ArithWord w:{(${ VSub_Name PORT)})
                right: (ArithWord w:{(Lit_Digits 2)})
              )
            spids: [748 757]
          )
        }
      ]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(/dev/null)} spids:[759])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(${ VSub_Name COPY)} spids:[763])
      ]
    )
    (AndOr
      children: [
        (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)})
        (C {(fail)} {(DQ ('ssh: corrupted copy of ') (${ VSub_Name DATA))})
      ]
      op_id: Op_DPipe
    )
    (SimpleCommand
      words: [{(kill)} {($ VSub_Name '$netcat_pid')}]
      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[794])]
    )
    (C {(rm)} {(-f)} {(${ VSub_Name COPY)} 
      {($ VSub_Name '$OBJ') (/unix-) (Lit_Other '[') (123) (Lit_Other ']') (.fwd)}
    )
    (C {(trace)} {(DQ ('forward over UNIX and check result'))})
    (Sentence
      child: 
        (SimpleCommand
          words: [{($ VSub_Name '$NC')} {(-N)} {(-Ul)} {($ VSub_Name '$OBJ') (/unix-1.fwd)}]
          redirects: [
            (Redir op_id:Redir_Less fd:-1 arg_word:{(${ VSub_Name DATA)} spids:[828])
            (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[834])
          ]
        )
      terminator: <Op_Amp '&'>
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:netcat_pid)
          op: Equal
          rhs: {($ VSub_Bang '$!')}
          spids: [840]
        )
      ]
      spids: [840]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name SSH)}
        {(-F)}
        {($ VSub_Name '$OBJ') (/ssh_config)}
        {(-S)}
        {($ VSub_Name '$CTL')}
        {(-Oforward)}
        {(-L) ($ VSub_Name '$OBJ') (/unix-2.fwd) (Lit_Other ':') ($ VSub_Name '$OBJ') (/unix-1.fwd)}
        {(otherhost)}
      ]
      redirects: [
        (Redir
          op_id: Redir_DGreat
          fd: -1
          arg_word: {($ VSub_Name '$TEST_SSH_LOGFILE')}
          spids: [867]
        )
        (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[870])
      ]
    )
    (SimpleCommand
      words: [
        {(${ VSub_Name SSH)}
        {(-F)}
        {($ VSub_Name '$OBJ') (/ssh_config)}
        {(-S)}
        {($ VSub_Name '$CTL')}
        {(-Oforward)}
        {(-R) ($ VSub_Name '$OBJ') (/unix-3.fwd) (Lit_Other ':') ($ VSub_Name '$OBJ') (/unix-2.fwd)}
        {(otherhost)}
      ]
      redirects: [
        (Redir
          op_id: Redir_DGreat
          fd: -1
          arg_word: {($ VSub_Name '$TEST_SSH_LOGFILE')}
          spids: [897]
        )
        (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[900])
      ]
    )
    (SimpleCommand
      words: [{($ VSub_Name '$NC')} {(-U)} {($ VSub_Name '$OBJ') (/unix-3.fwd)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(/dev/null)} spids:[910])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(${ VSub_Name COPY)} spids:[914])
        (Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[920])
      ]
    )
    (AndOr
      children: [
        (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)})
        (C {(fail)} {(DQ ('ssh: corrupted copy of ') (${ VSub_Name DATA))})
      ]
      op_id: Op_DPipe
    )
    (SimpleCommand
      words: [{(kill)} {($ VSub_Name '$netcat_pid')}]
      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[948])]
    )
    (C {(rm)} {(-f)} {(${ VSub_Name COPY)} 
      {($ VSub_Name '$OBJ') (/unix-) (Lit_Other '[') (123) (Lit_Other ']') (.fwd)}
    )
    (ForEach
      iter_name: s
      iter_words: [{(0)} {(1)} {(4)} {(5)} {(44)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(trace)} {(DQ ('exit status ') ($ VSub_Name '$s') (' over multiplexed connection'))})
            (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': status ') ($ VSub_Name '$s'))})
            (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-S)} 
              {($ VSub_Name '$CTL')} {(otherhost)} {(exit)} {($ VSub_Name '$s')}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:r)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [1026]
                )
              ]
              spids: [1026]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-ne)} {($ VSub_Name '$s')} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(fail)} 
                      {
                        (DQ ('exit code mismatch for protocol ') ($ VSub_Name '$p') (': ') 
                          ($ VSub_Name '$r') (' != ') ($ VSub_Name '$s')
                        )
                      }
                    )
                  ]
                  spids: [-1 1043]
                )
              ]
              spids: [-1 1058]
            )
            (C {(trace)} 
              {
                (DQ ('exit status ') ($ VSub_Name '$s') 
                  (' with early close over multiplexed connection')
                )
              }
            )
            (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-S)} 
              {($ VSub_Name '$CTL')} {(-n)} {(otherhost)} {(exec)} {(sh)} {(-c)} 
              {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                (DQ ('sleep 2; exec > /dev/null 2>&1; sleep 3; exit ') ($ VSub_Name '$s')) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">)
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:r)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [1108]
                )
              ]
              spids: [1108]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-ne)} {($ VSub_Name '$s')} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(fail)} 
                      {
                        (DQ ('exit code (with sleep) mismatch for protocol ') ($ VSub_Name '$p') (': ') 
                          ($ VSub_Name '$r') (' != ') ($ VSub_Name '$s')
                        )
                      }
                    )
                  ]
                  spids: [-1 1125]
                )
              ]
              spids: [-1 1140]
            )
          ]
          spids: [984 1142]
        )
      spids: [972 982]
    )
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': cmd check'))})
    (AndOr
      children: [
        (SimpleCommand
          words: [
            {(${ VSub_Name SSH)}
            {(-F)}
            {($ VSub_Name '$OBJ') (/ssh_config)}
            {(-S)}
            {($ VSub_Name '$CTL')}
            {(-Ocheck)}
            {(otherhost)}
          ]
          redirects: [
            (Redir
              op_id: Redir_DGreat
              fd: -1
              arg_word: {($ VSub_Name '$TEST_REGRESS_LOGFILE')}
              spids: [1170]
            )
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1173])
          ]
        )
        (C {(fail)} {(DQ ('check command failed'))})
      ]
      op_id: Op_DPipe
    )
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': cmd forward local (TCP)'))})
    (AndOr
      children: [
        (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-S)} {($ VSub_Name '$CTL')} 
          {(-Oforward)} {(-L)} {($ VSub_Name '$P') (Lit_Other ':') (localhost) (Lit_Other ':') ($ VSub_Name '$PORT')} 
          {(otherhost)}
        )
        (C {(fail)} {(DQ ('request local forward failed'))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-p) ($ VSub_Name '$P')} 
          {(otherhost)} {(true)}
        )
        (C {(fail)} {(DQ ('connect to local forward port failed'))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-S)} {($ VSub_Name '$CTL')} 
          {(-Ocancel)} {(-L)} {($ VSub_Name '$P') (Lit_Other ':') (localhost) (Lit_Other ':') ($ VSub_Name '$PORT')} 
          {(otherhost)}
        )
        (C {(fail)} {(DQ ('cancel local forward failed'))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-p) ($ VSub_Name '$P')} 
          {(otherhost)} {(true)}
        )
        (C {(fail)} {(DQ ('local forward port still listening'))})
      ]
      op_id: Op_DAmp
    )
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': cmd forward remote (TCP)'))})
    (AndOr
      children: [
        (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-S)} {($ VSub_Name '$CTL')} 
          {(-Oforward)} {(-R)} {($ VSub_Name '$P') (Lit_Other ':') (localhost) (Lit_Other ':') ($ VSub_Name '$PORT')} 
          {(otherhost)}
        )
        (C {(fail)} {(DQ ('request remote forward failed'))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-p) ($ VSub_Name '$P')} 
          {(otherhost)} {(true)}
        )
        (C {(fail)} {(DQ ('connect to remote forwarded port failed'))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-S)} {($ VSub_Name '$CTL')} 
          {(-Ocancel)} {(-R)} {($ VSub_Name '$P') (Lit_Other ':') (localhost) (Lit_Other ':') ($ VSub_Name '$PORT')} 
          {(otherhost)}
        )
        (C {(fail)} {(DQ ('cancel remote forward failed'))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-p) ($ VSub_Name '$P')} 
          {(otherhost)} {(true)}
        )
        (C {(fail)} {(DQ ('remote forward port still listening'))})
      ]
      op_id: Op_DAmp
    )
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': cmd forward local (UNIX)'))})
    (AndOr
      children: [
        (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-S)} {($ VSub_Name '$CTL')} 
          {(-Oforward)} {(-L)} 
          {($ VSub_Name '$OBJ') (/unix-1.fwd) (Lit_Other ':') (localhost) (Lit_Other ':') 
            ($ VSub_Name '$PORT')
          } {(otherhost)}
        )
        (C {(fail)} {(DQ ('request local forward failed'))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (Pipeline
          children: [
            (C {(echo)} {(DQ )})
            (C {($ VSub_Name '$NC')} {(-U)} {($ VSub_Name '$OBJ') (/unix-1.fwd)})
            (SimpleCommand
              words: [{(grep)} {(DQ ('Protocol mismatch'))}]
              redirects: [
                (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[1516])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1519])
              ]
            )
          ]
          negated: False
        )
        (C {(fail)} {(DQ ('connect to local forward path failed'))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-S)} {($ VSub_Name '$CTL')} 
          {(-Ocancel)} {(-L)} 
          {($ VSub_Name '$OBJ') (/unix-1.fwd) (Lit_Other ':') (localhost) (Lit_Other ':') 
            ($ VSub_Name '$PORT')
          } {(otherhost)}
        )
        (C {(fail)} {(DQ ('cancel local forward failed'))})
      ]
      op_id: Op_DPipe
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:N)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {(DQ (xyzzy))})
                          (SimpleCommand
                            words: [{($ VSub_Name '$NC')} {(-U)} {($ VSub_Name '$OBJ') (/unix-1.fwd)}]
                            redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1585])]
                          )
                          (C {(grep)} {(DQ (xyzzy))})
                          (C {(wc)} {(-l)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [1569 1601]
              )
            }
          spids: [1568]
        )
      ]
      spids: [1568]
    )
    (AndOr
      children: [
        (C {(test)} {(${ VSub_Name N)} {(-eq)} {(0)})
        (C {(fail)} {(DQ ('local forward path still listening'))})
      ]
      op_id: Op_DPipe
    )
    (C {(rm)} {(-f)} {($ VSub_Name '$OBJ') (/unix-1.fwd)})
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': cmd forward remote (UNIX)'))})
    (AndOr
      children: [
        (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-S)} {($ VSub_Name '$CTL')} 
          {(-Oforward)} {(-R)} 
          {($ VSub_Name '$OBJ') (/unix-1.fwd) (Lit_Other ':') (localhost) (Lit_Other ':') 
            ($ VSub_Name '$PORT')
          } {(otherhost)}
        )
        (C {(fail)} {(DQ ('request remote forward failed'))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (Pipeline
          children: [
            (C {(echo)} {(DQ )})
            (C {($ VSub_Name '$NC')} {(-U)} {($ VSub_Name '$OBJ') (/unix-1.fwd)})
            (SimpleCommand
              words: [{(grep)} {(DQ ('Protocol mismatch'))}]
              redirects: [
                (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[1695])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1698])
              ]
            )
          ]
          negated: False
        )
        (C {(fail)} {(DQ ('connect to remote forwarded path failed'))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(-S)} {($ VSub_Name '$CTL')} 
          {(-Ocancel)} {(-R)} 
          {($ VSub_Name '$OBJ') (/unix-1.fwd) (Lit_Other ':') (localhost) (Lit_Other ':') 
            ($ VSub_Name '$PORT')
          } {(otherhost)}
        )
        (C {(fail)} {(DQ ('cancel remote forward failed'))})
      ]
      op_id: Op_DPipe
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:N)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {(DQ (xyzzy))})
                          (SimpleCommand
                            words: [{($ VSub_Name '$NC')} {(-U)} {($ VSub_Name '$OBJ') (/unix-1.fwd)}]
                            redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1764])]
                          )
                          (C {(grep)} {(DQ (xyzzy))})
                          (C {(wc)} {(-l)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [1748 1780]
              )
            }
          spids: [1747]
        )
      ]
      spids: [1747]
    )
    (AndOr
      children: [
        (C {(test)} {(${ VSub_Name N)} {(-eq)} {(0)})
        (C {(fail)} {(DQ ('remote forward path still listening'))})
      ]
      op_id: Op_DPipe
    )
    (C {(rm)} {(-f)} {($ VSub_Name '$OBJ') (/unix-1.fwd)})
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': cmd exit'))})
    (AndOr
      children: [
        (SimpleCommand
          words: [
            {(${ VSub_Name SSH)}
            {(-F)}
            {($ VSub_Name '$OBJ') (/ssh_config)}
            {(-S)}
            {($ VSub_Name '$CTL')}
            {(-Oexit)}
            {(otherhost)}
          ]
          redirects: [
            (Redir
              op_id: Redir_DGreat
              fd: -1
              arg_word: {($ VSub_Name '$TEST_REGRESS_LOGFILE')}
              spids: [1833]
            )
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1836])
          ]
        )
        (C {(fail)} {(DQ ('send exit command failed'))})
      ]
      op_id: Op_DPipe
    )
    (C {(wait)} {($ VSub_Name '$SSH_PID')})
    (AndOr
      children: [
        (SimpleCommand
          words: [{(kill)} {(-0)} {($ VSub_Name '$SSH_PID')}]
          redirects: [
            (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[1864])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1867])
          ]
        )
        (C {(fail)} {(DQ ('exit command failed'))})
      ]
      op_id: Op_DAmp
    )
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': cmd stop'))})
    (C {(trace)} {(DQ ('restart master, fork to background'))})
    (C {(start_mux_master)})
    (Sentence
      child: 
        (SimpleCommand
          words: [
            {(${ VSub_Name SSH)}
            {(-F)}
            {($ VSub_Name '$OBJ') (/ssh_config)}
            {(-S)}
            {($ VSub_Name '$CTL')}
            {(otherhost)}
            {(DQ ('sleep 10; exit 0'))}
          ]
          redirects: [
            (Redir
              op_id: Redir_DGreat
              fd: -1
              arg_word: {($ VSub_Name '$TEST_REGRESS_LOGFILE')}
              spids: [1923]
            )
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1926])
          ]
        )
      terminator: <Op_Amp '&'>
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SLEEP_PID)
          op: Equal
          rhs: {($ VSub_Bang '$!')}
          spids: [1931]
        )
      ]
      spids: [1931]
    )
    (AndOr
      children: [
        (SimpleCommand
          words: [
            {(${ VSub_Name SSH)}
            {(-F)}
            {($ VSub_Name '$OBJ') (/ssh_config)}
            {(-S)}
            {($ VSub_Name '$CTL')}
            {(-Ostop)}
            {(otherhost)}
          ]
          redirects: [
            (Redir
              op_id: Redir_DGreat
              fd: -1
              arg_word: {($ VSub_Name '$TEST_REGRESS_LOGFILE')}
              spids: [1951]
            )
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1954])
          ]
        )
        (C {(fail)} {(DQ ('send stop command failed'))})
      ]
      op_id: Op_DPipe
    )
    (C {(wait)} {($ VSub_Name '$SLEEP_PID')})
    (AndOr
      children: [
        (C {(Lit_Other '[')} {($ VSub_Bang '$!')} {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')})
        (C {(fail)} {(DQ ('waiting for concurrent command'))})
      ]
      op_id: Op_DPipe
    )
    (C {(wait)} {($ VSub_Name '$SSH_PID')})
    (AndOr
      children: [
        (C {(Lit_Other '[')} {($ VSub_Bang '$!')} {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')})
        (C {(fail)} {(DQ ('waiting for master stop'))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (SimpleCommand
          words: [{(kill)} {(-0)} {($ VSub_Name '$SSH_PID')}]
          redirects: [
            (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[2023])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[2026])
          ]
        )
        (C {(fatal)} {(DQ ('stop command failed'))})
      ]
      op_id: Op_DAmp
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:SSH_PID) op:Equal rhs:{(DQ )} spids:[2037])]
      spids: [2037]
    )
  ]
)