<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You 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.
-->
<project name="RNG"
    xmlns="http://maven.apache.org/DECORATION/1.6.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/DECORATION/1.6.0 http://maven.apache.org/xsd/decoration-1.6.0.xsd">
  <bannerRight>
    <name>Apache Commons RNG</name>
    <!-- Use a full URL allows a correct banner for the modules. -->
    <src>https://commons.apache.org/proper/commons-rng/images/commons_rng.small.png</src>
    <href>https://commons.apache.org/proper/commons-rng/index.html</href>
  </bannerRight>

  <body>
    <head>
      <![CDATA[<script type="text/javascript" id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
      </script>]]>
    </head>

    <menu name="RNG">
      <item name="Overview" href="/index.html"/>
      <item name="Downloads" href="https://commons.apache.org/rng/download_rng.cgi"/>
      <item name="Issue Tracking" href="/issue-tracking.html"/>
      <item name="Source Repository (current)"
         href="https://gitbox.apache.org/repos/asf/commons-rng.git"/>
      <!-- <item name="Wiki"   -->
      <!--       href="http://wiki.apache.org/commons/RNG"/> -->
      <item name="Developers Guide" href="/developers.html"/>
      <item name="Release History" href="/release-history.html" />
    </menu>

    <menu name="User Guide">
      <item name="Contents" href="/userguide/index.html"/>
    </menu>
  </body>

  <custom>
    <!-- Custom properties controlling the commons-skin template. -->
    <commonsSkin>
      <!-- 
        Convert preformatted source section tags to prettyprint:
          <div class="source"><pre> to <div class="source"><pre class="prettyprint">
      -->
      <prettyPrintSourcePreTags>true</prettyPrintSourcePreTags>

      <!-- Add the "linenums" class to the prettyprint enabled source tags -->
      <prettyPrintLineNumbersEnabled>false</prettyPrintLineNumbersEnabled>
    </commonsSkin>
  </custom>
</project>
