<!--
    Copyright 2015 The Android Open Source Project

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
--><?cs # Table of contents for source.?>
<ul id="nav">
  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>source/index.html">
        <span class="en">Overview</span>
      </a>
    </div>
    <ul>
      <li><a href="<?cs var:toroot ?>source/code-lines.html">Codelines, Branches, and Releases</a></li>
      <li><a href="<?cs var:toroot ?>source/build-numbers.html">Codenames, Tags, and Build Numbers</a></li>
      <li><a href="<?cs var:toroot ?>source/roles.html">Project Roles</a></li>
      <li><a href="<?cs var:toroot ?>source/brands.html">Brand Guidelines</a></li>
      <li><a href="<?cs var:toroot ?>source/licenses.html">Licenses</a></li>
      <li><a href="<?cs var:toroot ?>source/faqs.html">FAQ</a></li>
    </ul>
  </li>


  <li class="nav-section">
      <div class="nav-section-header">
        <a href="<?cs var:toroot ?>source/requirements.html">
          <span class="en">Downloading and Building</span>
        </a>
      </div>
       <ul>
        <li><a href="<?cs var:toroot ?>source/initializing.html">Establishing a Build Environment</a></li>
        <li><a href="<?cs var:toroot ?>source/downloading.html">Downloading the Source</a></li>
        <li><a href="<?cs var:toroot ?>source/building.html">Building the System</a></li>
        <li><a href="<?cs var:toroot ?>source/jack.html">Compiling with Jack</a></li>
        <li><a href="<?cs var:toroot ?>source/running.html">Running Builds</a></li>
        <li><a href="<?cs var:toroot ?>source/building-kernels.html">Building Kernels</a></li>
        <li><a href="<?cs var:toroot ?>source/known-issues.html">Known Issues</a></li>
      </ul>
  </li>
  <li class="nav-section">
          <div class="nav-section-header">
            <a href="<?cs var:toroot ?>source/developing.html">
              <span class="en">Developing</span>
            </a>
          </div>
          <ul>
            <li><a href="<?cs var:toroot ?>source/using-repo.html">Using Repo</a></li>
            <li><a href="<?cs var:toroot ?>source/git-resources.html">Learning Git</a></li>
            <li><a href="<?cs var:toroot ?>source/add-device.html">Adding a New Device</a></li>
            <li><a href="<?cs var:toroot ?>source/64-bit-builds.html">Understanding 64-bit Builds</a></li>
          </ul>
  </li>

  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>source/contributing.html">
        <span class="en">Contributing</span>
      </a>
    </div>
       <ul>
        <li><a href="<?cs var:toroot ?>source/life-of-a-patch.html">Life of a Patch</a>
        <li><a href="<?cs var:toroot ?>source/submit-patches.html">Submitting Patches</a></li>
        <li><a href="http://android-review.googlesource.com">View Patches</a></li>
        <li><a href="<?cs var:toroot ?>source/life-of-a-bug.html">Life of a Bug</a></li>
        <li><a href="<?cs var:toroot ?>source/report-bugs.html">Reporting Bugs</a></li>
        <li><a href="<?cs var:toroot ?>source/code-style.html">Code Style Rules</a></li>
      </ul>
  </li>

  <li class="nav-section">
    <div class="nav-section-header empty">
      <a href="<?cs var:toroot ?>source/community.html">
        <span class="en">Community</span>
      </a>
    </div>
  </li>

</ul>
