<!--
Copyright (C) 2013 Apple Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
-->
<!DOCTYPE html>
<html>
<head>
    <title>WebKit Bot Watcher's Dashboard</title>

    <link rel="stylesheet" href="Styles/Main.css"></link>
    <link rel="stylesheet" href="Styles/Popover.css"></link>
    <link rel="stylesheet" href="Styles/QueueView.css"></link>
    <link rel="stylesheet" href="Styles/StatusLineView.css"></link>

    <script src="Scripts/Utilities.js"></script>
    <script src="Scripts/BaseObject.js"></script>
    <script src="Scripts/Dashboard.js"></script>
    <script src="Scripts/Buildbot.js"></script>
    <script src="Scripts/Bugzilla.js"></script>
    <script src="Scripts/BubbleQueueServer.js"></script>
    <script src="Scripts/WebKitBuildbot.js"></script>
    <script src="Scripts/BuildbotQueue.js"></script>
    <script src="Scripts/BubbleQueue.js"></script>
    <script src="Scripts/BuildbotIteration.js"></script>
    <script src="Scripts/BuildbotTestResults.js"></script>
    <script src="Scripts/Geometry.js"></script>
    <script src="Scripts/Popover.js"></script>
    <script src="Scripts/PopoverTracker.js"></script>
    <script src="Scripts/QueueView.js"></script>
    <script src="Scripts/BuildbotQueueView.js"></script>
    <script src="Scripts/BuildbotBuilderQueueView.js"></script>
    <script src="Scripts/BuildbotTesterQueueView.js"></script>
    <script src="Scripts/BuildbotCombinedQueueView.js"></script>
    <script src="Scripts/BuildbotPerformanceQueueView.js"></script>
    <script src="Scripts/BuildbotLeaksQueueView.js"></script>
    <script src="Scripts/BubbleQueueView.js"></script>
    <script src="Scripts/StatusLineView.js"></script>
    <script src="Scripts/Settings.js"></script>
    <script src="Scripts/Trac.js"></script>
    <script src="Scripts/WebKitTestHistory.js"></script>
    <script src="Scripts/Initialization.js"></script>
    <script src="Scripts/Main.js"></script>
</head>
<body></body>
</html>
