(CommandList
  children: [
    (C {(set)} {(-eu)})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:OUTPUT)
          op: Equal
          rhs: {(${ VSub_Name PWD) (/) ($ VSub_Number '$1')}
          spids: [50]
        )
      ]
      spids: [48]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:JEKYLL_BASE)
          op: Equal
          rhs: {(${ VSub_Name PWD) (/) ($ VSub_Number '$1')}
          spids: [61]
        )
      ]
      spids: [59]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:SKYLARK_RULE_DOCS)
          op: Equal
          rhs: {(${ VSub_Name PWD) (/) ($ VSub_Number '$1')}
          spids: [72]
        )
      ]
      spids: [70]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:BE_ZIP)
          op: Equal
          rhs: {(${ VSub_Name PWD) (/) ($ VSub_Number '$1')}
          spids: [83]
        )
      ]
      spids: [81]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:SL_ZIP)
          op: Equal
          rhs: {(${ VSub_Name PWD) (/) ($ VSub_Number '$1')}
          spids: [94]
        )
      ]
      spids: [92]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:CLR_HTML)
          op: Equal
          rhs: {(${ VSub_Name PWD) (/) ($ VSub_Number '$1')}
          spids: [105]
        )
      ]
      spids: [103]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:TMP)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(mktemp)} {(-d)} 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name TMPDIR>
                              suffix_op: 
                                (StringUnary
                                  op_id: VTest_ColonHyphen
                                  arg_word: {(Lit_Slash /) (tmp)}
                                )
                              spids: [125 130]
                            ) (/tmp.XXXXXXXX)
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [119 133]
              )
            }
          spids: [118]
        )
      ]
      spids: [116]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:OUT_DIR)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$TMP') (/out))}
          spids: [137]
        )
      ]
      spids: [135]
    )
    (C {(trap)} {(DQ ('rm -rf ') (${ VSub_Name TMP))} {(EXIT)})
    (FuncDef
      name: setup
      body: 
        (BraceGroup
          children: [
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$OUT_DIR'))})
            (C {(cd)} {(DQ ($ VSub_Name '$OUT_DIR'))})
            (C {(tar)} {(-xf)} {(DQ (${ VSub_Name JEKYLL_BASE))})
          ]
          spids: [159]
        )
      spids: [155 158]
    )
    (FuncDef
      name: unpack_build_encyclopedia
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:be_dir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs/be))}
                  spids: [203]
                )
              ]
              spids: [201]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$be_dir'))})
            (C {(unzip)} {(-qq)} {(DQ ($ VSub_Name '$BE_ZIP'))} {(-d)} {(DQ ($ VSub_Name '$be_dir'))})
            (C {(mv)} {(DQ ($ VSub_Name '$be_dir') (/be-nav.html))} 
              {(DQ ($ VSub_Name '$OUT_DIR') (/_includes))}
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$OUT_DIR') (/docs/be))})
            (ForEach
              iter_name: f
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(find)} {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs/be))} 
                            {(-name)} {(DQ ('*.html'))}
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [268 281]
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:filename)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(basename)} {(DQ ($ VSub_Name '$f'))})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [290 296]
                              )
                            }
                          spids: [289]
                        )
                      ]
                      spids: [287]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$OUT_DIR') (/docs/be/) (${ VSub_Name filename))}
                          spids: [301]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('---\n') ('layout: redirect\n') ('redirect: docs/be/') 
                                (${ VSub_Name filename) ('\n') ('---\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: T
                          spids: [311]
                        )
                      ]
                    )
                  ]
                  spids: [284 324]
                )
              spids: [267 282]
            )
          ]
          spids: [198]
        )
      spids: [194 197]
    )
    (FuncDef
      name: unpack_skylark_library
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sl_dir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs/skylark/lib))}
                  spids: [341]
                )
              ]
              spids: [339]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$sl_dir'))})
            (C {(unzip)} {(-qq)} {(DQ ($ VSub_Name '$SL_ZIP'))} {(-d)} {(DQ ($ VSub_Name '$sl_dir'))})
            (C {(mv)} {(DQ ($ VSub_Name '$sl_dir') (/skylark-nav.html))} 
              {(DQ ($ VSub_Name '$OUT_DIR') (/_includes))}
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$OUT_DIR') (/docs/skylark/lib))})
            (ForEach
              iter_name: f
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(find)} 
                            {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs/skylark/lib))} {(-name)} {(DQ ('*.html'))}
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [406 419]
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:filename)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(basename)} {(DQ ($ VSub_Name '$f'))})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [428 434]
                              )
                            }
                          spids: [427]
                        )
                      ]
                      spids: [425]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: 
                            {
                              (DQ ($ VSub_Name '$OUT_DIR') (/docs/skylark/lib/) (${ VSub_Name filename))
                            }
                          spids: [439]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('---\n') ('layout: redirect\n') ('redirect: docs/skylark/lib/') 
                                (${ VSub_Name filename) ('\n') ('---\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: T
                          spids: [449]
                        )
                      ]
                    )
                  ]
                  spids: [422 462]
                )
              spids: [405 420]
            )
          ]
          spids: [336]
        )
      spids: [332 335]
    )
    (FuncDef
      name: copy_skylark_rule_doc
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rule_family)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [476]
                )
              ]
              spids: [474]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rule_family_name)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [482]
                )
              ]
              spids: [480]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:be_dir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs/be))}
                  spids: [488]
                )
              ]
              spids: [486]
            )
            (Subshell
              child: 
                (CommandList
                  children: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('---\n') ('layout: documentation\n') ('title: ') 
                                (${ VSub_Name rule_family_name) (' Rules\n') ('---\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: T
                          spids: [500]
                        )
                      ]
                    )
                    (Sentence
                      child: 
                        (C {(cat)} 
                          {
                            (DQ ($ VSub_Name '$TMP') (/skylark/) ($ VSub_Name '$rule_family') 
                              (/README.md)
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                )
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$be_dir') (/) (${ VSub_Name rule_family) (.md))}
                  spids: [525]
                )
              ]
              spids: [496 523]
            )
          ]
          spids: [471]
        )
      spids: [467 470]
    )
    (FuncDef
      name: unpack_skylark_rule_docs
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tmp_dir)
                  op: Equal
                  rhs: {($ VSub_Name '$TMP') (/skylark)}
                  spids: [548]
                )
              ]
              spids: [546]
            )
            (C {(mkdir)} {(-p)} {($ VSub_Name '$tmp_dir')})
            (C {(cd)} {(DQ ($ VSub_Name '$tmp_dir'))})
            (C {(tar)} {(-xf)} {(DQ (${ VSub_Name SKYLARK_RULE_DOCS))})
            (C {(copy_skylark_rule_doc)} {(docker)} {(DQ (Docker))})
            (C {(copy_skylark_rule_doc)} {(pkg)} {(DQ (Packaging))})
          ]
          spids: [543]
        )
      spids: [539 542]
    )
    (FuncDef
      name: process_doc
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:f)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [607]
                )
              ]
              spids: [605]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tempf)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(mktemp)} {(-t)} {(bazel-doc-XXXXXX)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [614 620]
                      )
                    }
                  spids: [613]
                )
              ]
              spids: [611]
            )
            (C {(chmod)} {(Lit_Other '+') (w)} {($ VSub_Name '$f')})
            (Pipeline
              children: [
                (C {(cat)} {(DQ ($ VSub_Name '$f'))})
                (SimpleCommand
                  words: [{(sed)} {(SQ <'s,\\.md,.html,g;s,Blaze,Bazel,g;s,blaze,bazel,g'>)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$tempf'))}
                      spids: [646]
                    )
                  ]
                )
              ]
              negated: F
            )
            (SimpleCommand
              words: [{(cat)} {(DQ ($ VSub_Name '$tempf'))}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$f'))}
                  spids: [659]
                )
              ]
            )
          ]
          spids: [602]
        )
      spids: [598 601]
    )
    (FuncDef
      name: process_docs
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: f
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(find)} {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs))} {(-name)} 
                            {(DQ ('*.html'))}
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [681 694]
                  )
                }
              ]
              do_arg_iter: F
              body: (DoGroup children:[(C {(process_doc)} {($ VSub_Name '$f')})] spids:[697 705])
              spids: [680 695]
            )
            (ForEach
              iter_name: f
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(find)} {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs))} {(-name)} 
                            {(DQ ('*.md'))}
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [714 727]
                  )
                }
              ]
              do_arg_iter: F
              body: (DoGroup children:[(C {(process_doc)} {($ VSub_Name '$f')})] spids:[730 738])
              spids: [713 728]
            )
            (ForEach
              iter_name: f
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(find)} {(DQ ($ VSub_Name '$OUT_DIR') (/designs))} {(-name)} {(DQ ('*.md'))})
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [747 760]
                  )
                }
              ]
              do_arg_iter: F
              body: (DoGroup children:[(C {(process_doc)} {($ VSub_Name '$f')})] spids:[763 771])
              spids: [746 761]
            )
          ]
          spids: [672]
        )
      spids: [668 671]
    )
    (FuncDef
      name: package_output
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$OUT_DIR'))})
            (C {(tar)} {(-hcf)} {($ VSub_Name '$OUTPUT')} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [(C {(find)} {(.)} {(-type)} {(f)}) (C {(sort)})]
                          negated: F
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [796 808]
                )
              }
            )
          ]
          spids: [780]
        )
      spids: [776 779]
    )
    (FuncDef
      name: main
      body: 
        (BraceGroup
          children: [
            (C {(setup)})
            (C {(unpack_build_encyclopedia)})
            (C {(unpack_skylark_library)})
            (C {(unpack_skylark_rule_docs)})
            (C {(cp)} {(${ VSub_Name CLR_HTML)} {(${ VSub_Name OUT_DIR) (/versions/master/docs)})
            (C {(process_docs)})
            (C {(package_output)})
          ]
          spids: [817]
        )
      spids: [813 816]
    )
    (C {(main)})
  ]
)