(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PERF_DATA) op:Equal rhs:{(perf.data)} spids:[10])]
      spids: [10]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-ne)} {(0)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PERF_DATA)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [30]
                )
              ]
              spids: [30]
            )
          ]
          spids: [-1 27]
        )
      ]
      spids: [-1 33]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-z)} {($ VSub_Name '$PERF_BUILDID_DIR')} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PERF_BUILDID_DIR)
                  op: Equal
                  rhs: {(TildeSubPart prefix:'') (/.debug/)}
                  spids: [62]
                )
              ]
              spids: [62]
            )
          ]
          spids: [-1 59]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:PERF_BUILDID_DIR)
              op: Equal
              rhs: {($ VSub_Name '$PERF_BUILDID_DIR') (/)}
              spids: [73]
            )
          ]
          spids: [73]
        )
      ]
      spids: [66 77]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:BUILDIDS)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(mktemp)} {(/tmp/perf-archive-buildids.XXXXXX)})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [81 85]
              )
            }
          spids: [80]
        )
      ]
      spids: [80]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NOBUILDID)
          op: Equal
          rhs: {(0000000000000000000000000000000000000000)}
          spids: [87]
        )
      ]
      spids: [87]
    )
    (Pipeline
      children: [
        (C {(perf)} {(buildid-list)} {(-i)} {($ VSub_Name '$PERF_DATA')} {(--with-hits)})
        (SimpleCommand
          words: [{(grep)} {(-v)} {(DQ ('^') ($ VSub_Name '$NOBUILDID') (' '))}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: -1
              arg_word: {($ VSub_Name '$BUILDIDS')}
              spids: [113]
            )
          ]
        )
      ]
      negated: False
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-s)} {($ VSub_Name '$BUILDIDS')} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('perf archive: no build-ids found'))})
            (AndOr
              children: [(C {(rm)} {($ VSub_Name '$BUILDIDS')}) (C {(true)})]
              op_id: Op_DPipe
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 131]
        )
      ]
      spids: [-1 154]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MANIFEST)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(mktemp)} {(/tmp/perf-archive-manifest.XXXXXX)})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [158 162]
              )
            }
          spids: [157]
        )
      ]
      spids: [157]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PERF_BUILDID_LINKDIR)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(readlink)} {(-f)} {($ VSub_Name '$PERF_BUILDID_DIR')})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [165 171]
              ) (/)
            }
          spids: [164]
        )
      ]
      spids: [164]
    )
    (Pipeline
      children: [
        (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(1)} {($ VSub_Name '$BUILDIDS')})
        (While
          cond: [(Sentence child:(C {(read)} {(build_id)}) terminator:<Op_Semi ';'>)]
          body: 
            (DoGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:linkname)
                      op: Equal
                      rhs: 
                        {($ VSub_Name '$PERF_BUILDID_DIR') (.build-id/) 
                          (BracedVarSub
                            token: <VSub_Name build_id>
                            suffix_op: 
                              (Slice
                                begin: (ArithWord w:{(Lit_Digits 0)})
                                length: (ArithWord w:{(Lit_Digits 2)})
                              )
                            spids: [206 212]
                          ) (/) 
                          (BracedVarSub
                            token: <VSub_Name build_id>
                            suffix_op: (Slice begin:(ArithWord w:{(Lit_Digits 2)}))
                            spids: [214 218]
                          )
                        }
                      spids: [203]
                    )
                  ]
                  spids: [203]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:filename)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(readlink)} {(-f)} {($ VSub_Name '$linkname')})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [222 228]
                          )
                        }
                      spids: [221]
                    )
                  ]
                  spids: [221]
                )
                (SimpleCommand
                  words: [
                    {(echo)}
                    {
                      (BracedVarSub
                        token: <VSub_Name linkname>
                        suffix_op: 
                          (StringUnary
                            op_id: VOp1_Pound
                            arg_word: {($ VSub_Name '$PERF_BUILDID_DIR')}
                          )
                        spids: [233 237]
                      )
                    }
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_DGreat
                      fd: -1
                      arg_word: {($ VSub_Name '$MANIFEST')}
                      spids: [239]
                    )
                  ]
                )
                (SimpleCommand
                  words: [
                    {(echo)}
                    {
                      (BracedVarSub
                        token: <VSub_Name filename>
                        suffix_op: 
                          (StringUnary
                            op_id: VOp1_Pound
                            arg_word: {($ VSub_Name '$PERF_BUILDID_LINKDIR')}
                          )
                        spids: [246 250]
                      )
                    }
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_DGreat
                      fd: -1
                      arg_word: {($ VSub_Name '$MANIFEST')}
                      spids: [252]
                    )
                  ]
                )
              ]
              spids: [200 256]
            )
        )
      ]
      negated: False
    )
    (C {(tar)} {(cjf)} {($ VSub_Name '$PERF_DATA') (.tar.bz2)} {(-C)} {($ VSub_Name '$PERF_BUILDID_DIR')} 
      {(-T)} {($ VSub_Name '$MANIFEST')}
    )
    (AndOr
      children: [(C {(rm)} {($ VSub_Name '$MANIFEST')} {($ VSub_Name '$BUILDIDS')}) (C {(true)})]
      op_id: Op_DPipe
    )
    (C {(echo)} {(-e)} {(DQ ('Now please run:') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>))})
    (C {(echo)} {(-e)} 
      {
        (DQ (Lit_Other '$') (' tar xvf ') ($ VSub_Name '$PERF_DATA') ('.tar.bz2 -C ~/.debug') 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>)
        )
      }
    )
    (C {(echo)} {(DQ ("wherever you need to run 'perf report' on."))})
    (C {(exit)} {(0)})
  ]
)