(command.CommandList
  children: [
    (C {<export>} {<Id.Lit_VarLike 'KCONFIG_NOTIMESTAMP='> <1>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} {<-ne>} {<1>} {<Id.Lit_RBracket ']'>})
              ]
            )
          action: [
            (C {<echo>} {(DQ <'Usage: miniconfig.sh configfile'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [76 88]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(DQ ($ Id.VSub_Number '$1'))} 
                  {<Id.Lit_RBracket ']'>}
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'Couldn\'t find '>) (SQ <'"'>) (DQ ($ Id.VSub_Number '$1')) (SQ <'"'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [106 120]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} 
                  {<Id.Lit_Equals '='> <Id.Lit_Equals '='>} {(DQ <.config>)} {<Id.Lit_RBracket ']'>}
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'It overwrites .config, rename it and try again.'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [146 163]
        )
      ]
    )
    (command.Simple
      words: [
        {<make>}
        {<allnoconfig>}
        {<Id.Lit_VarLike 'KCONFIG_ALLCONFIG='> (DQ ($ Id.VSub_Number '$1'))}
      ]
      redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})]
      do_fork: T
    )
    (command.Pipeline
      children: [
        (C {<yes>} {(DQ )})
        (command.Simple
          words: [{<make>} {<oldconfig>}]
          redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})]
          do_fork: T
        )
      ]
      negated: F
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Pipeline
                  children: [(C {<cmp>} {<.config>} {(DQ ($ Id.VSub_Number '$1'))})]
                  negated: T
                )
              ]
            )
          action: [
            (C {<echo>} {<Sanity>} {<test>} {<failed> <Id.Lit_Comma ','>} {<normalizing>} {<starting>} 
              {<configuration...>}
            )
            (C {<diff>} {<-u>} {(DQ ($ Id.VSub_Number '$1'))} {<.config>})
          ]
          spids: [212 224]
        )
      ]
    )
    (C {<cp>} {<.config>} {<.big.config>})
    (command.Pipeline
      children: [
        (C {<grep>} {<-v>} {(SQ <'^[#$]'>)} {<.config>})
        (command.Simple
          words: [{<grep>} {<-v>} {(SQ <'^$'>)}]
          redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<mini.config>})]
          do_fork: T
        )
      ]
      negated: F
    )
    (command.Simple
      words: [{<make>} {<allnoconfig>} {<Id.Lit_VarLike 'KCONFIG_ALLCONFIG='> <mini.config>}]
      redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})]
      do_fork: T
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Pipeline
                  children: [(C {<cmp>} {<.config>} {(DQ ($ Id.VSub_Number '$1'))})]
                  negated: T
                )
              ]
            )
          action: [
            (C {<echo>} {<Insanity>} {<test>} {<failed> <Id.Lit_Colon ':'>} {<reversing>} {<blank>} {<line>} 
              {<removal>} {<heuristic.>}
            )
            (C {<cp>} {<.big.config>} {<mini.config>})
          ]
          spids: [303 315]
        )
      ]
    )
    (C {<echo>} {(DQ <'Calculating mini.config...'>)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:LENGTH)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [(C {<cat>} {<mini.config>}) (C {<wc>} {<-l>})]
                    negated: F
                  )
              )
            }
          spids: [357]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:OLDLENGTH)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$LENGTH')}
          spids: [372]
        )
      ]
    )
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:I) op:assign_op.Equal rhs:{<1>} spids:[379])]
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: (condition.Shell commands:[(C {<true>})])
      body: 
        (command.DoGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$I')} {<-gt>} 
                  {($ Id.VSub_DollarName '$LENGTH')} {<Id.Lit_RBracket ']'>}
                )
                (command.ControlFlow token:<Id.ControlFlow_Break break>)
              ]
            )
            (command.Simple
              words: [
                {<sed>}
                {<-n>}
                {
                  (DQ ($ Id.VSub_DollarName '$I') <','> 
                    (word_part.ArithSub
                      anode: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Minus
                          left: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Plus
                              left: {($ Id.VSub_DollarName '$I')}
                              right: 
                                {
                                  (braced_var_sub
                                    token: <Id.VSub_Name STRIDE>
                                    suffix_op: 
                                      (suffix_op.Unary
                                        tok: <Id.VTest_ColonHyphen ':-'>
                                        arg_word: {<1>}
                                      )
                                  )
                                }
                            )
                          right: {<Id.Lit_Digits 1>}
                        )
                    ) <'!p'>
                  )
                }
                {<mini.config>}
              ]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<.config.test>})]
              do_fork: T
            )
            (C {<rm>} {<.config>})
            (command.Pipeline
              children: [
                (command.Simple
                  words: [
                    {<make>}
                    {<allnoconfig>}
                    {<Id.Lit_VarLike 'KCONFIG_ALLCONFIG='> <.config.test>}
                  ]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '2>'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<'/dev/null'>}
                    )
                  ]
                  do_fork: T
                )
                (command.Simple
                  words: [{<head>} {<-n>} {<1000000>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {<'/dev/null'>}
                    )
                  ]
                  do_fork: T
                )
              ]
              negated: F
            )
            (command.If
              arms: [
                (if_arm
                  cond: (condition.Shell commands:[(C {<cmp>} {<-s>} {<.config>} {<.big.config>})])
                  action: [
                    (C {<mv>} {<.config.test>} {<mini.config>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:LENGTH)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Minus
                                    left: {($ Id.VSub_DollarName '$LENGTH')}
                                    right: 
                                      {
                                        (braced_var_sub
                                          token: <Id.VSub_Name STRIDE>
                                          suffix_op: 
                                            (suffix_op.Unary
                                              tok: <Id.VTest_ColonHyphen ':-'>
                                              arg_word: {<1>}
                                            )
                                        )
                                      }
                                  )
                              )
                            }
                          spids: [494]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$I')} {<-gt>} 
                          {($ Id.VSub_DollarName '$LENGTH')} {<Id.Lit_RBracket ']'>}
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LENGTH)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (word_part.ArithSub
                                    anode: 
                                      (arith_expr.Binary
                                        op_id: Id.Arith_Minus
                                        left: {($ Id.VSub_DollarName '$I')}
                                        right: {<Id.Lit_Digits 1>}
                                      )
                                  )
                                }
                              spids: [527]
                            )
                          ]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DAmp]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$STRIDE'))} 
                          {<Id.Lit_RBracket ']'>}
                        )
                        (C {<Id.Lit_LBracket '['>} 
                          {
                            (braced_var_sub
                              token: <Id.VSub_Name OLDSTRIDE>
                              suffix_op: 
                                (suffix_op.Unary
                                  tok: <Id.VTest_ColonHyphen ':-'>
                                  arg_word: {<1>}
                                )
                            )
                          } {<-eq>} {<2>} {<Id.Lit_RBracket ']'>}
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:I)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (word_part.ArithSub
                                    anode: 
                                      (arith_expr.Binary
                                        op_id: Id.Arith_Plus
                                        left: {($ Id.VSub_DollarName '$I')}
                                        right: {<Id.Lit_Digits 1>}
                                      )
                                  )
                                }
                              spids: [572]
                            )
                          ]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:STRIDE)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Plus
                                    left: {($ Id.VSub_DollarName '$STRIDE')}
                                    right: {<Id.Lit_Digits 1>}
                                  )
                              )
                            }
                          spids: [581]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:OLDSTRIDE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName '$STRIDE')}
                          spids: [590]
                        )
                      ]
                    )
                  ]
                  spids: [469 480]
                )
              ]
              else_action: [
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (C {<Id.Lit_LBracket '['>} 
                              {
                                (braced_var_sub
                                  token: <Id.VSub_Name STRIDE>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      tok: <Id.VTest_ColonHyphen ':-'>
                                      arg_word: {<1>}
                                    )
                                )
                              } {<-le>} {<1>} {<Id.Lit_RBracket ']'>}
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:I)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (word_part.ArithSub
                                    anode: 
                                      (arith_expr.Binary
                                        op_id: Id.Arith_Plus
                                        left: {($ Id.VSub_DollarName '$I')}
                                        right: {<Id.Lit_Digits 1>}
                                      )
                                  )
                                }
                              spids: [621]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:OLDSTRIDE)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [630]
                            )
                          ]
                        )
                      ]
                      spids: [601 618]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:STRIDE)
                      op: assign_op.Equal
                      rhs: (word.Empty)
                      spids: [636]
                    )
                  ]
                )
              ]
            )
            (C {<echo>} {<-n>} {<-e>} 
              {
                (DQ <Id.Lit_BadBackslash '\\'> <'r['> 
                  (braced_var_sub
                    token: <Id.VSub_Name STRIDE>
                    suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<1>})
                  ) <'] '> 
                  (word_part.ExprSub
                    left: <Id.Left_DollarBracket '$['>
                    child: 
                      (expr.Binary
                        op: <Id.Arith_Minus _>
                        left: ($ Id.VSub_DollarName '$I')
                        right: (Const Id.Expr_DecInt 1)
                      )
                  ) <'/'> ($ Id.VSub_DollarName '$LENGTH') <' lines '> 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Pipeline
                        children: [(C {<cat>} {<mini.config>}) (C {<wc>} {<-c>})]
                        negated: F
                      )
                  ) <' bytes '> 
                  (word_part.ExprSub
                    left: <Id.Left_DollarBracket '$['>
                    child: 
                      (expr.Binary
                        op: <Id.Arith_Minus _>
                        left: (Const Id.Expr_DecInt 100)
                        right: 
                          (expr.Binary
                            op: <Id.Arith_Slash _>
                            left: 
                              (expr.Binary
                                op: <Id.Arith_Star _>
                                left: 
                                  (expr.Binary
                                    op: <Id.Arith_Minus _>
                                    left: ($ Id.VSub_DollarName '$LENGTH')
                                    right: ($ Id.VSub_DollarName '$I')
                                  )
                                right: (Const Id.Expr_DecInt 100)
                              )
                            right: ($ Id.VSub_DollarName '$OLDLENGTH')
                          )
                      )
                  ) <'%    '>
                )
              }
            )
          ]
        )
    )
    (C {<rm>} {<.big.config>})
    (C {<echo>})
  ]
)