(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:tid) op:Equal rhs:{(DQ (rekey))} spids:[7])]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOG)
          op: Equal
          rhs: {(${ VSub_Name TEST_SSH_LOGFILE)}
          spids: [13]
        )
      ]
      spids: [13]
    )
    (C {(rm)} {(-f)} {(${ VSub_Name LOG)})
    (C {(cp)} {($ VSub_Name '$OBJ') (/sshd_proxy)} {($ VSub_Name '$OBJ') (/sshd_proxy_bak)})
    (FuncDef
      name: ssh_data_rekeying
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:_kexopt)
                      op: Equal
                      rhs: {($ VSub_Number '$1')}
                      spids: [49]
                    )
                  ]
                  spids: [49]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(shift)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_opts)
                  op: Equal
                  rhs: {(DQ ($ VSub_At '$@'))}
                  spids: [57]
                )
              ]
              spids: [57]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$_kexopts'))})]
                          negated: True
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(cp)} {($ VSub_Name '$OBJ') (/sshd_proxy_bak)} 
                      {($ VSub_Name '$OBJ') (/sshd_proxy)}
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ($ VSub_Name '$_kexopt'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name '$OBJ') (/sshd_proxy)}
                          spids: [95]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_opts)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$_opts') (' -o') ($ VSub_Name '$_kexopt'))}
                          spids: [101]
                        )
                      ]
                      spids: [101]
                    )
                  ]
                  spids: [-1 77]
                )
              ]
              spids: [-1 109]
            )
            (C {(rm)} {(-f)} {(${ VSub_Name COPY)} {(${ VSub_Name LOG)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_opts)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$_opts') (' -oCompression=no'))}
                  spids: [125]
                )
              ]
              spids: [125]
            )
            (SimpleCommand
              words: [
                {(${ VSub_Name SSH)}
                {($ VSub_Name '$_opts')}
                {(-v)}
                {(-F)}
                {($ VSub_Name '$OBJ') (/ssh_proxy)}
                {(somehost)}
                {(DQ ('cat > ') (${ VSub_Name COPY))}
              ]
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(${ VSub_Name DATA)} spids:[136])]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(fail)} {(DQ ('ssh failed (') ($ VSub_At '$@') (')'))})]
                  spids: [-1 173]
                )
              ]
              spids: [-1 185]
            )
            (AndOr
              children: [
                (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)})
                (C {(fail)} {(DQ ('corrupted copy (') ($ VSub_At '$@') (')'))})
              ]
              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 {(grep)} {(SQ <'NEWKEYS sent'>)} {(${ VSub_Name LOG)})
                                  (C {(wc)} {(-l)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [210 226]
                      )
                    }
                  spids: [209]
                )
              ]
              spids: [209]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:n)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(expr)} {($ VSub_Name '$n')} {(-)} {(1)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [230 238]
                      )
                    }
                  spids: [229]
                )
              ]
              spids: [229]
            )
            (C {(trace)} {(DQ ($ VSub_Name '$n') (' rekeying(s)'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {($ VSub_Name '$n')} {(-lt)} {(1)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(fail)} {(DQ ('no rekeying occured (') ($ VSub_At '$@') (')'))})]
                  spids: [-1 262]
                )
              ]
              spids: [-1 274]
            )
          ]
          spids: [46]
        )
      spids: [42 45]
    )
    (C {(increase_datafile_size)} {(300)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opts) op:Equal rhs:{(DQ )} spids:[284])]
      spids: [284]
    )
    (ForEach
      iter_name: i
      iter_words: [
        {
          (CommandSubPart
            command_list: (CommandList children:[(C {(${ VSub_Name SSH)} {(-Q)} {(kex)})])
            left_token: <Left_Backtick '`'>
            spids: [294 302]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opts)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$opts') (' KexAlgorithms=') ($ VSub_Name '$i'))}
                  spids: [308]
                )
              ]
              spids: [308]
            )
          ]
          spids: [305 315]
        )
      spids: [293 303]
    )
    (ForEach
      iter_name: i
      iter_words: [
        {
          (CommandSubPart
            command_list: (CommandList children:[(C {(${ VSub_Name SSH)} {(-Q)} {(cipher)})])
            left_token: <Left_Backtick '`'>
            spids: [323 331]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opts)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$opts') (' Ciphers=') ($ VSub_Name '$i'))}
                  spids: [337]
                )
              ]
              spids: [337]
            )
          ]
          spids: [334 344]
        )
      spids: [322 332]
    )
    (ForEach
      iter_name: i
      iter_words: [
        {
          (CommandSubPart
            command_list: (CommandList children:[(C {(${ VSub_Name SSH)} {(-Q)} {(mac)})])
            left_token: <Left_Backtick '`'>
            spids: [352 360]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opts)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$opts') (' MACs=') ($ VSub_Name '$i'))}
                  spids: [366]
                )
              ]
              spids: [366]
            )
          ]
          spids: [363 373]
        )
      spids: [351 361]
    )
    (ForEach
      iter_name: opt
      iter_words: [{($ VSub_Name '$opts')}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(verbose)} {(DQ ('client rekey ') ($ VSub_Name '$opt'))})
            (C {(ssh_data_rekeying)} {(DQ ($ VSub_Name '$opt'))} {(-oRekeyLimit) (Lit_Other '=') (256k)})
          ]
          spids: [385 406]
        )
      spids: [381 383]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (Pipeline
                  children: [
                    (C {(${ VSub_Name SSH)} {(-Q)} {(cipher-auth)})
                    (SimpleCommand
                      words: [{(grep)} {(SQ <'^.*$'>)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [430]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [433]
                        )
                      ]
                    )
                  ]
                  negated: False
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (ForEach
              iter_name: c
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [(C {(${ VSub_Name SSH)} {(-Q)} {(cipher-auth)})]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [447 455]
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (ForEach
                      iter_name: kex
                      iter_words: [
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(${ VSub_Name SSH)} {(-Q)} {(kex)})]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [467 475]
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(verbose)} 
                              {(DQ ('client rekey ') ($ VSub_Name '$c') (' ') ($ VSub_Name '$kex'))}
                            )
                            (C {(ssh_data_rekeying)} {(DQ ('KexAlgorithms=') ($ VSub_Name '$kex'))} 
                              {(-oRekeyLimit) (Lit_Other '=') (256k)} {(-oCiphers) (Lit_Other '=') ($ VSub_Name '$c')}
                            )
                          ]
                          spids: [478 507]
                        )
                      spids: [466 476]
                    )
                  ]
                  spids: [458 510]
                )
              spids: [446 456]
            )
          ]
          spids: [-1 438]
        )
      ]
      spids: [-1 512]
    )
    (ForEach
      iter_name: s
      iter_words: [{(16)} {(1k)} {(128k)} {(256k)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(verbose)} {(DQ ('client rekeylimit ') (${ VSub_Name s))})
            (C {(ssh_data_rekeying)} {(DQ )} {(-oCompression) (Lit_Other '=') (no)} 
              {(-oRekeyLimit) (Lit_Other '=') ($ VSub_Name '$s')}
            )
          ]
          spids: [530 556]
        )
      spids: [520 528]
    )
    (ForEach
      iter_name: s
      iter_words: [{(5)} {(10)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(verbose)} {(DQ ('client rekeylimit default ') (${ VSub_Name s))})
            (C {(rm)} {(-f)} {(${ VSub_Name COPY)} {(${ VSub_Name LOG)})
            (SimpleCommand
              words: [
                {(${ VSub_Name SSH)}
                {(-oCompression) (Lit_Other '=') (no)}
                {(-oRekeyLimit) (Lit_Other '=') (DQ ('default ') ($ VSub_Name '$s'))}
                {(-F)}
                {($ VSub_Name '$OBJ') (/ssh_proxy)}
                {(somehost)}
                {(DQ ('cat >') (${ VSub_Name COPY) (';sleep ') ($ VSub_Name '$s') (';sleep 3'))}
              ]
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(${ VSub_Name DATA)} spids:[600])]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(fail)} {(DQ ('ssh failed'))})]
                  spids: [-1 650]
                )
              ]
              spids: [-1 660]
            )
            (AndOr
              children: [
                (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)})
                (C {(fail)} {(DQ ('corrupted copy'))})
              ]
              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 {(grep)} {(SQ <'NEWKEYS sent'>)} {(${ VSub_Name LOG)})
                                  (C {(wc)} {(-l)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [683 699]
                      )
                    }
                  spids: [682]
                )
              ]
              spids: [682]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:n)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(expr)} {($ VSub_Name '$n')} {(-)} {(1)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [703 711]
                      )
                    }
                  spids: [702]
                )
              ]
              spids: [702]
            )
            (C {(trace)} {(DQ ($ VSub_Name '$n') (' rekeying(s)'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {($ VSub_Name '$n')} {(-lt)} {(1)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(fail)} {(DQ ('no rekeying occured'))})]
                  spids: [-1 735]
                )
              ]
              spids: [-1 745]
            )
          ]
          spids: [570 747]
        )
      spids: [564 568]
    )
    (ForEach
      iter_name: s
      iter_words: [{(5)} {(10)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(verbose)} {(DQ ('client rekeylimit default ') (${ VSub_Name s) (' no data'))})
            (C {(rm)} {(-f)} {(${ VSub_Name COPY)} {(${ VSub_Name LOG)})
            (C {(${ VSub_Name SSH)} {(-oCompression) (Lit_Other '=') (no)} 
              {(-oRekeyLimit) (Lit_Other '=') (DQ ('default ') ($ VSub_Name '$s'))} {(-F)} {($ VSub_Name '$OBJ') (/ssh_proxy)} {(somehost)} {(DQ ('sleep ') ($ VSub_Name '$s') (';sleep 3'))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(fail)} {(DQ ('ssh failed'))})]
                  spids: [-1 832]
                )
              ]
              spids: [-1 842]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:n)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(SQ <'NEWKEYS sent'>)} {(${ VSub_Name LOG)})
                                  (C {(wc)} {(-l)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [846 862]
                      )
                    }
                  spids: [845]
                )
              ]
              spids: [845]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:n)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(expr)} {($ VSub_Name '$n')} {(-)} {(1)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [866 874]
                      )
                    }
                  spids: [865]
                )
              ]
              spids: [865]
            )
            (C {(trace)} {(DQ ($ VSub_Name '$n') (' rekeying(s)'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {($ VSub_Name '$n')} {(-lt)} {(1)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(fail)} {(DQ ('no rekeying occured'))})]
                  spids: [-1 898]
                )
              ]
              spids: [-1 908]
            )
          ]
          spids: [761 910]
        )
      spids: [755 759]
    )
    (ForEach
      iter_name: s
      iter_words: [{(16)} {(1k)} {(128k)} {(256k)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(verbose)} {(DQ ('server rekeylimit ') (${ VSub_Name s))})
            (C {(cp)} {($ VSub_Name '$OBJ') (/sshd_proxy_bak)} {($ VSub_Name '$OBJ') (/sshd_proxy)})
            (SimpleCommand
              words: [{(echo)} {(DQ ('rekeylimit ') (${ VSub_Name s))}]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: -1
                  arg_word: {($ VSub_Name '$OBJ') (/sshd_proxy)}
                  spids: [959]
                )
              ]
            )
            (C {(rm)} {(-f)} {(${ VSub_Name COPY)} {(${ VSub_Name LOG)})
            (SimpleCommand
              words: [
                {(${ VSub_Name SSH)}
                {(-oCompression) (Lit_Other '=') (no)}
                {(-F)}
                {($ VSub_Name '$OBJ') (/ssh_proxy)}
                {(somehost)}
                {(DQ ('cat ') (${ VSub_Name DATA))}
              ]
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(${ VSub_Name COPY)} spids:[1001])]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(fail)} {(DQ ('ssh failed'))})]
                  spids: [-1 1021]
                )
              ]
              spids: [-1 1031]
            )
            (AndOr
              children: [
                (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)})
                (C {(fail)} {(DQ ('corrupted copy'))})
              ]
              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 {(grep)} {(SQ <'NEWKEYS sent'>)} {(${ VSub_Name LOG)})
                                  (C {(wc)} {(-l)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1054 1070]
                      )
                    }
                  spids: [1053]
                )
              ]
              spids: [1053]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:n)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(expr)} {($ VSub_Name '$n')} {(-)} {(1)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1074 1082]
                      )
                    }
                  spids: [1073]
                )
              ]
              spids: [1073]
            )
            (C {(trace)} {(DQ ($ VSub_Name '$n') (' rekeying(s)'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {($ VSub_Name '$n')} {(-lt)} {(1)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(fail)} {(DQ ('no rekeying occured'))})]
                  spids: [-1 1106]
                )
              ]
              spids: [-1 1116]
            )
          ]
          spids: [928 1118]
        )
      spids: [918 926]
    )
    (ForEach
      iter_name: s
      iter_words: [{(5)} {(10)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(verbose)} {(DQ ('server rekeylimit default ') (${ VSub_Name s) (' no data'))})
            (C {(cp)} {($ VSub_Name '$OBJ') (/sshd_proxy_bak)} {($ VSub_Name '$OBJ') (/sshd_proxy)})
            (SimpleCommand
              words: [{(echo)} {(DQ ('rekeylimit default ') (${ VSub_Name s))}]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: -1
                  arg_word: {($ VSub_Name '$OBJ') (/sshd_proxy)}
                  spids: [1164]
                )
              ]
            )
            (C {(rm)} {(-f)} {(${ VSub_Name COPY)} {(${ VSub_Name LOG)})
            (C {(${ VSub_Name SSH)} {(-oCompression) (Lit_Other '=') (no)} {(-F)} 
              {($ VSub_Name '$OBJ') (/ssh_proxy)} {(somehost)} {(DQ ('sleep ') ($ VSub_Name '$s') (';sleep 3'))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(fail)} {(DQ ('ssh failed'))})]
                  spids: [-1 1217]
                )
              ]
              spids: [-1 1227]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:n)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(SQ <'NEWKEYS sent'>)} {(${ VSub_Name LOG)})
                                  (C {(wc)} {(-l)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1231 1247]
                      )
                    }
                  spids: [1230]
                )
              ]
              spids: [1230]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:n)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(expr)} {($ VSub_Name '$n')} {(-)} {(1)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1251 1259]
                      )
                    }
                  spids: [1250]
                )
              ]
              spids: [1250]
            )
            (C {(trace)} {(DQ ($ VSub_Name '$n') (' rekeying(s)'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {($ VSub_Name '$n')} {(-lt)} {(1)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(fail)} {(DQ ('no rekeying occured'))})]
                  spids: [-1 1283]
                )
              ]
              spids: [-1 1293]
            )
          ]
          spids: [1132 1295]
        )
      spids: [1126 1130]
    )
    (C {(verbose)} {(DQ ('rekeylimit parsing'))})
    (ForEach
      iter_name: size
      iter_words: [{(16)} {(1k)} {(1K)} {(1m)} {(1M)} {(1g)} {(1G)} {(4G)} {(8G)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (ForEach
              iter_name: time
              iter_words: [{(1)} {(1m)} {(1M)} {(1h)} {(1H)} {(1d)} {(1D)} {(1w)} {(1W)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$size')}
                      arms: [
                        (case_arm
                          pat_list: [{(16)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:bytes)
                                  op: Equal
                                  rhs: {(16)}
                                  spids: [1370]
                                )
                              ]
                              spids: [1370]
                            )
                          ]
                          spids: [1367 1368 1373 -1]
                        )
                        (case_arm
                          pat_list: [{(1k)} {(1K)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:bytes)
                                  op: Equal
                                  rhs: {(1024)}
                                  spids: [1381]
                                )
                              ]
                              spids: [1381]
                            )
                          ]
                          spids: [1376 1379 1384 -1]
                        )
                        (case_arm
                          pat_list: [{(1m)} {(1M)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:bytes)
                                  op: Equal
                                  rhs: {(1048576)}
                                  spids: [1392]
                                )
                              ]
                              spids: [1392]
                            )
                          ]
                          spids: [1387 1390 1395 -1]
                        )
                        (case_arm
                          pat_list: [{(1g)} {(1G)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:bytes)
                                  op: Equal
                                  rhs: {(1073741824)}
                                  spids: [1403]
                                )
                              ]
                              spids: [1403]
                            )
                          ]
                          spids: [1398 1401 1406 -1]
                        )
                        (case_arm
                          pat_list: [{(4g)} {(4G)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:bytes)
                                  op: Equal
                                  rhs: {(4294967296)}
                                  spids: [1414]
                                )
                              ]
                              spids: [1414]
                            )
                          ]
                          spids: [1409 1412 1417 -1]
                        )
                        (case_arm
                          pat_list: [{(8g)} {(8G)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:bytes)
                                  op: Equal
                                  rhs: {(8589934592)}
                                  spids: [1425]
                                )
                              ]
                              spids: [1425]
                            )
                          ]
                          spids: [1420 1423 1428 -1]
                        )
                      ]
                      spids: [1360 1364 1431]
                    )
                    (Case
                      to_match: {($ VSub_Name '$time')}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:seconds)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [1444]
                                )
                              ]
                              spids: [1444]
                            )
                          ]
                          spids: [1441 1442 1447 -1]
                        )
                        (case_arm
                          pat_list: [{(1m)} {(1M)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:seconds)
                                  op: Equal
                                  rhs: {(60)}
                                  spids: [1455]
                                )
                              ]
                              spids: [1455]
                            )
                          ]
                          spids: [1450 1453 1458 -1]
                        )
                        (case_arm
                          pat_list: [{(1h)} {(1H)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:seconds)
                                  op: Equal
                                  rhs: {(3600)}
                                  spids: [1466]
                                )
                              ]
                              spids: [1466]
                            )
                          ]
                          spids: [1461 1464 1469 -1]
                        )
                        (case_arm
                          pat_list: [{(1d)} {(1D)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:seconds)
                                  op: Equal
                                  rhs: {(86400)}
                                  spids: [1477]
                                )
                              ]
                              spids: [1477]
                            )
                          ]
                          spids: [1472 1475 1480 -1]
                        )
                        (case_arm
                          pat_list: [{(1w)} {(1W)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:seconds)
                                  op: Equal
                                  rhs: {(604800)}
                                  spids: [1488]
                                )
                              ]
                              spids: [1488]
                            )
                          ]
                          spids: [1483 1486 1491 -1]
                        )
                      ]
                      spids: [1434 1438 1494]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:b)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$SUDO')} {(${ VSub_Name SSHD)} {(-T)} {(-o)} 
                                            {
                                              (DQ ('rekeylimit ') ($ VSub_Name '$size') (' ') 
                                                ($ VSub_Name '$time')
                                              )
                                            } {(-f)} {($ VSub_Name '$OBJ') (/sshd_proxy)}
                                          )
                                          (C {(awk)} {(SQ <'/rekeylimit/{print $2}'>)})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1499 1531]
                              )
                            }
                          spids: [1498]
                        )
                      ]
                      spids: [1498]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:s)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$SUDO')} {(${ VSub_Name SSHD)} {(-T)} {(-o)} 
                                            {
                                              (DQ ('rekeylimit ') ($ VSub_Name '$size') (' ') 
                                                ($ VSub_Name '$time')
                                              )
                                            } {(-f)} {($ VSub_Name '$OBJ') (/sshd_proxy)}
                                          )
                                          (C {(awk)} {(SQ <'/rekeylimit/{print $3}'>)})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1535 1567]
                              )
                            }
                          spids: [1534]
                        )
                      ]
                      spids: [1534]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$bytes'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$b'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(fatal)} 
                              {
                                (DQ ('rekeylimit size: expected ') ($ VSub_Name '$bytes') 
                                  (' bytes got ') ($ VSub_Name '$b')
                                )
                              }
                            )
                          ]
                          spids: [-1 1589]
                        )
                      ]
                      spids: [-1 1602]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$seconds'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$s'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(fatal)} 
                              {
                                (DQ ('rekeylimit time: expected ') ($ VSub_Name '$time') 
                                  (' seconds got ') ($ VSub_Name '$s')
                                )
                              }
                            )
                          ]
                          spids: [-1 1623]
                        )
                      ]
                      spids: [-1 1636]
                    )
                  ]
                  spids: [1357 1639]
                )
              spids: [1337 1355]
            )
          ]
          spids: [1329 1641]
        )
      spids: [1309 1327]
    )
    (C {(rm)} {(-f)} {(${ VSub_Name COPY)} {(${ VSub_Name DATA)})
  ]
)