(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:saved)
          op: Equal
          rhs: {(DQ ($ VSub_DollarName '$PWD'))}
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_LBracket '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Equals '=')} {(DQ )} 
                  {(Lit_RBracket ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dest)
                  op: Equal
                  rhs: {(word_part.TildeSub token:<Lit_TildeLike '~'>) (/.micropython/lib/)}
                )
              ]
            )
          ]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:dest)
              op: Equal
              rhs: {(DQ ($ VSub_Number '$1'))}
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_LBracket '[')} {(-z)} {(DQ ($ VSub_DollarName '$TMPDIR'))} {(Lit_RBracket ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(cd)} {(/tmp)})]
        )
      ]
      else_action: [(C {(cd)} {($ VSub_DollarName '$TMPDIR')})]
    )
    (C {(rm)} {(-rf)} {(micropython-upip-) (Lit_Star '*')})
    (C {(wget)} {(-nd)} {(-r)} {(-l1)} 
      {(https) (Lit_Other ':') (//pypi.python.org/pypi/micropython-upip/)} {(--accept-regex)} {(DQ ('.*pypi.python.org/packages/source/.*.gz'))} 
      {(--reject) (Lit_Equals '=') (html)}
    )
    (C {(tar)} {(xfz)} {(micropython-upip-) (Lit_Star '*') (.tar.gz)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:tmpd)
          op: Equal
          rhs: {(DQ ($ VSub_DollarName '$PWD'))}
        )
      ]
    )
    (C {(cd)} {(DQ ($ VSub_DollarName '$saved'))})
    (C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$dest'))})
    (C {(cp)} 
      {(DQ ($ VSub_DollarName '$tmpd')) (/micropython-upip-) (Lit_Star '*') (/upip) (Lit_Star '*') (.py)} {(DQ ($ VSub_DollarName '$dest'))}
    )
    (C {(echo)} {(DQ ('upip is installed. To use:'))})
    (C {(echo)} {(DQ ('micropython -m upip --help'))})
  ]
)