(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:tid)
          op: Equal
          rhs: {(DQ ('putty transfer data'))}
          spids: [7]
        )
      ]
      spids: [7]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} {(DQ (x) ($ VSub_Name '$REGRESS_INTEROP_PUTTY'))} 
                  {(KW_Bang '!') (Lit_Other '=')} {(DQ (xyes))}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(echo)} {(DQ ('putty interop tests not enabled'))}) (C {(exit)} {(0)})]
          spids: [-1 31]
        )
      ]
      spids: [-1 45]
    )
    (ForEach
      iter_name: p
      iter_words: [{(2)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (ForEach
              iter_name: c
              iter_words: [{(0)} {(1)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(verbose)} 
                      {
                        (DQ ($ VSub_Name '$tid') (': proto ') ($ VSub_Name '$p') (' compression ') 
                          ($ VSub_Name '$c')
                        )
                      }
                    )
                    (C {(rm)} {(-f)} {(${ VSub_Name COPY)})
                    (C {(cp)} {(${ VSub_Name OBJ) (/.putty/sessions/localhost_proxy)} 
                      {(${ VSub_Name OBJ) (/.putty/sessions/compression_) ($ VSub_Name '$c')}
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ('Compression=') ($ VSub_Name '$c'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(${ VSub_Name OBJ) (/.putty/sessions/kex_) ($ VSub_Name '$k')}
                          spids: [122]
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [
                        {(env)}
                        {(Lit_VarLike 'HOME=') ($ VSub_Name '$PWD')}
                        {(${ VSub_Name PLINK)}
                        {(-load)}
                        {(compression_) ($ VSub_Name '$c')}
                        {(-batch)}
                        {(-i)}
                        {(putty.rsa) ($ VSub_Name '$p')}
                        {(cat)}
                        {(${ VSub_Name DATA)}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(${ VSub_Name COPY)}
                          spids: [160]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(fail)} {(DQ ('ssh cat ') ($ VSub_Name '$DATA') (' failed'))})]
                          spids: [-1 180]
                        )
                      ]
                      spids: [-1 192]
                    )
                    (AndOr
                      children: [
                        (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)})
                        (C {(fail)} {(DQ ('corrupted copy'))})
                      ]
                      op_id: Op_DPipe
                    )
                    (ForEach
                      iter_name: s
                      iter_words: [{(10)} {(100)} {(1k)} {(32k)} {(64k)} {(128k)} {(256k)}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(trace)} 
                              {
                                (DQ ('proto ') ($ VSub_Name '$p') (' compression ') ($ VSub_Name '$c') 
                                  (' dd-size ') (${ VSub_Name s)
                                )
                              }
                            )
                            (C {(rm)} {(-f)} {(${ VSub_Name COPY)})
                            (Pipeline
                              children: [
                                (SimpleCommand
                                  words: [
                                    {(dd)}
                                    {(Lit_VarLike 'if=') ($ VSub_Name '$DATA')}
                                    {(Lit_VarLike 'obs=') (${ VSub_Name s)}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [273]
                                    )
                                  ]
                                )
                                (C {(env)} {(Lit_VarLike 'HOME=') ($ VSub_Name '$PWD')} 
                                  {(${ VSub_Name PLINK)} {(-load)} {(compression_) ($ VSub_Name '$c')} {(-batch)} {(-i)} {(putty.rsa) ($ VSub_Name '$p')} 
                                  {(DQ ('cat > ') (${ VSub_Name COPY))}
                                )
                              ]
                              negated: False
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} 
                                          {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(fail)} {(DQ ('ssh cat ') ($ VSub_Name '$DATA') (' failed'))})
                                  ]
                                  spids: [-1 327]
                                )
                              ]
                              spids: [-1 339]
                            )
                            (AndOr
                              children: [
                                (C {(cmp)} {($ VSub_Name '$DATA')} {(${ VSub_Name COPY)})
                                (C {(fail)} {(DQ ('corrupted copy'))})
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [237 359]
                        )
                      spids: [221 235]
                    )
                  ]
                  spids: [75 362]
                )
              spids: [68 73]
            )
          ]
          spids: [60 364]
        )
      spids: [56 58]
    )
    (C {(rm)} {(-f)} {(${ VSub_Name COPY)})
  ]
)