(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:tid)
          op: Equal
          rhs: {(DQ ('disallow agent attach from other uid'))}
          spids: [7]
        )
      ]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:UNPRIV) op:Equal rhs:{(nobody)} spids:[13])]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ASOCK)
          op: Equal
          rhs: {(${ VSub_Name OBJ) (/agent)}
          spids: [16]
        )
      ]
      spids: [16]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:SSH_AUTH_SOCK) op:Equal rhs:{(/nonexistent)} spids:[22])]
      spids: [22]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(config_defined)} {(HAVE_GETPEEREID)} {(HAVE_GETPEERUCRED)} {(HAVE_SO_PEERCRED)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(Lit_Other ':')})]
          spids: [-1 38]
        )
      ]
      else_action: [(C {(echo)} {(DQ ('skipped (not supported on this platform)'))}) (C {(exit)} {(0)})]
      spids: [43 57]
    )
    (Case
      to_match: {(DQ (x) ($ VSub_Name '$SUDO'))}
      arms: [
        (case_arm
          pat_list: [{(xsudo)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:sudo) op:Equal rhs:{(1)} spids:[72])]
              spids: [72]
            )
          ]
          spids: [69 70 74 -1]
        )
        (case_arm pat_list:[{(xdoas)}] spids:[777880-1])
        (case_arm
          pat_list: [{(x)}]
          action: [
            (C {(echo)} {(DQ ('need SUDO to switch to uid ') ($ VSub_Name '$UNPRIV'))})
            (C {(exit)} {(0)})
          ]
          spids: [83 84 99 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (C {(echo)} 
              {(DQ ('unsupported ') ($ VSub_Name '$SUDO') (' - ')) (doas) (DQ (' and ')) (sudo) 
                (DQ (' are allowed'))
              }
            )
            (C {(exit)} {(0)})
          ]
          spids: [102 103 127 -1]
        )
      ]
      spids: [59 66 129]
    )
    (C {(trace)} {(DQ ('start agent'))})
    (SimpleCommand
      words: [
        {(eval)}
        {
          (CommandSubPart
            command_list: 
              (CommandList
                children: [(C {(${ VSub_Name SSHAGENT)} {(-s)} {(-a)} {(${ VSub_Name ASOCK)})]
              )
            left_token: <Left_Backtick '`'>
            spids: [140 152]
          )
        }
      ]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[154])]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:r) op:Equal rhs:{($ VSub_QMark '$?')} spids:[158])]
      spids: [158]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-ne)} {(0)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(fail)} {(DQ ('could not start ssh-agent: exit code ') ($ VSub_Name '$r'))})]
          spids: [-1 174]
        )
      ]
      else_action: [
        (C {(chmod)} {(644)} {(${ VSub_Name SSH_AUTH_SOCK)})
        (SimpleCommand
          words: [{(${ VSub_Name SSHADD)} {(-l)}]
          redirects: [
            (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[203])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[207])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:r) op:Equal rhs:{($ VSub_QMark '$?')} spids:[211])]
          spids: [211]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: (C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-ne)} {(1)} {(Lit_Other ']')})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(fail)} {(DQ ('ssh-add failed with ') ($ VSub_Name '$r') (' != 1'))})]
              spids: [-1 228]
            )
          ]
          spids: [-1 240]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$sudo'))})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (SimpleCommand
                  words: [
                    {(${ VSub_Name SUDO)}
                    {(-n)}
                    {(-u)}
                    {(${ VSub_Name UNPRIV)}
                    {(${ VSub_Name SSHADD)}
                    {(-l)}
                  ]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[280])]
                )
              ]
              spids: [-1 255]
            )
          ]
          else_action: [
            (SimpleCommand
              words: [
                {(${ VSub_Name SUDO)}
                {(-S)}
                {(-u)}
                {(${ VSub_Name UNPRIV)}
                {(${ VSub_Name SSHADD)}
                {(-l)}
              ]
              redirects: [
                (Redir op_id:Redir_Less fd:-1 arg_word:{(/dev/null)} spids:[291])
                (Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[313])
              ]
            )
          ]
          spids: [284 317]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:r) op:Equal rhs:{($ VSub_QMark '$?')} spids:[320])]
          spids: [320]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: (C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-lt)} {(2)} {(Lit_Other ']')})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(fail)} 
                  {
                    (DQ ('ssh-add did not fail for ') (${ VSub_Name UNPRIV) (': ') ($ VSub_Name '$r') 
                      (' < 2')
                    )
                  }
                )
              ]
              spids: [-1 337]
            )
          ]
          spids: [-1 353]
        )
        (C {(trace)} {(DQ ('kill agent'))})
        (SimpleCommand
          words: [{(${ VSub_Name SSHAGENT)} {(-k)}]
          redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[370])]
        )
      ]
      spids: [184 374]
    )
    (C {(rm)} {(-f)} {(${ VSub_Name OBJ) (/agent)})
  ]
)