(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)})
  ]
)