<!--
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.
-->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Traffic Router Loadtest</title>
    <script
        integrity="sha384-HERpnF+tlZ/PxhCuxaUfTFrU8tKctj33vfD60o0LCNaYDxhrZsk45o1QG9L8GV1y"
        crossorigin="anonymous"
        src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.2.6/d3.min.js"
    ></script>
    <script
        integrity="sha384-7pfELK0arQ3VANqV4kiPWPh5wOsrfitjFGF/NdyHXUJ3JJPy/rNhasPtdkaNKhul"
        crossorigin="anonymous"
        src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"
    ></script>
    <script
        integrity="sha384-bQIyvl+8Ufi5KiKZPG9VItNWmhcAXA1pa5nHIEoBGob+rdbjJnpNV3s288Mz2yZu"
        crossorigin="anonymous"
        src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.js"
    ></script>
    <script
        integrity="sha384-ZzFfcTbsRst34N23lWs6TtlfonXwDgpeALh+ObwYXav5BSo0j7KsaAtcdn+xrnS1"
        crossorigin="anonymous"
        src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react-dom.js"
    ></script>
    <script
        integrity="sha384-Fw04PJPC6ayYz0V6lPpRaiQxouxskHt/AjlelA2NWboTMnn5niXpXMyN4hftijud"
        crossorigin="anonymous"
        src="https://unpkg.com/babel-core@5.8.38/browser.min.js"
    ></script>
    <link
        integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
        crossorigin="anonymous"
        rel="stylesheet"
        href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
    >
    <script
        integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ"
        crossorigin="anonymous"
        src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"
    ></script>
    <script
        integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
        crossorigin="anonymous"
        src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
    ></script>
    <link href="css/loadtest.css" rel="stylesheet">
    <script src="js/load-test.jsx" type="text/babel"></script>
</head>

<body>
<script>

</script>
<div class="container">
    <div class="well">
        <h1>Traffic Router Loadtest </h1>
    </div>
    <div id="loadtest"></div>
</div>
</body>
</html>
