(command.CommandList
  children: [
    (C {<sudo>} {<apt-get>} {<update>})
    (C {<sudo>} {<apt-get>} {<-y>} {<-q>} {<upgrade>})
    (C {<sudo>} {<apt-get>} {<install>} {<-y>} {<-q>} {<libboost-all-dev>} {<libusb-1.0.0-dev>} 
      {<libssl-dev>} {<cmake>} {<libprotobuf-dev>} {<protobuf-c-compiler>} {<protobuf-compiler>} {<git>}
    )
    (C {<sudo>} {<apt-get>} {<-y>} {<-q>} {<install>} {<build-essential>} {<libfontconfig1-dev>} 
      {<libdbus-1-dev>} {<libfreetype6-dev>} {<libicu-dev>} {<libsqlite3-dev>} {<libssl-dev>} {<libjpeg9-dev>} {<libglib2.0-dev>} 
      {<bluez>} {<libbluetooth-dev>} {<libasound2-dev>} {<libgstreamer0.10-dev>} {<libgstreamer-plugins-base1.0-dev>} 
      {<libxkbcommon-dev>} {<libwayland-dev>} {<libasound2-dev>} {<libgstreamer0.10-dev>} {<libgstreamer-plugins-base0.10-dev>} 
      {<build-essential>} {<libfontconfig1-dev>} {<libdbus-1-dev>} {<libfreetype6-dev>} {<libicu-dev>} {<libinput-dev>} 
      {<libxkbcommon-dev>} {<libsqlite3-dev>} {<libglib2.0-dev>} {<libraspberrypi-dev>} {<libxcb1-dev>} {<libfontconfig1-dev>} 
      {<libfreetype6-dev>} {<libx11-dev>} {<libxext-dev>} {<libxfixes-dev>} {<libxi-dev>} {<libxrender-dev>} {<libxcb1-dev>} 
      {<libx11-xcb-dev>} {<libxcb-glx0-dev>} {<libts-dev>} {<pulseaudio>} {<libpulse-dev>} {<librtaudio5a>} {<librtaudio-dev>} 
      {<libraspberrypi-bin>} {<libraspberrypi-dev>}
    )
    (C {<sudo>} {<apt-get>} {<-y>} {<-q>} {<install>} {<rpi-update>})
    (C {<sudo>} {<apt-get>} {<remove>} {<--purge>} {<-y>} {<-q>} {<libqt5multimedia5>} 
      {<libqt5multimedia5-plugins>} {<libqt5multimediawidgets5>} {<qtmultimedia5-dev>} {<libqt5bluetooth5>} {<libqt5bluetooth5-bin>} 
      {<qtconnectivity5-dev>}
    )
    (C {<sudo>} {<apt-get>} {<install>} {<-y>} {<-q>} {<pulseaudio>} {<librtaudio-dev>} {<librtaudio5a>})
    (C {<sudo>} {<apt-get>} {<-y>} {<-q>} {<install>} {<pv>} {<unzip>} {<kpartx>} {<zerofree>} 
      {<qemu-user-static>} {<binfmt-support>}
    )
    (C {<sudo>} {<apt-get>} {<clean>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'updatecheck='> name:updatecheck)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<sudo>} {<Id.Lit_VarLike 'JUST_CHECK='> <1>} {<rpi-update>})
                      (C {<grep>} {<commit>})
                    ]
                    negated: F
                    stderr_indices: []
                  )
                right: <Id.Backtick_Right '`'>
              )
            }
          spids: [266]
        )
      ]
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName updatecheck)} 
                      {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<sudo>} {<rpi-update>})
            (C {<echo>} 
              {(DQ <'############################################################################'>)}
            )
            (C {<echo>} {(DQ )})
            (C {<echo>} {(DQ <'Firmware was updated - please reboot now!'>)})
            (C {<echo>} {(DQ <'You can run next step after reboot.'>)})
            (C {<echo>} {(DQ )})
            (C {<echo>} 
              {(DQ <'############################################################################'>)}
            )
          ]
          spids: [284 299]
        )
      ]
      else_action: [
        (C {<echo>} 
          {(DQ <'############################################################################'>)}
        )
        (C {<echo>} {(DQ )})
        (C {<echo>} {(DQ <'System ready - you can run next step now.'>)})
        (C {<echo>} {(DQ )})
        (C {<echo>} 
          {(DQ <'############################################################################'>)}
        )
      ]
      redirects: []
    )
  ]
)