<!--
Copyright (C) 2006, 2007 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. 
3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
    its contributors may be used to endorse or promote products derived
    from this software without specific prior written permission. 

THIS SOFTWARE IS PROVIDED BY APPLE 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 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 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="inspector.css" />
    <script type="text/javascript" src="utilities.js"></script>
    <script type="text/javascript" src="treeoutline.js"></script>
    <script type="text/javascript" src="inspector.js"></script>
    <script type="text/javascript" src="Resource.js"></script>
    <script type="text/javascript" src="ResourceCategory.js"></script>
    <script type="text/javascript" src="Database.js"></script>
    <script type="text/javascript" src="SidebarPane.js"></script>
    <script type="text/javascript" src="PropertiesSection.js"></script>
    <script type="text/javascript" src="MetricsSidebarPane.js"></script>
    <script type="text/javascript" src="PropertiesSidebarPane.js"></script>
    <script type="text/javascript" src="StylesSidebarPane.js"></script>
    <script type="text/javascript" src="Panel.js"></script>
    <script type="text/javascript" src="ResourcePanel.js"></script>
    <script type="text/javascript" src="SourcePanel.js"></script>
    <script type="text/javascript" src="ConsolePanel.js"></script>
    <script type="text/javascript" src="DatabasePanel.js"></script>
    <script type="text/javascript" src="DocumentPanel.js"></script>
    <script type="text/javascript" src="FontPanel.js"></script>
    <script type="text/javascript" src="ImagePanel.js"></script>
    <script type="text/javascript" src="NetworkPanel.js"></script>
</head>
<body class="detached">
    <div id="toolbar">
        <button id="back" class="split-button first"><img></button><img class="split-button-divider"><button id="forward" class="split-button last"><img></button>
        <span id="toolbarButtons"></span>
        <input id="search" type="search" autosave="inspectorSearch" results="20" incremental="incremental" onsearch="WebInspector.performSearch(this.value)">
    </div>
    <div id="sidebar" class="focusable focused">
        <ol id="list"></ol>
        <ol id="status"></ol>
        <div id="statusbar">
            <button id="attachToggle"></button>
            <span id="sidebarResizeWidget"></span>
        </div>
        <div id="sidebarResizer" class="sidebar-resizer-vertical sidebar-resizer-vertical-left"></div>
    </div>
    <div id="main" class="focusable blurred">
        <div id="searchResults" class="focusable hidden"></div>
        <div id="searchResultsResizer" class="hidden"></div>
        <div id="panels"></div>
    </div>
</body>
</html>
