// Copyright 2016 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Code generated by go-bindata.
// sources:
// assets/alltrace.html
// assets/blessings.html
// assets/chrome.html
// assets/collection.html
// assets/glob.html
// assets/logs.html
// assets/no_syncbase.html
// assets/profiles.html
// assets/resolve.html
// assets/stats.html
// assets/syncbase.html
// assets/vtrace.html
// DO NOT EDIT!

package browseserver

import (
	"bytes"
	"compress/gzip"
	"fmt"
	"io"
	"io/ioutil"
	"os"
	"path/filepath"
	"strings"
	"time"
)

func bindataRead(data []byte, name string) ([]byte, error) {
	gz, err := gzip.NewReader(bytes.NewBuffer(data))
	if err != nil {
		return nil, fmt.Errorf("Read %q: %v", name, err)
	}

	var buf bytes.Buffer
	_, err = io.Copy(&buf, gz)
	clErr := gz.Close()

	if err != nil {
		return nil, fmt.Errorf("Read %q: %v", name, err)
	}
	if clErr != nil {
		return nil, err
	}

	return buf.Bytes(), nil
}

type asset struct {
	bytes []byte
	info  os.FileInfo
}

type bindataFileInfo struct {
	name    string
	size    int64
	mode    os.FileMode
	modTime time.Time
}

func (fi bindataFileInfo) Name() string {
	return fi.name
}
func (fi bindataFileInfo) Size() int64 {
	return fi.size
}
func (fi bindataFileInfo) Mode() os.FileMode {
	return fi.mode
}
func (fi bindataFileInfo) ModTime() time.Time {
	return fi.modTime
}
func (fi bindataFileInfo) IsDir() bool {
	return false
}
func (fi bindataFileInfo) Sys() interface{} {
	return nil
}

var _alltraceHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x94\x54\x4f\x6f\xdb\x3e\x0c\xbd\xe7\x53\x10\x46\xf1\x73\xda\xfe\x62\xb7\x05\xb6\x43\x62\x7b\x68\xbb\x0e\x28\x50\xf4\xd2\x6e\x97\x61\x07\xc5\xa2\x63\xad\x8a\x14\x48\x72\xb6\xc0\xf3\x77\x1f\x25\x3b\x7f\x77\xd9\x7c\x68\x29\x9a\x7c\x7a\x7c\x8f\x4e\xdb\xa6\x17\x23\xa0\xe7\x5e\xaf\x36\x46\x2c\x6a\x07\x37\x57\xd7\xef\xe1\xb5\x46\xf8\xc2\x14\xe3\xa2\x59\xc2\x6d\xe3\x6a\x6d\x6c\x02\xb7\x52\x42\x28\xb2\x60\xd0\xa2\x59\x23\x4f\x42\xf7\x67\x8b\xa0\x2b\x70\xb5\xb0\x60\x75\x63\x4a\x84\x52\x73\x04\x3a\x2e\xf4\x1a\x8d\x42\x0e\xf3\x0d\x30\xb8\x7b\xf9\x38\xb1\x6e\x23\x31\xb4\x49\x51\xa2\xa2\x56\x57\x33\x07\x25\x53\x30\x47\xa8\x74\xa3\x38\x08\x45\x49\x84\xa7\xc7\xfb\x87\xe7\x97\x07\xa8\x84\xc4\x64\x74\x91\x76\xdd\x68\xd4\xb6\x1c\x2b\xa1\x10\xa2\x52\x2b\x87\xca\x45\x94\xcd\x6c\x69\xc4\xca\x81\x64\x6a\xd1\xb0\x05\xe6\xf1\x77\xb6\x66\x7d\x32\x2e\xc2\x65\x55\xa3\x4a\x27\xb4\x02\x5b\xeb\x1f\x8f\xdc\x7e\xd2\xe6\x89\xcd\x51\x8e\xa5\xff\x7b\x0e\x6d\xa8\xf2\xcf\x9a\x19\x50\x44\xdf\x42\x0e\x5c\x97\xcd\x92\x2e\x49\x16\xe8\x1e\x24\xfa\xd0\xde\x6d\xee\x25\xb3\xf6\x99\x2d\x71\x1c\x87\xee\x89\xa7\xc2\x88\x94\x89\xcf\x67\x3b\x9c\x4a\x1b\x18\x7b\x30\x41\x40\x57\x33\xfa\x97\xf5\xb8\x89\x44\xb5\x70\x35\x65\x2e\x2f\x0f\x2f\x3e\xbc\x9c\x5a\x42\xed\x57\xf1\x6d\x76\x54\x20\x2a\x18\xfb\x37\x09\x67\x8e\x59\x74\x49\x60\x00\x79\x9e\xc3\x1f\x93\x6c\x9f\x50\x1f\x74\x4f\xb8\xb0\x2b\xc9\x36\x04\x1f\xcf\xa5\x2e\xdf\xe2\x63\xf4\x0e\x50\x92\x23\x7f\x0b\xa1\xb4\xc2\x53\x84\xd1\x71\x44\xe6\xa4\xbd\x11\x05\xd9\x84\xbd\x07\xa5\x17\x30\x8f\x86\xe3\x84\xd6\xc0\xa1\x81\x25\x97\x93\x85\x11\x3c\xea\x1d\x6b\xdb\xb3\x79\x53\xbe\x21\xad\xdb\x34\x87\xe4\xae\x8f\xbb\x1e\x36\x5b\x15\x6d\x6b\xc8\x6e\x84\xb3\x5e\x01\x5f\xf3\xa2\x8d\x43\x1e\x7c\xa5\x42\x8f\x20\x78\xe8\x16\x8a\xe3\x4f\xd8\xe1\xf5\x2d\xa1\x82\xf4\x24\x3b\x20\x14\xfe\x02\xe9\xe0\xaa\xeb\x32\x06\xb5\xc1\x2a\x8f\xf6\x5b\x34\x3d\x5d\x9b\x98\xc0\x07\x94\xf8\x3c\x2a\xf6\xa7\x2c\x65\x74\xf2\x32\x76\xdd\x3e\x4b\x19\xc5\xbb\xbd\x38\x87\xe7\x2c\x5d\x15\x5e\xa5\x5e\x8d\x7f\x95\x29\xab\xdf\x15\xaf\x86\x95\x68\xb3\x94\x42\x3f\xb4\xa2\xd5\xec\xf5\xf0\x1f\xa9\xf1\x9b\x1a\x66\xdd\xea\xf5\x3f\x6c\x75\x39\x55\x95\x8b\x35\xf8\xc5\x9a\x04\xda\x79\xe4\x07\xe8\xba\x08\x82\xf3\x79\x34\x58\x3f\xf5\xbe\xcf\x56\xda\x0a\xcf\x6b\x6a\x50\x32\x27\xd6\x18\x6d\x09\x7b\x86\x25\xd2\xaf\xc5\x36\x98\x4c\xae\x6f\xe8\x23\x91\x70\xf2\xb9\x0c\x23\x0c\x6e\xcb\x03\x7d\xb2\x46\x16\x47\x7b\xb5\x63\x2f\xb8\x27\xee\x07\x38\x28\x0f\x2d\x52\x14\x3b\xe7\xd2\xb5\xf3\x9a\x7c\x50\xf9\xa0\x47\xd7\xfd\xe7\xf2\xb0\x10\xc9\x23\x09\x1f\x1c\x1b\x62\xef\x58\x96\x52\xf7\xc9\x85\xc7\x8e\x65\xe9\x96\x52\x96\x92\x4c\xc5\xf6\xfd\x81\x71\x43\xea\x77\x00\x00\x00\xff\xff\xbf\xe1\x74\x56\x56\x05\x00\x00")

func alltraceHtmlBytes() ([]byte, error) {
	return bindataRead(
		_alltraceHtml,
		"alltrace.html",
	)
}

func alltraceHtml() (*asset, error) {
	bytes, err := alltraceHtmlBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "alltrace.html", size: 0, mode: os.FileMode(420), modTime: time.Unix(0, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _blessingsHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x56\x4f\x6f\xeb\x36\x0c\xbf\xe7\x53\x10\xd9\x0e\x5d\x31\xdb\x6b\x81\xf5\x50\xb8\x06\xda\x34\x87\x62\xc3\x36\xa4\xdd\xbb\x16\x8a\xc5\xc4\x7a\x50\xa4\x42\x92\xd3\xe6\x19\xfe\xee\x8f\xb2\x1c\xe7\xcf\x4b\x52\x24\x2f\xb9\x44\x12\xc9\x1f\x49\xfd\x48\xca\x55\x95\x5c\xf6\x80\x7e\x03\xfd\xb6\x30\x62\x5a\x38\xb8\xfe\xe3\xea\x06\x5e\x0a\x84\x2f\x4c\x31\x2e\xca\x19\xdc\x97\xae\xd0\xc6\xc6\x70\x2f\x25\x34\x4a\x16\x0c\x5a\x34\x73\xe4\x71\x63\xfd\xbf\x45\xd0\x13\x70\x85\xb0\x60\x75\x69\x72\x84\x5c\x73\x04\xda\x4e\xf5\x1c\x8d\x42\x0e\xe3\x05\x30\x78\x78\x7e\x8c\xac\x5b\x48\x6c\xcc\xa4\xc8\x51\x91\xa9\x2b\x98\x83\x9c\x29\x18\x23\x4c\x74\xa9\x38\x08\x45\x87\x08\x7f\x3f\x0d\x86\xff\x3c\x0f\x61\x22\x24\xc6\xbd\xcb\xa4\xae\x7b\xbd\xaa\xe2\x38\x11\x0a\xa1\x9f\x6b\xe5\x50\xb9\x3e\x9d\xa6\x16\x73\x27\xb4\x82\x5c\x32\x6b\xef\xfa\xed\x36\x8a\xc8\x81\x43\x03\x33\x2e\xa3\xa9\x11\xbc\x9f\x35\x8e\xd3\xe2\xcf\x6c\x20\x99\x98\x21\x4f\x13\x5a\x87\x43\x2e\xe6\x4b\x7b\xaf\x9f\x23\xa5\xbb\x5c\x44\xd1\xd5\x75\x94\x6b\xd9\x02\xf8\x5f\x55\xc5\x0f\x12\xad\x15\x6a\x6a\x29\x84\x06\x22\x21\x8c\xac\x97\x26\xad\xff\xcc\x87\xfb\x2e\x5c\x01\xf1\x08\x73\x3d\x55\xe2\x1b\xf2\xd3\xc2\x5d\xd9\x9f\x1e\x71\x5a\xca\xd5\x26\xa4\x60\x98\x9a\x22\xc4\x6d\xfc\x9d\xa2\x14\x19\xa5\x57\xd7\x69\x42\xab\x2d\x13\x54\x7c\x4d\x3d\x4d\x96\xa0\x3f\x26\xbf\xd4\x3d\x25\xdf\xff\xca\x31\x95\xc7\x5f\xb8\x38\x32\x5d\xaa\x95\x0f\xe4\xd1\xbb\xe0\xae\xd8\x43\x56\xdc\x61\x7f\x4e\xdb\x00\x8d\x13\x13\x91\x33\x87\x83\x82\x09\x65\x4f\x2c\xb6\x15\x0c\x04\x1c\xb8\x78\xd1\x8e\xc9\x5b\x8a\x4c\xa2\xf2\x0c\xfc\xf6\x33\xa5\x18\x78\xfc\x35\xf7\xd8\x82\x7f\xfc\xde\x2e\xe1\xf6\x6e\x83\xdc\x23\x43\xef\xcc\x8a\x9b\xac\x09\x1b\x7e\xa9\xaa\xce\x89\x2f\x0f\x12\x6c\x6a\x1e\x19\x79\x67\xe7\xd8\x58\xe2\xba\x25\x67\x8e\x45\xe1\xd4\x6f\xbf\xda\xed\x93\xd5\x36\x8a\x2c\x4a\xca\xa4\x13\xd9\x82\x71\xfd\x1e\x45\xd7\xfc\x6d\x87\xaf\xe0\xaf\x40\xc6\x77\xcb\x82\xdc\xec\x17\x06\x05\xbe\x3b\xda\xd7\xd7\x90\xaa\xa2\x6b\x55\xe5\x0c\x8d\xc8\xfb\xeb\xfc\xa7\x89\x3b\xe0\xf7\x78\xe8\xe1\x07\x0d\x41\x4b\x24\x9e\x1b\xb8\xe9\x17\x1a\xdc\xa1\x5b\xa0\x69\xc5\xf3\x7a\x18\xb0\x39\x32\x67\x0f\xc3\x92\x74\x0f\x15\x24\xd9\x4f\x62\xea\xc6\x9a\x2f\xf6\xc3\xae\x5a\xc6\x53\x13\x3a\x86\x56\xbe\x61\x42\x81\x6f\x8d\xc4\x4d\xec\xcf\x8b\x23\xf3\x8d\x12\xa0\x7d\x9f\x9c\xf7\xe2\x5a\xec\xb8\xe3\xfe\xdc\x2e\x36\xa7\x68\x55\x95\x6a\xc6\x0c\x75\x95\xec\x46\x67\xb8\xae\xf5\x51\x7a\xfe\x24\xfd\x60\x0c\x6e\xda\x4a\xa9\xeb\x35\xde\xd8\xbc\xa5\x8d\xcd\x03\x6b\x1b\x8a\x07\x03\x69\x82\x19\x9b\x24\x6b\xc6\x59\x03\x54\xd7\x7e\x14\xfb\x4d\xe3\x64\xf3\x91\xdb\x69\x7f\x62\xd5\xfa\xdf\x21\x7c\xb2\xdc\x5d\xb9\x24\xf0\x77\xb5\x35\x6f\xc3\xd3\xb5\xda\x76\x4f\xd8\x2e\x5f\xfb\x9f\xe8\xe5\x7b\x37\x34\x46\x9b\xd3\xde\xb8\x54\x74\xe4\xd2\x98\x33\x82\xc9\x48\xd0\x27\x9a\xed\x67\x42\x4d\x74\x9a\x88\x6c\x38\x1a\xfd\x3b\xba\xa8\x2a\xfa\x22\x24\x2f\x4f\x8f\xa7\xbc\x7a\xdb\x95\xd9\x7c\xa4\xec\xcf\xaa\xf9\xff\x1e\x00\x00\xff\xff\x37\x19\x1f\xac\xe6\x0a\x00\x00")

func blessingsHtmlBytes() ([]byte, error) {
	return bindataRead(
		_blessingsHtml,
		"blessings.html",
	)
}

func blessingsHtml() (*asset, error) {
	bytes, err := blessingsHtmlBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "blessings.html", size: 0, mode: os.FileMode(420), modTime: time.Unix(0, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _chromeHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x59\x6d\x6f\xe3\xb8\x11\xfe\x9e\x5f\xc1\x73\x51\xd8\xde\x8b\x24\x67\xef\x05\xbb\x5e\x3b\x87\x9c\x37\xbd\xdb\x36\x97\x3d\x34\xe9\x15\x45\x10\x04\xb4\x44\x4b\x5c\x53\xa4\x40\xd2\x76\x5c\xc3\xff\xbd\x43\x4a\xb2\x25\x5a\xca\x26\xe7\x26\xc0\xae\x25\x71\xf8\xcc\x0b\x67\x1e\x8e\xa8\xcd\x26\x78\x73\x82\xe0\x6f\x22\xb2\xb5\xa4\x71\xa2\xd1\xdb\xc1\xd9\x8f\xe8\x36\x21\xe8\x0f\xcc\x71\x44\x17\x29\xba\x58\xe8\x44\x48\xe5\xa3\x0b\xc6\x90\x15\x52\x48\x12\x45\xe4\x92\x44\xbe\x9d\xfd\x2f\x45\x90\x98\x21\x9d\x50\x85\x94\x58\xc8\x90\xa0\x50\x44\x04\xc1\x6d\x2c\x96\x44\x72\x12\xa1\xe9\x1a\x61\xf4\xf3\xcd\x47\x4f\xe9\x35\x23\x76\x1a\xa3\x21\xe1\x30\x55\x27\x58\xa3\x10\x73\x34\x25\x68\x26\x16\x3c\x42\x94\xc3\x43\x82\xae\x3e\x4d\x2e\xaf\x6f\x2e\xd1\x8c\x32\xe2\x9f\xbc\x09\xb6\xdb\x93\x93\xd1\x37\x1f\x3f\x4f\x6e\xff\xf3\xfb\x25\x4a\x74\xca\xce\x4f\x46\xe6\x07\x3d\xa6\x8c\xab\x71\x27\xd1\x3a\x1b\x06\xc1\x6a\xb5\xf2\x57\xdf\xf9\x42\xc6\xc1\xd9\xfb\xf7\xef\x83\x47\x23\xd3\x39\x87\xc9\x09\xc1\xd1\xb9\x55\x3e\xd2\x54\x33\x72\xfe\x91\x4c\x17\x71\x4c\x79\x8c\x36\x1b\xff\xc6\xf8\x24\xaf\x71\x4a\xb6\xdb\x51\x90\x0b\xe4\xc2\x29\xd1\x18\x71\x18\x18\x77\x96\x94\xac\x32\x21\x75\x07\x7c\xe4\x9a\x70\x3d\xee\xac\x68\xa4\x93\x71\x44\x96\xe0\x90\x67\x6f\x4e\xc1\x05\xaa\x29\x66\x9e\x0a\x31\x23\xe3\x33\x7f\xd0\x29\xa0\x18\xe5\x73\x88\x1f\x1b\x77\x6c\x24\x54\x42\x08\x60\x25\x92\xcc\x72\xfb\x15\x38\xa0\xb4\x90\x38\x26\x7e\x2c\x44\xcc\x08\xce\xa8\xf2\x43\x91\x06\x26\xa8\x7e\x4c\x74\x1a\x31\x9f\x8a\x00\x40\xfd\x1f\x83\x14\x6b\x22\x41\x93\xaf\x09\xa8\x9b\xb2\x05\xf1\x53\xca\xfd\x50\xa9\x52\xa3\x0a\x25\xcd\x34\x52\x32\x3c\x52\x83\xc1\xfd\x02\xb0\xa3\x20\x87\x7c\x81\x47\x33\x88\x95\x72\xb5\x51\x88\xe0\x4f\x33\x9c\x52\xb6\x1e\xff\x56\x28\xf9\xf6\x13\x3c\xdc\x9b\x6e\x00\xf3\x6b\xf3\xe7\xcf\xe8\x23\x89\xf2\x10\xa3\xcd\xee\xb1\xf9\x33\x0a\xbc\x1c\x6b\x88\x52\xc1\x85\xca\x70\x48\x3e\xec\x64\x20\x75\xca\xcb\xa9\x88\xd6\xc8\x64\x02\x91\x0e\xc8\x14\x87\xf3\x58\x9a\x14\xf4\x42\xc1\x84\x1c\xa2\xbf\x0c\x06\xef\xbe\x7b\xf7\x37\xf4\x0d\x4d\xcd\xa2\x63\xae\x1b\x21\x7d\x08\x98\x17\x61\x8d\x3d\x8d\xa7\x8c\x3c\x3c\x84\x84\x31\xcf\xe3\x82\x7b\x7c\x91\x82\x63\x21\xca\x24\x71\xb4\xa5\x58\x42\xe6\x0d\xd1\x20\x7b\xfc\x50\x1b\x58\x25\x54\x13\xcf\x3a\x30\x34\xf3\xbc\x95\xc4\x59\xb3\xde\x30\xc1\x52\x7b\x26\x13\x31\xe5\x8e\x3f\x99\x50\x90\x83\x02\x34\xc0\xe2\x60\x4d\x97\xa4\xaa\xc6\x06\x71\x88\xde\x0d\x1c\xf5\x09\x31\x25\x3e\x44\xdf\xd7\x07\xaa\x4a\xb1\x24\xd8\xb3\x9a\x5b\xf4\xe1\xa9\x12\x6c\xa1\x6b\xfa\x22\xaa\x32\x86\x61\x71\x20\x28\xcd\xeb\x52\xc1\xf5\x15\x61\x24\xd4\xc0\x1b\x9b\x26\x88\x29\x13\xe1\xbc\x19\x23\x5a\x48\x6c\x8c\xf0\x72\x04\x21\x5b\x82\x33\x15\x5a\x8b\x14\xfc\xaf\x7b\x2f\x73\xe7\xdf\x3a\x41\x79\xa6\x6b\x33\x46\x6a\xd3\xa0\x32\x88\x57\x06\xd4\xc5\x6c\x7e\xfe\xa4\x2f\x35\x0f\xc2\x85\x54\x26\x45\x33\x41\x81\x87\x64\xcd\x5c\x1c\x45\xc0\x69\x36\xb5\xd0\xf7\xf0\xaf\xf8\x7d\xa6\x9a\x21\x17\xba\xb7\x5b\x82\xfe\x30\x31\x24\x5e\x8f\xde\x61\xa1\x4c\x26\x93\x67\xc2\x37\x2f\x6e\x5b\xed\xcd\xaa\x8e\x15\x23\xb6\x40\xaa\xda\xcc\xff\xc0\x4a\x7b\xb6\x28\x49\x4f\xaf\x33\xe0\x6c\x4d\x1e\x75\xf0\x05\x2f\x71\xfe\xb4\x53\xe7\x42\xb3\x5d\xc4\x4a\x83\x91\x61\x4e\x82\x26\x03\x55\xc0\x84\x61\x88\x26\xc2\x7b\x12\xbb\x64\xab\xd9\x82\x87\xc6\x6d\x14\x49\xbc\xfa\x95\x1a\xc2\x5d\xff\x02\x75\x9c\xa8\x5e\xd4\xaf\x78\x1e\x04\xb0\xfb\x72\x08\xb0\x46\x86\x40\xfc\xdd\xc0\x12\x4b\xfb\x04\x8d\xd1\xdf\x6f\x3e\x5f\xfb\x19\x96\x8a\xc0\xdc\x0f\x35\x89\x39\x59\x2b\x90\xb8\xeb\x9e\xa5\xdd\x53\xd4\x3d\x1b\xe4\x3f\x49\xf7\x7e\x2f\x67\x64\xfc\x99\x90\x97\x38\x4c\x7a\xa5\x5d\xbd\x79\xbf\x5e\x5c\xa0\xea\x6e\x7e\x0f\x58\xc5\x95\x9f\xe2\x6c\x2f\x0d\x4b\xd6\x77\xf8\x4b\x12\xbd\x90\x1c\xdd\x71\xb2\x42\x1f\x81\xbe\x7b\xd6\xc2\x4f\x5c\x1b\xe1\xbb\xc1\x3d\x7a\x83\xce\x06\x83\x41\xbf\x7f\x8a\x6a\x23\x67\xf7\xfd\xfb\xea\xa2\x6e\x2b\x2e\x6d\x1d\xf7\x22\x32\xc3\x0b\xa6\x3f\x16\x39\x04\xd6\x19\xdf\x3e\x9c\xd4\xc2\x07\xb4\xa1\x09\xc2\xd0\x38\x28\x30\x29\x43\xb1\x0d\xb3\x7d\x50\x26\x1f\x2a\x93\x4f\xd5\x03\xbc\x27\x07\xf0\x5b\x84\xc0\xd5\x5c\xfb\x50\x59\x12\x7e\x6f\xec\x82\x9a\xb8\xc3\xcd\x35\xec\x8c\x7b\xd3\xf2\x8d\x2c\x67\x5f\xe5\x9b\x4c\xe9\x75\x8a\x59\x9d\x53\xb4\x01\xe6\x9e\xc3\xee\xaa\x86\x77\x9d\x50\x48\x62\xc5\x3a\xf7\x55\xdf\xea\x00\x60\xf6\x67\x7e\x05\x28\x13\xcc\x98\x29\x84\x7d\xdc\xeb\x41\xdf\x7b\xbb\x37\x1c\x16\x16\x15\x38\x15\x49\xeb\x9c\x79\x3a\x69\xf4\xd0\x82\x5c\x32\x62\xee\x7a\xdd\x88\x2e\xbb\xfd\x5a\x9d\xd5\x66\xfa\x21\xc3\x4a\x99\xbe\xc8\xc4\xdf\xd9\x72\xba\xf5\xfa\x2c\xa7\xe0\x2c\x23\x3c\x9a\x24\x94\x45\xbd\x3a\x5a\xbf\xb2\x7a\xed\x1e\x3d\xb5\x70\x45\x6a\x14\x12\x37\x85\xc0\x9f\x72\xb4\x15\xa4\xee\xf3\x13\xbb\xca\x33\xfc\x6f\x55\xd2\x16\x8a\x67\x26\x70\x1e\x87\x42\x78\x8c\x36\xdb\x0f\xce\xd0\x6e\xce\xc1\xe8\xb3\x28\xe1\xc0\x24\xbf\x36\xb8\x53\xfe\x92\x80\xa3\xc2\xde\x9c\x6a\xec\x75\xc3\x70\x3d\xfa\xfb\xbe\xa0\x5b\x97\xa5\x33\xd4\x9b\xa3\xf1\x78\xec\xf2\x84\xeb\xc7\x21\xec\xb7\x80\x8b\xca\x8d\xc8\x81\xdd\xd6\xee\x9c\x5a\xa8\x2e\xac\x05\x75\xdc\xb3\xa9\xa9\xc1\x6c\x43\x8b\x45\x99\x2f\xa9\x5a\x60\x46\xff\x6b\x6d\xf3\x81\x2b\xf1\xad\x69\x13\x7b\xce\xd4\x48\xfb\xb0\x71\x4f\xa0\xbf\x48\x39\x84\x0e\xe2\xa8\x69\x4a\x0c\x9f\xbb\x31\xac\x4b\x42\x8b\x39\x85\x44\x6c\x95\xfb\xa7\x58\xc1\xa6\x93\xb3\x7a\x83\xb5\x22\x33\x66\xd9\x1c\x71\x82\xb6\xef\x11\x4f\x9d\x91\x4a\x97\xe8\x0e\x31\x12\x43\x80\x86\x07\x60\xd5\x2e\xaa\x6b\x9a\xc0\xae\x23\xb0\x75\x91\xe0\x1d\x93\x02\x89\x36\x20\x0d\x9a\x1e\xee\xda\x83\x6e\xd1\xb5\xbb\x0a\xdc\x95\x6d\x50\xb9\xbc\x78\xa4\x8d\x1a\xa1\x56\xe0\x3d\x08\xb0\x15\xbc\x0c\xeb\xaf\x9a\x9e\xb3\xe4\x05\x24\x6e\xb7\x09\x8d\x91\x99\x36\x71\xfd\x1a\xcc\xbe\x29\x9a\xe4\xae\x6d\xe0\x5d\x98\x81\x15\x5a\x62\xae\xf2\x9d\xa9\xeb\xcc\xda\x1e\xae\x70\xde\xab\x3f\x91\x92\xc6\xd0\x89\x11\x6a\x4c\xe9\xbc\x25\x37\x7d\x4c\x2f\xd2\xa7\x65\xbe\xd4\xc9\xab\xca\x15\x07\x9c\x65\x19\xdd\x1e\x0f\xb4\xd0\x48\x29\xf8\x22\x22\xd9\xb1\x5b\xce\x25\xe5\x6d\xb3\xd0\x57\xf8\xfc\xcf\x13\x4b\x83\x82\xe7\x73\x4b\xd5\xf7\x5b\x68\x24\x0f\x99\xd4\x3c\x35\xbd\x07\x70\x73\x8b\x63\x55\x42\xaa\x62\xb9\x54\xd0\xba\xd3\x35\x01\xf4\xdd\x06\xad\xbe\x4f\x5d\x44\x11\x0a\x19\x0d\xe7\x28\x81\x4d\x8a\x15\x7b\x36\x81\xcd\x64\x6f\xd7\xcb\x77\x1b\x9b\xaa\x0b\xf9\x0f\xb2\x86\x38\xcc\xdb\x17\xdb\x70\xda\xe5\x12\x62\x74\x05\x6d\x35\x01\x17\x7a\x5d\x6b\x0c\x30\x60\x4b\xdf\xf4\x02\x23\xaa\xcb\x5f\x58\xd3\x24\x52\xd9\xc7\xda\x36\xab\xb6\x14\x68\x70\xe8\xe9\xe4\x7c\x0a\x68\x8b\x08\x53\xee\xc9\xc2\x33\x0d\x3c\xe4\xc7\x17\x99\xd5\x64\x8d\x4b\x68\x4e\x12\x6e\x0f\xf2\xea\xf0\x7a\xf7\x36\x57\xbc\x72\x8d\x82\xfc\xd4\xee\x64\x64\x0e\x6e\x8a\x57\xb0\x6f\x3c\x0f\x5d\xb0\x15\x86\x97\x1f\x20\xe4\x15\xf4\x4a\xc5\x89\xce\x29\x22\x90\x19\xe6\x04\x51\xa5\xd0\x4c\x43\x66\x02\x0e\x21\x5c\xf9\xc8\xf3\x8a\xc9\xc0\x25\xc8\xba\x36\xee\x98\x73\x1b\x78\x75\x17\x0b\x8d\xcc\xe5\x17\x55\xbd\xcb\x2f\x3d\x2f\x3f\x75\xca\xf1\x3b\xfb\xd3\xa8\x51\x71\x86\x74\x00\xf5\xf0\x70\x20\xdb\xae\xb7\x14\xf6\xa4\x58\x39\x13\x76\x9e\xde\x9a\xa3\xc8\x9d\xfd\xb5\x61\xd8\x04\xf8\x21\xa8\x67\x0f\x2f\x3b\xf9\xf1\x26\x84\x12\x84\x5a\xa0\x4d\x25\xdb\x93\x26\x88\x9c\x16\x08\xb6\x84\x98\x23\x8e\x97\x34\xce\x29\x1c\x9e\x99\xa3\xd8\xfc\x70\xb8\xd1\x82\x46\xaf\xf2\xd3\x2b\x69\x5e\x9d\x61\xbc\x45\xf7\xf5\x4e\x8d\x8f\xfe\x4d\x50\x42\xcd\x99\xb1\xde\xad\xdd\xe1\xca\xd5\x10\xc0\xc8\xaa\xde\x8a\xcd\xd5\xb5\x63\x58\xc6\xc4\xcb\x91\x3c\xc1\xd9\xba\x21\xc6\x16\x0e\x37\x83\x3d\x3c\x98\xe3\xcd\xf2\x38\xd3\x1c\x01\xff\xc4\xc7\xce\x59\x71\xe7\xdc\xfc\x8e\x02\x7c\x0c\x34\xf4\x83\x4a\x51\x1e\xab\x26\xfc\x9f\xcb\xc1\x23\x95\x98\x53\x8e\x46\x05\x37\x66\xe0\x48\x70\x26\x9a\x8d\xbf\x12\x47\xdb\x1d\x33\x31\x6d\x82\xfe\x05\x9e\x1f\x09\x9d\x49\x61\xbe\x2f\x34\x5a\xfe\x7b\x31\x76\xa4\x8a\x25\x74\x6b\x61\xb3\x86\x5b\x3b\x72\xec\xaa\xae\x79\x38\xc5\xaa\x31\x33\x6f\x8a\xb1\x46\x15\xa3\x00\x20\x1d\x92\xaa\xd7\x6b\x4e\xbe\x44\x56\x9e\xb4\xb0\x98\x69\x0f\x0f\x29\xaf\xb5\x48\x9b\xa8\xee\x75\x4a\xf0\xd5\xcb\xef\xd5\x4a\xef\x95\xca\xee\x95\x4a\xee\x95\xcb\xed\x35\x4b\xed\x15\xcb\xcc\x29\x31\xb7\xbc\x52\x68\xc1\x9b\xaa\xa9\xf8\xb6\xe8\x96\x93\x22\xf9\x99\x72\x31\xa3\xb8\xf5\xbc\x90\x98\x4f\x00\x76\xe3\x8b\x25\x8d\x9a\x8a\x2b\xf9\xa1\x9c\x55\xf9\x88\xd6\x39\x3f\xf8\xec\x99\xfc\xe0\x3a\x50\x68\xa9\x3f\xde\x6c\xec\x47\x18\xd4\x29\x2d\x45\xfe\x76\xfb\x9b\xf1\x66\x92\x3f\x40\xbf\x12\x49\x36\x1b\x78\xb3\xd8\xd6\xbb\xc2\x51\x22\x83\x73\x98\xbf\xa2\x3a\x41\xfe\x44\xa4\x29\xbc\x42\x5c\xc1\x9b\x88\x2b\x77\x94\xb3\xe7\x15\xe0\x43\xa7\xac\x90\x43\x64\xe6\x93\x1d\x2a\x2f\x3c\xef\xec\xad\xf9\x0e\x81\xdc\x60\x99\x10\x1d\x74\x34\xad\x31\xb2\xde\x97\xbe\x66\x92\x72\x3d\x43\x9d\xbf\x2e\x21\x58\x7f\xd8\x44\xfd\xff\xba\x6c\x33\xfc\x08\x67\xa1\x5b\xcb\x24\x29\xbd\x34\x97\x2f\xf6\xb5\x92\xe8\x26\xb5\x8b\x86\x3b\x47\x19\x05\x79\x03\x0f\x16\xda\x4f\xf7\xff\x0b\x00\x00\xff\xff\xad\x22\xf5\x5d\x7e\x20\x00\x00")

func chromeHtmlBytes() ([]byte, error) {
	return bindataRead(
		_chromeHtml,
		"chrome.html",
	)
}

func chromeHtml() (*asset, error) {
	bytes, err := chromeHtmlBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "chrome.html", size: 0, mode: os.FileMode(420), modTime: time.Unix(0, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _collectionHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xd4\x55\xd1\x6f\xda\x3e\x10\x7e\xe7\xaf\x38\xa1\x9f\xf8\xb5\x95\x92\xac\x9d\xb6\x87\x2d\x64\x6a\x69\xa5\x55\x9b\x50\x35\xba\xbe\x4c\x7b\x70\xe2\x0b\xb1\x6a\x6c\x64\x1b\x56\x16\xf1\xbf\xef\x9c\x84\x32\xd2\x04\xed\x69\xd2\x22\x01\xbe\xef\xbe\xbb\xb3\xef\x3e\x9c\xb2\x8c\xce\x06\x40\xcf\x44\x2f\x37\x46\xcc\x0b\x07\x17\xaf\xce\xdf\xc2\x7d\x81\xf0\xc0\x14\xe3\x62\xb5\x80\xcb\x95\x2b\xb4\xb1\x21\x5c\x4a\x09\x15\xc9\x82\x41\x8b\x66\x8d\x3c\xac\xa2\xbf\x5a\x04\x9d\x83\x2b\x84\x05\xab\x57\x26\x43\xc8\x34\x47\x20\x73\xae\xd7\x68\x14\x72\x48\x37\xc0\xe0\x6a\x76\x1d\x58\xb7\x91\x58\x85\x49\x91\xa1\xa2\x50\x57\x30\x07\x19\x53\x90\x22\xe4\x7a\xa5\x38\x08\x45\x20\xc2\xe7\xdb\xc9\xcd\x74\x76\x03\xb9\x90\x18\x0e\xce\xa2\xed\x76\x30\x28\x4b\x8e\xb9\x50\x08\xc3\x4c\x2b\x87\xca\x0d\x3d\x1a\x5b\xcc\x9c\xd0\x0a\x32\xc9\xac\x1d\x0f\x1b\x33\x08\xa8\x82\x43\x03\x0b\x2e\x83\xb9\x11\x7c\x98\x54\x95\xe3\xe2\x4d\x32\xd1\x52\x36\x41\x65\x19\xde\x1b\xc4\xf0\x9a\x39\x96\x32\x8b\xe1\x2d\x0f\xa7\x6c\x81\xdb\x6d\xb4\x73\xed\xd9\x7b\x67\x1c\x51\x9a\x3a\x1f\x17\xeb\x5d\x69\x5f\x2a\x43\x6a\xd5\x6e\x11\x04\xe7\x17\x41\xa6\x65\x53\xbb\xe6\xcb\xbd\xe1\x4d\x97\x5c\x2e\x97\x70\x25\xd1\x5a\xa1\xe6\xef\x3c\x10\x73\x9e\x74\x6d\x6c\x47\xf2\xf5\x89\xd2\x4a\x33\x31\xc8\x9c\x36\xff\x5b\x3f\x14\xd3\x9f\xf1\xf0\x3c\xc7\x73\x4e\x57\x8b\x94\x72\xd1\x84\xbf\xe8\x1f\xf6\x45\x2a\x02\x27\x34\x35\xd7\x1d\x7c\xaf\x1d\x93\xf0\x09\x37\x30\x13\x3f\xf1\x45\x30\xb9\xc9\xe7\x5d\xdd\xe1\xe4\xb4\xfe\xf7\x00\x3e\x60\x11\x40\xcd\x91\x78\x88\x79\xd4\x24\xb1\x2b\x92\x38\xf2\x5f\xf4\xa1\x54\xcf\xeb\x07\x26\x57\x58\x5b\x11\xf1\xba\x43\x49\xc4\xd2\x2e\x99\x1a\x0f\x5f\x0f\xdb\x14\x20\xd1\x88\x1c\xea\x43\xf8\x4d\xde\xb1\x39\x86\x1f\x99\xbd\x33\xb8\x26\x45\xb6\xd9\x94\x94\x41\x61\x30\x1f\x93\x6e\x77\xad\xff\xa0\xc6\x65\xf9\x5f\x38\xf3\x7f\x25\x53\x6b\x6a\xc4\xd3\xf1\xf1\xa9\x8f\xb8\xea\x64\x34\xf1\xd9\x3e\xbe\x6f\xc6\xa3\x4c\xf5\x70\xea\x1c\x1d\x87\xf5\xcf\xb7\x94\x65\x8f\xdf\xbb\x4e\x16\xb1\xae\xf6\xa0\xe2\x1d\x8d\x18\xa9\xd4\x2e\xdf\xb7\x1b\xde\x37\x89\xb2\x34\x4c\xcd\xb1\xdd\x67\x5a\xd0\x04\x6d\x47\xfa\x7a\x74\x95\xbe\x6e\x15\xc7\x27\xaf\x2a\x32\x1b\x88\xe2\x7e\x03\x62\x7f\x49\x79\xb8\x52\x83\x77\x54\x40\xed\xef\xdc\x0c\x4a\x8b\xfd\x45\x0f\xf4\x72\xa2\x34\x3c\xd2\x7e\x4f\x8f\xa5\xeb\xe8\xd0\x9f\x6b\x4f\xa2\x6a\xf7\x65\x8a\x4f\xae\x3a\xe3\x3f\xad\xbf\x51\x2e\x8c\x75\xd4\xbc\x67\xd6\xcb\x03\xf6\x68\xf4\x44\x11\xe1\xf4\x6f\x6a\x94\x90\xf6\xed\x73\x78\x8f\x91\xd5\x5c\xf6\xb4\x12\xeb\x64\x10\x47\xcd\xdb\x29\xf1\x6f\xb3\x7a\x07\xbf\x02\x00\x00\xff\xff\x75\xd7\x68\x3b\x89\x07\x00\x00")

func collectionHtmlBytes() ([]byte, error) {
	return bindataRead(
		_collectionHtml,
		"collection.html",
	)
}

func collectionHtml() (*asset, error) {
	bytes, err := collectionHtmlBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "collection.html", size: 0, mode: os.FileMode(420), modTime: time.Unix(0, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _globHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x74\x91\xdf\x8b\xd4\x30\x10\xc7\xdf\xfb\x57\x0c\x45\x44\x0f\xda\x78\x07\xfa\x20\xd9\xca\x79\xd7\x87\x03\x39\x65\x57\x7d\xcf\x26\xd3\x26\x90\x4d\xce\x49\xba\xba\x84\xfc\xef\xa6\xb5\xcb\x2d\xa2\xf3\xd2\xce\xaf\xcf\xcc\x7c\x93\x12\xbb\xaa\xa0\xd8\x9d\x7f\x3a\x91\x19\x75\x84\x9b\x37\xd7\xef\xe0\xab\x46\xf8\x2e\x9c\x50\x66\x3a\xc0\xed\x14\xb5\xa7\xd0\xc2\xad\xb5\xb0\x14\x05\x20\x0c\x48\x47\x54\xed\xd2\xfd\x2d\x20\xf8\x01\xa2\x36\x01\x82\x9f\x48\x22\x48\xaf\x10\x8a\x3b\xfa\x23\x92\x43\x05\xfb\x13\x08\xf8\xb8\xbb\x6f\x42\x3c\x59\x5c\xda\xac\x91\xe8\x4a\x6b\xd4\x22\x82\x14\x0e\xf6\x08\x83\x9f\x9c\x02\xe3\x4a\x10\xe1\xd3\xc3\x5d\xff\xb8\xeb\x61\x30\x16\xdb\xea\x8a\xe5\x5c\x55\x29\x29\x1c\x8c\x43\xa8\xa5\x77\x11\x5d\xac\x4b\x94\x07\x94\xd1\x78\x07\xd2\x8a\x10\x36\xf5\xea\x36\x4d\x19\x10\x91\xe0\xa0\x6c\x33\x92\x51\x75\xb7\x0c\xe6\xfa\x6d\x97\x52\xfb\x45\xc4\x92\x74\x39\x73\x56\x02\x7f\x32\xca\x1c\xc1\xa8\x4d\xfd\x24\x68\x66\x9f\x81\x33\x40\x62\xb9\xff\xfc\xd3\x34\xd7\x37\x8d\xf4\x76\x25\x2e\xbd\xde\x3e\x3b\xb3\xa5\x44\xc2\x8d\x08\x6d\xef\x22\x19\x0c\x39\x97\xd0\x4f\x13\x35\xb4\xbb\x69\x18\xcc\xaf\xb2\xf9\x65\x3d\xb7\xa6\xe3\x02\x34\xe1\xb0\xa9\xd9\x68\xfd\xfe\x83\xdb\xa4\x34\x91\xfd\x31\x21\x9d\xe0\x45\xbb\x9b\x45\xa7\x47\x71\xc0\x9c\x5f\x86\xcb\x5c\x9b\x73\x3d\xdf\x34\x1f\x23\x3a\xce\x0a\xea\xaf\x5d\xd0\xa9\x8b\x05\x7a\x22\x4f\xff\x98\xdf\x6f\xb7\x9f\xb7\xaf\x52\x2a\x63\x4a\xc1\xc3\xfd\x0c\x7e\xfd\x1e\x56\xf2\xff\xa9\xcb\xf7\x59\x0a\x76\xd6\x82\xb3\xa2\x68\x57\x71\xb6\x3e\x49\x57\xad\xb5\xbf\x03\x00\x00\xff\xff\x8e\x08\x47\x71\x7b\x02\x00\x00")

func globHtmlBytes() ([]byte, error) {
	return bindataRead(
		_globHtml,
		"glob.html",
	)
}

func globHtml() (*asset, error) {
	bytes, err := globHtmlBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "glob.html", size: 0, mode: os.FileMode(420), modTime: time.Unix(0, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _logsHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x7c\x53\xc1\x6e\xdb\x30\x0c\xbd\xe7\x2b\x08\x9f\x92\x02\xb6\xd7\x02\xdb\x65\x49\x86\x36\x0b\xb0\x02\x59\x2f\xe9\x76\x2d\x54\x89\xb1\x35\xc8\x52\x46\xc9\x19\x02\x23\xff\x3e\x5a\xb1\x57\x27\x4d\xe6\x93\x45\xf1\x3d\x3e\x3d\x92\x4d\x93\xdf\x8c\x80\xbf\x85\xdb\xee\x49\x17\x65\x80\xbb\x0f\xb7\x9f\xe0\xb9\x44\xf8\x29\xac\x50\xba\xae\xe0\xbe\x0e\xa5\x23\x9f\xc1\xbd\x31\x10\x93\x3c\x10\x7a\xa4\x1d\xaa\x2c\xa2\x7f\x78\x04\xb7\x81\x50\x6a\x0f\xde\xd5\x24\x11\xa4\x53\x08\x7c\x2c\xdc\x0e\xc9\xa2\x82\xd7\x3d\x08\x78\x58\x7f\x4d\x7d\xd8\x1b\x8c\x30\xa3\x25\x5a\x86\x86\x52\x04\x90\xc2\xc2\x2b\xc2\xc6\xd5\x56\x81\xb6\x1c\x44\x58\x3d\x2e\x96\x4f\xeb\x25\x6c\xb4\xc1\x6c\x74\x93\x1f\x0e\xa3\x51\xd3\x28\xdc\x68\x8b\x90\x48\x67\x03\xda\x90\x70\x74\xea\x51\x06\xed\x2c\x48\x23\xbc\x9f\x25\xdd\x31\x4d\xb9\x40\x40\x82\x4a\x99\xb4\x20\xad\x92\x79\x2c\x3c\x2d\x3f\xce\x57\xda\x87\x56\xb4\x71\x45\xe4\xf7\xd3\x9c\xa3\xc7\x6b\xa5\x77\xa0\xd5\x2c\xd9\x0a\x6a\x0b\xf4\xac\x2d\x8b\x44\x36\xa1\xff\x49\xd3\xdb\xbb\x54\x3a\xd3\xd1\x46\xac\x97\xa4\xb7\xe1\x2d\xd0\x7e\x3b\x41\xbd\x2f\x33\xb0\xf8\x07\x96\x3b\xe6\x5d\xc7\xc8\x38\x61\x05\xfe\x8b\x9d\x35\x4d\x4d\xe6\x77\x8d\xb4\x87\x6c\xdd\x9a\x4b\x4f\xa2\xc2\xc3\x21\x99\x7c\x3e\x21\x3b\x12\x65\xce\x56\xe8\xbd\x28\x5a\xca\x4d\x6d\xe3\x7b\xc7\xd8\xf2\x4e\xa0\x39\x01\xf4\x0a\x9c\xe1\x54\xe5\x64\x5d\x71\x52\x56\x60\x58\x1a\x6c\x7f\x1f\xf6\x8f\x2a\xaa\x88\x36\x9c\x97\xeb\xd1\x46\x0f\xd1\x92\x50\x04\xec\x08\x18\xac\x2f\xc1\x8c\xce\xb4\xb5\x48\xdf\x9e\xbf\xaf\x18\x1c\xc5\x65\x4a\x04\xf1\x3e\xd5\x99\x4c\x6c\xb7\x68\xd5\xa2\xd4\x46\x8d\x8d\x3e\xa3\x3b\x5c\xf1\x00\x89\x1c\x0d\x1d\xb8\xf4\xf8\x2e\x5b\x1a\xe7\x71\x7c\x41\xe7\x55\x4f\xba\xfe\x4f\x32\xc2\x8a\xe7\xf8\xa8\xed\x1d\xfc\xff\x14\xe4\x0a\x5e\x16\xb6\xf5\xfa\x8b\xa6\xf9\xf9\xd0\xbc\x4d\x60\x0f\x1f\xce\x60\x1f\x8c\x73\xf8\xcb\x9f\x9e\xfb\xc3\xcb\x8b\xb6\x0a\x79\xf8\x2b\x6d\xb9\x55\xc9\x7c\x9a\x33\xe9\xa0\x04\x8f\x43\x5b\xe1\x5f\xdf\x07\x57\xb9\x33\xdd\x26\x1c\x31\x2c\xf0\xb8\x50\x73\x5e\x3f\x6e\x12\x6f\xdc\xdf\x00\x00\x00\xff\xff\xb0\xb2\x23\xf4\x3a\x04\x00\x00")

func logsHtmlBytes() ([]byte, error) {
	return bindataRead(
		_logsHtml,
		"logs.html",
	)
}

func logsHtml() (*asset, error) {
	bytes, err := logsHtmlBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "logs.html", size: 0, mode: os.FileMode(420), modTime: time.Unix(0, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _no_syncbaseHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x34\x90\x31\x6b\xc3\x30\x14\x84\x77\xff\x8a\xc3\x63\x40\x71\x13\x68\x27\xd7\x90\xa6\x19\x0a\xa5\x4b\xda\xee\x8a\xf4\x1c\x09\x94\xa7\x22\xc9\x06\x63\xf2\xdf\x2b\x3b\xb6\x27\xbf\x27\xdd\x9d\xbe\x1b\xc7\x6a\x53\x20\x7f\x47\xff\x37\x04\x7b\x35\x09\xfb\xa7\xdd\x0b\xbe\x0d\xe1\x57\xb2\xd4\xb6\xbb\xe1\xd0\x25\xe3\x43\xdc\xe2\xe0\x1c\xe6\x4b\x11\x81\x22\x85\x9e\xf4\x76\x56\xff\x44\x82\x6f\x91\x8c\x8d\x88\xbe\x0b\x8a\xa0\xbc\x26\xe4\xf1\xea\x7b\x0a\x4c\x1a\x97\x01\x12\x6f\xe7\x77\x11\xd3\xe0\x68\x96\x39\xab\x88\xb3\x34\x19\x99\xa0\x24\xe3\x42\x68\x7d\xc7\x1a\x96\xf3\x92\xf0\xf9\x71\x3c\x7d\x9d\x4f\x68\xad\xa3\x6d\xb1\xa9\xee\xf7\xa2\x18\x47\x4d\xad\x65\x42\xa9\x3c\x27\xe2\x54\x4e\xdb\x3a\x92\x4a\xd6\x33\x94\x93\x31\xbe\x96\xcb\x28\x44\x4e\x48\x14\x70\xd3\x4e\x5c\x83\xd5\x65\x33\x27\xd7\xe6\xb9\x39\x0f\xac\x2e\x32\x52\x5d\xe5\xe1\xb1\xd5\xb6\x5f\x0d\x26\x81\xa2\x0c\xbc\xfe\x08\xb1\xdb\x0b\xe5\xdd\xe2\x80\xdc\xd1\x44\x3b\xb5\x10\xa0\x3d\x45\xb0\x4f\x30\xb2\xa7\xcc\xb9\x7a\xcf\xe7\x99\xf2\x51\x53\x5d\xe5\x80\xa6\xa8\xab\xe5\x75\xcd\x44\x43\xac\x33\xc0\x7f\x00\x00\x00\xff\xff\xfe\x8f\x17\xb9\x89\x01\x00\x00")

func no_syncbaseHtmlBytes() ([]byte, error) {
	return bindataRead(
		_no_syncbaseHtml,
		"no_syncbase.html",
	)
}

func no_syncbaseHtml() (*asset, error) {
	bytes, err := no_syncbaseHtmlBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "no_syncbase.html", size: 0, mode: os.FileMode(420), modTime: time.Unix(0, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _profilesHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x55\xcd\x6e\xdb\x3c\x10\xbc\xfb\x29\x16\x3a\x7c\x5f\x1b\x40\x52\x13\xa0\x3d\x14\xb2\x8a\x24\x0d\xd2\x02\x41\x10\xd4\x49\xef\x34\xb9\x92\x88\x50\x5c\x95\xa4\x92\x18\x82\xde\xbd\x2b\x55\xce\x6f\x9b\x18\xb0\x7d\x30\xc4\xc5\xce\xcc\xce\x52\x1e\x77\x5d\xba\x37\x03\xfe\x1c\x53\xb3\x72\xba\xac\x02\x1c\x7c\xd8\xff\x04\x97\x15\xc2\x4f\x61\x85\xd2\x6d\x0d\x87\x6d\xa8\xc8\xf9\x04\x0e\x8d\x81\xb1\xc9\x83\x43\x8f\xee\x06\x55\x32\xa2\xaf\x3c\x02\x15\x10\x2a\xed\xc1\x53\xeb\x24\x82\x24\x85\xc0\xc7\x92\x6e\xd0\x59\x54\xb0\x5c\x81\x80\xa3\xc5\xd7\xd8\x87\x95\xc1\x11\x66\xb4\x44\xcb\xd0\x50\x89\x00\x52\x58\x58\x22\x14\xd4\x5a\x05\xda\x72\x11\xe1\xec\xfb\xf1\xc9\xf9\xe2\x04\x0a\x6d\x30\x99\xed\xa5\x7d\x3f\x9b\x75\x9d\xc2\x42\x5b\x84\x48\x92\x0d\x68\x43\xc4\xd5\xcc\xa3\x0c\x9a\x2c\x48\x23\xbc\x9f\x47\xd3\x31\x8e\x59\x20\xa0\x83\x5a\x99\xb8\x74\x5a\x45\xf9\x28\x9c\x55\x1f\xf3\x0b\x47\x4c\xab\x6d\x99\xa5\x7c\xfa\x53\x56\xfa\x06\xb4\x9a\x47\x8d\x70\x03\xf1\x9a\x6d\x40\x4b\x64\xf3\xeb\x87\x38\xde\x3f\x88\x25\x99\x89\x6e\xc4\xb6\xe6\xe1\x30\x16\x8c\xce\x8f\x2f\xae\x9e\xd4\xee\x45\x26\xe2\x42\xdf\xa1\x8a\x6f\xb5\x0a\x55\x94\x97\x04\x81\xc8\x40\xd3\xf0\x64\xd0\x75\xc9\xd5\x8f\xb3\x0b\xc7\x5e\xef\xfa\x3e\x6d\xc6\x69\xf1\x8b\x9d\x77\x5d\xeb\xcc\xaf\x16\xdd\x0a\x92\xc5\x70\x07\xee\x5c\xd4\xd8\xf7\x59\xca\xc4\xcf\x46\x48\x79\x86\x17\x43\x65\x02\x2a\xa6\x9d\x47\xcf\x24\x2a\x14\xcd\x2b\xfc\xff\x29\x5c\xb6\xe5\x7c\x3f\xca\xbf\x71\x63\x96\x8a\x7c\x47\xd6\xde\xd0\xdd\xda\xd7\xd2\x90\xbc\xde\xc8\xd8\xd1\xd0\xb9\x43\x67\x6f\x29\x6f\x6d\x2d\x70\x55\x28\xc9\x5f\xe1\xb5\x57\xe3\xc1\xe1\xe5\x23\xc0\x0e\x8d\x6e\x38\xc7\xc6\x7e\x4f\xc9\x51\x1b\xf8\x47\xee\x3f\xbf\x9c\xf0\x1f\xbb\x28\xd7\x98\x8d\x16\xf1\x4e\x52\xdd\x08\x19\xde\xff\x7d\x0b\xdb\x6b\x1c\xb0\x46\xd1\x1a\xf3\x52\xe0\xa9\xe5\x2c\x7d\x1c\x1c\xdb\x24\xd0\x88\xd7\xf7\x08\xbe\x0a\xa7\x85\x89\x35\xc7\xa4\x8f\x72\x6d\x0b\xca\x52\x9d\x0f\xc9\xce\xde\x6b\x61\x95\x07\xb1\xe4\x74\x86\x5a\xac\xc0\x52\x80\x5b\x72\xd7\xa0\x8b\x31\x79\x1d\xd6\x14\x10\xf8\xb2\x25\x7a\xcf\x41\x6e\xff\xe7\x06\xa7\x03\x27\xee\x90\xce\xa7\x94\x3c\x11\x5e\xb4\x4d\x43\x2e\x70\x7c\x3b\x68\xd6\xc9\x3a\xfd\x09\x58\x20\xa6\x74\x60\x84\x2d\x5b\x51\xe2\x40\xb7\x4e\xf8\x5b\xed\x2b\xa3\x7d\x48\x1e\x2d\xe4\xfe\x25\x99\x1e\xb3\x74\x8a\xf3\x9c\xc3\x1f\xad\xea\xfb\xdf\x01\x00\x00\xff\xff\xd3\x06\xf2\xb8\xb7\x06\x00\x00")

func profilesHtmlBytes() ([]byte, error) {
	return bindataRead(
		_profilesHtml,
		"profiles.html",
	)
}

func profilesHtml() (*asset, error) {
	bytes, err := profilesHtmlBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "profiles.html", size: 0, mode: os.FileMode(420), modTime: time.Unix(0, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _resolveHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xcc\x56\x51\x6f\xe2\x38\x10\x7e\xe7\x57\x8c\xa2\x7b\xb8\xab\x14\x72\xad\x74\xf7\x50\x85\x9c\xda\xc2\x03\x52\xaf\x2b\x41\x77\x5f\x2b\x13\x4f\x88\x77\x8d\xcd\xda\x4e\x29\x4a\xf9\xef\x3b\x4e\x02\x8d\x28\xac\x44\x37\xdd\xdd\xbc\x80\x67\x3e\x7f\x33\xf3\x8d\x13\x4f\x59\x46\x67\x3d\xa0\xe7\x46\x2f\xd7\x46\xcc\x73\x07\x17\x7f\x9f\xff\x0b\xf7\x39\xc2\x27\xa6\x18\x17\xc5\x02\xae\x0a\x97\x6b\x63\xfb\x70\x25\x25\x54\x20\x0b\x06\x2d\x9a\x47\xe4\xfd\x6a\xf7\x47\x8b\xa0\x33\x70\xb9\xb0\x60\x75\x61\x52\x84\x54\x73\x04\x5a\xce\xf5\x23\x1a\x85\x1c\x66\x6b\x60\x70\x3d\x1d\x86\xd6\xad\x25\x56\xdb\xa4\x48\x51\xd1\x56\x97\x33\x07\x29\x53\x30\x43\xc8\x74\xa1\x38\x08\x45\x46\x84\xdb\xf1\xcd\xe8\x6e\x3a\x82\x4c\x48\xec\xf7\xce\xa2\xcd\xa6\xd7\x2b\x4b\x8e\x99\x50\x08\x41\xaa\x95\x43\xe5\x02\xb2\xc6\x16\x53\x27\xb4\x82\x54\x32\x6b\x07\x41\xb3\x0c\x43\x0a\xe0\xd0\xc0\x82\xcb\x70\x6e\x04\x0f\x92\x2a\x70\x9c\xff\x93\xdc\xb1\x05\xfa\x32\xb4\x2c\x3c\x34\x8e\xc8\x56\x3b\xb9\x78\xdc\xf2\xf8\x7d\x29\x52\xd9\xdb\x3f\x61\x78\x7e\x11\xa6\x5a\x36\x44\xfe\x29\xcb\x95\x70\x39\xf4\xff\xa7\xcc\xdd\x48\x39\xb3\xa6\x84\xb6\xce\xb8\x90\x2f\xc8\x36\xda\x87\x6f\xe1\x2a\xac\x14\xc9\xb4\xc8\x32\xf1\x74\x49\xb0\xfe\x66\x13\x47\x64\x29\x4b\x54\x7c\xb3\xd9\x6d\x9c\x7a\xdd\x6d\x15\xec\x9e\xcd\xe4\x21\x92\xfb\xaa\x0f\x1e\x67\x7c\x0b\x18\x2c\x3c\xda\x79\xf4\x41\xca\xb1\xbd\x45\x96\x1d\x23\xaa\x18\x24\x01\x1a\xca\x36\xc5\x4b\x9d\x51\xbb\xd0\xb2\x34\x4c\xcd\xb1\x49\xd6\xd8\x36\xf0\x44\x75\xab\x3d\x55\xea\xed\x5d\x9c\x39\x16\xd6\x56\xbf\xfc\x6c\xf7\x2d\x2f\xcb\x30\xb4\x28\xe9\x38\xec\x5c\x36\x67\x5c\xaf\xc2\xf0\x82\x2f\xf7\xe2\xd4\xb1\x66\x9a\xaf\x5f\xdb\x6b\x9f\x39\xec\xa8\x9d\xfc\x70\x86\x0f\x0f\x75\x69\x8a\xce\xa3\x2a\x16\x68\x44\x1a\x24\x23\xc5\x97\x5a\x28\x17\x47\x8e\x77\xc5\x19\x33\xc8\x0d\x66\x83\x20\xfa\x4f\x0d\xaa\x06\x55\x21\xb6\x5d\x80\x67\xd8\x9a\xaa\xb3\xff\x0c\x85\x91\x5f\x0b\xf4\xe7\x35\xa0\x86\x36\x30\x7f\xec\x58\x72\x3c\x2f\xf2\x1c\x51\xa1\x4b\x79\x9e\x96\x82\xde\xcd\x2e\xd5\xa1\x02\x87\xc8\xb8\xa4\x4f\x87\x2f\xf1\xf4\xf2\x9a\xb7\xe5\x0f\x5c\xc2\xe5\x00\xf6\xd5\xdd\x7b\x7b\xde\x41\x93\x3b\x74\x2b\x6d\xbe\x74\xac\xc9\x15\xe7\xa6\xdf\x50\xbf\x4d\x97\x0e\x4b\xf4\xc9\xa0\xed\xba\xed\x9e\xf5\x97\x97\x36\xd1\x74\xcd\xa8\xf9\x78\xd8\x71\x71\x3b\xde\x1f\x3a\xd4\xfd\x6b\x49\xba\x13\x8f\xff\x32\xd8\xf7\x3f\xcb\xdb\x70\x16\xfe\x2c\x4b\x89\x0a\xe8\xb6\xfb\xab\x63\x65\xde\x2a\x48\x7d\x37\x7e\x57\x2d\x2f\xfa\xcf\x90\xa9\x8e\xf3\xbb\x6a\x74\x92\x8f\xd8\x5e\x5f\xac\x64\xf4\xd9\x25\xad\x31\x82\xc6\x83\xf6\x1c\x81\xd2\xb6\x27\x9c\xbd\xa1\x8d\x86\x46\x5a\x17\x4b\xc0\xc5\xd2\xad\x7b\xc7\x72\x68\xaf\x9b\x08\x71\xd4\x8c\x88\x89\x9f\x28\xeb\xae\x8e\x8c\xd1\xe6\x6d\xc3\x64\x2c\x76\xba\x33\x82\x08\x26\x43\x41\xe3\xa9\x0d\x12\xa1\x32\x1d\x47\x22\x19\x4d\x26\x1f\x26\xd4\x48\xba\x2a\x28\xca\x78\xd8\x74\xf3\xa4\xa1\x93\xe6\xe0\x27\xe4\xe1\x4a\x70\x97\xef\xda\xb7\x5f\xce\xb6\xd8\xe6\xf7\x5b\x00\x00\x00\xff\xff\xbc\x42\xa9\x8f\xe2\x0b\x00\x00")

func resolveHtmlBytes() ([]byte, error) {
	return bindataRead(
		_resolveHtml,
		"resolve.html",
	)
}

func resolveHtml() (*asset, error) {
	bytes, err := resolveHtmlBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "resolve.html", size: 0, mode: os.FileMode(420), modTime: time.Unix(0, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _statsHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x56\x5f\x4f\xe3\x38\x10\x7f\xef\xa7\x18\x45\xdc\xf1\x47\x4a\x72\x20\xdd\x3d\xa0\x90\x13\x47\x7b\x2c\x12\x0b\x12\xed\xf6\x15\xb9\xf1\xa4\xf1\xca\xb5\xbb\xb6\x43\xb7\xb2\xf2\xdd\x77\x92\xb4\x50\xa0\x08\xb5\xdb\xf6\xa5\xf6\x78\xfe\xfd\x7e\x33\xce\xd8\xfb\xf8\xa4\x03\xf4\xbb\xd2\xd3\xb9\x11\xe3\xc2\xc1\xd9\x5f\xa7\xff\xc0\xa0\x40\x18\x32\xc5\xb8\x28\x27\x70\x59\xba\x42\x1b\x1b\xc1\xa5\x94\xd0\x28\x59\x30\x68\xd1\x3c\x21\x8f\x1a\xeb\x6f\x16\x41\xe7\xe0\x0a\x61\xc1\xea\xd2\x64\x08\x99\xe6\x08\xb4\x1d\xeb\x27\x34\x0a\x39\x8c\xe6\xc0\xe0\xbf\x7e\x37\xb4\x6e\x2e\xb1\x31\x93\x22\x43\x45\xa6\xae\x60\x0e\x32\xa6\x60\x84\x90\xeb\x52\x71\x10\x8a\x84\x08\xb7\x37\x57\xbd\xbb\x7e\x0f\x72\x21\x31\xea\x9c\xc4\x55\xd5\xe9\x78\xcf\x31\x17\x0a\x21\xc8\xb4\x72\xa8\x5c\x50\x55\xe0\xbd\xc8\x21\x1a\x32\x59\x22\xe9\x24\x16\x33\x27\xb4\x82\x4c\x32\x6b\x2f\x82\xc5\x36\x0c\x29\x9c\x43\x03\x13\x2e\xc3\xb1\x11\x3c\x48\x9b\x34\x12\x2e\x9e\x96\xaa\xf5\x51\x86\x84\x73\xb9\x08\xc3\xd3\xb3\x30\xd3\x72\xa1\xdb\xe8\x3b\x36\x92\xb8\x6a\xc1\x99\x63\x61\x2b\xad\xb7\xdf\xed\x5b\xc9\xcb\x36\x0c\x2d\x4a\xca\xe7\xf9\xc8\x16\x8c\xeb\x59\x18\x9e\xf1\xe9\x4a\x8c\x36\xce\x48\xf3\xf9\x6b\x59\x2b\x37\xef\x85\xed\x01\x5f\x9f\xd5\xe3\x63\x0b\x45\x11\x09\xaa\x9c\xa0\x11\x59\x90\xf6\x1d\xb1\x7e\xc7\x26\x98\xc4\x8e\xef\xc2\x61\x32\x35\x98\x7a\x1f\xd5\x8e\x6b\xbf\x55\x95\xc4\xb5\x68\xbd\x7f\x92\xae\x81\xe1\xfd\x4c\xb8\x02\x0e\xc6\x9a\x8a\x09\xe7\x17\xd0\x2c\x4a\xfc\xdf\xe8\xc9\xf0\xfe\xeb\x4b\x8d\xf7\x44\x4a\xe3\x1e\x8e\xae\xf5\xf1\x8e\x59\x69\x11\x6d\x43\xc9\x8e\x90\x0d\xe6\xd3\x5d\x02\xa3\x3b\xf9\x13\x79\x38\x13\xdc\x15\x01\xe1\x9b\x1a\xa1\x5c\x0e\xc1\x1f\x83\x00\x5e\xb0\x6e\x52\x78\x94\x76\xff\x85\x1d\x76\x6f\xf7\x44\xc0\xb2\x33\x37\x04\xad\xf8\xfe\x30\xb7\x25\xdf\x37\xe4\xa8\x0e\xb3\x29\xee\xe6\x96\x47\x03\x31\xc1\x3e\x79\x46\xdb\xa5\xb8\xfb\x23\xe2\x8b\xb0\x4e\x9b\xf9\xce\xae\xb4\xcd\x8c\x98\xba\x94\x1b\x36\x5b\xb8\xbe\x36\x6c\x5a\xd8\xa3\x43\x22\xa5\xaa\x0e\x89\xef\x85\xca\xef\x76\x03\x69\xbe\x1e\x02\x24\xa8\xf3\x5a\x4c\xae\x98\x46\x57\xda\xa1\x68\xed\x84\x4b\x3b\x4b\x1f\xed\x40\xbc\x96\x7a\x34\x42\xbe\xc5\x48\x2c\xfe\x4e\x6b\xe3\x24\xa6\xc5\x76\x43\xb2\x94\xaf\x11\x7a\x6f\x98\x1a\x23\x44\x57\x85\x90\xdc\xa0\x7a\x8b\x54\x8a\x34\x61\x50\x18\xcc\x29\x3d\x1a\x21\xf6\x5f\x75\xe1\x7d\x69\xe4\x8f\x12\xcd\x1c\x0e\xa2\x7e\xfd\xe2\x30\xed\x64\xf9\xd3\xae\x9e\x11\xe7\x4d\x3f\xd6\x5d\xc8\x88\x73\x72\xd5\xf9\x8c\xd9\x77\xf9\xf4\x8c\xa1\x57\xce\x9a\xac\x7a\x0f\x0f\xf7\x0f\x47\xde\x53\x70\xd2\xb8\xe9\xd6\xe1\x8e\xcf\x61\x11\xef\xb3\x58\x49\xbc\x64\x62\x6d\xb5\xda\x8f\xde\xf2\x42\x34\x39\x6c\x57\xae\x44\x3c\x97\x87\x91\x8a\x60\x32\x14\xf4\x42\xb2\x41\x2a\x54\xae\x93\xf8\x03\x1c\x1b\x56\xf8\xdd\x27\xa0\xa6\xe0\x83\x26\x84\x95\x6e\x6c\xff\x7f\x05\x00\x00\xff\xff\x1e\x32\xaf\xc4\x6f\x0a\x00\x00")

func statsHtmlBytes() ([]byte, error) {
	return bindataRead(
		_statsHtml,
		"stats.html",
	)
}

func statsHtml() (*asset, error) {
	bytes, err := statsHtmlBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "stats.html", size: 0, mode: os.FileMode(420), modTime: time.Unix(0, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _syncbaseHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x56\xdf\x6b\x23\x37\x10\x7e\xf7\x5f\x31\x98\x90\x26\xd7\x7a\xdd\x3b\x68\x1f\x82\xbd\x25\x89\x53\x30\x5c\xc2\x81\xd3\xbe\x94\x7b\xd0\xae\xc6\xb6\x40\x96\x8c\x24\xbb\x18\xb3\xff\x7b\x47\xfb\x53\xbb\xb6\x93\x6e\xb8\x3c\x04\x6b\x34\x9a\xf9\x66\xbe\x6f\xb4\x3a\x1e\xc7\x9f\x06\x40\x7f\x8f\x7a\x7b\x30\x62\xb5\x76\xf0\xe5\xd7\xcf\xbf\xc3\xeb\x1a\xe1\x6f\xa6\x18\x17\xbb\x0d\xdc\xef\xdc\x5a\x1b\x1b\xc1\xbd\x94\x90\x3b\x59\x30\x68\xd1\xec\x91\x47\xf9\xe9\xbf\x2c\x82\x5e\x82\x5b\x0b\x0b\x56\xef\x4c\x8a\x90\x6a\x8e\x40\xcb\x95\xde\xa3\x51\xc8\x21\x39\x00\x83\x87\xc5\x6c\x64\xdd\x41\x62\x7e\x4c\x8a\x14\x15\x1d\x75\x6b\xe6\x20\x65\x0a\x12\x84\xa5\xde\x29\x0e\x42\x91\x11\xe1\xeb\xfc\xf1\xe9\x65\xf1\x04\x4b\x21\x31\x1a\x7c\x1a\x67\xd9\x60\x70\x3c\x72\x5c\x0a\x85\x30\x4c\xb5\x72\xa8\xdc\xd0\x5b\x27\x16\x53\x27\xb4\x82\x54\x32\x6b\xa7\xc3\x72\x39\x1a\x51\x06\x87\x06\x36\x5c\x8e\x56\x46\xf0\x61\x9c\x67\x9e\xac\x7f\x8b\x17\x07\x95\x26\xcc\xe2\x64\x4c\x8b\xc2\xca\xc5\xbe\x0a\xe0\x0f\xa4\x48\x05\x57\x3f\x46\xa3\xcf\x5f\x46\xa9\x96\x65\x04\x80\x05\x35\x80\x0a\x80\xe1\xf1\x18\xbd\x1a\xc4\xa8\x34\x44\x7f\xee\xa4\x7c\x61\x1b\xcc\xb2\x61\x11\x76\x4c\x71\xe3\xc1\x64\x5c\x82\x8a\x7d\x11\x86\xa9\x15\x42\x71\x70\x96\x58\xaa\x81\x1c\xfb\x15\x71\x3c\xc2\x15\x4f\xe0\x6e\x0a\xd1\x8c\x39\xe6\x6b\x89\xe6\x1c\xf2\x50\x45\x89\x95\xd9\x63\x24\xd7\xa8\x44\xd5\x54\xdc\xb7\x66\x80\xfb\xed\x16\x1e\x24\x5a\x2b\xd4\xaa\x0a\x5b\xad\xab\x82\xeb\x92\x8b\x45\x5d\xec\x93\x31\xb6\x44\xf7\x91\xd4\xfe\x84\x8c\x27\xdc\xc5\x14\x48\x1b\xca\xe1\x68\xc5\x63\xea\x7f\x6e\xc8\x32\x32\xf1\x98\xfe\xc9\xe6\x50\x07\x09\x2a\x5e\x23\xe8\x9b\x7f\x12\xc6\xad\x8b\x7a\xd4\x52\x16\x3c\x85\xb5\x79\x6f\x17\x37\x7b\x77\xb9\x4c\xe6\xbc\xa6\x80\x76\x5b\xce\x3c\x7e\x34\xc8\x9c\x36\x3f\x59\x3f\x4e\xa6\xd5\x64\x7f\x30\x68\x72\x5e\x66\xe7\xf4\x84\xc1\xda\xe0\x92\x44\x53\xca\x7a\x9c\xd6\xc9\xff\x50\x53\x22\x2a\xd7\x27\x9a\x02\xc0\x35\x4f\xa6\x5d\xf2\xae\xb9\x9a\x86\x3a\xb9\x4e\xbd\x4f\x3b\xf7\x75\xaa\xa6\xad\x42\xe2\x67\x6d\x30\x8a\xa2\xc9\x98\xc5\x6d\x5c\xd4\x6c\x69\xf1\xa4\x27\x37\x4a\x43\x03\xcd\xde\xe6\x34\x86\x87\x42\x86\x6a\x2a\x03\x1a\xfb\xd1\x76\x9e\x34\x3f\xfb\x2b\xa3\x77\xdb\x53\xce\xea\xad\x3b\x72\x6f\x1c\x9b\x92\x3b\xd4\x5d\x52\x77\x15\xef\x4d\xad\xb6\xe2\x84\x95\xd7\xb4\x96\x8a\xaf\x18\x08\x03\xb5\xb0\x35\x14\x35\x43\x70\x56\x27\x65\xc0\x19\xda\xd4\x88\xad\xe7\xa0\x8e\xe9\x95\xb6\xd8\x62\x1a\x05\x9b\x95\xdc\xde\x0d\xf8\x6d\x97\x48\x61\xd7\x50\x5d\xab\xe0\xbb\xd5\x82\xeb\x23\x97\x5e\x95\x53\xd9\xd1\x37\x13\x74\x3a\x2a\xdb\x86\x86\x80\x2b\xc7\x56\xbf\xc0\x15\x4b\x53\xea\xc4\x57\x61\x5d\x7e\x33\x16\x59\xd1\x6c\x2c\x74\xc8\xa9\x08\x22\xc9\xd3\xc9\x2c\x83\x2d\x79\x09\x6a\x62\xd9\x91\x33\xce\x3c\xfe\x99\xbc\x9b\x0c\xd1\x5c\x9d\x12\x59\xa1\xfa\x57\xb8\x75\x08\x27\x7a\xd1\xce\xfb\x9f\x8d\x3b\xa2\x06\x5d\x0e\xd5\x55\xc6\x25\x6b\xfb\xea\xcb\xd7\x1d\x8d\xe5\xa0\xce\x90\xdc\x43\x25\x0d\xd2\xb3\x94\x9d\xe2\x6a\x65\x3d\x2b\x80\xb7\x25\x15\xfa\x7e\x1c\xc5\xfb\x52\x6a\xdf\xd8\xf6\x54\x04\xcd\xf5\xe1\x2b\xb9\x74\xf1\x17\xa9\x3c\xd8\xbb\x7f\x08\x65\x51\xe1\xf7\xfa\x3e\xcf\x8d\xcd\xb4\x7e\x3f\xe5\xfc\x23\xcc\x86\x6d\x7b\xa6\x27\x94\x7b\x65\x09\xe5\x38\x99\xbf\x60\xef\xff\xde\x14\x73\xfb\xcd\x88\x3d\x73\xa7\xc3\x5c\xef\xfc\xb0\x11\xde\xe0\x26\x41\x43\x53\x2c\xd4\x52\xe7\xf3\xfb\x9c\x5b\xba\x1d\xae\xe8\x2a\x76\x2f\x8f\x2b\x4d\x6b\x11\x92\xc6\xfb\xc6\xeb\x88\x00\x6b\x23\xdc\xc1\x7f\xe8\x7c\x8e\x28\x34\x92\xd3\x83\xd4\xc9\x0c\xf7\xaf\x87\x2d\xd6\x2e\x81\x2d\xcb\x6e\xcf\xcd\x68\x7f\xc6\xde\xf8\x38\xda\xfa\xdb\xd4\xf7\xdb\x18\xbc\x30\x83\xf8\x7d\x9f\xc6\x3d\x5f\x45\x37\x2f\x1a\x78\xf9\xce\xb4\xb7\xdd\xf7\xdf\x24\x44\x94\xa3\x1f\xd4\xbf\xfe\x0b\x00\x00\xff\xff\x66\x98\x51\x96\x7d\x0c\x00\x00")

func syncbaseHtmlBytes() ([]byte, error) {
	return bindataRead(
		_syncbaseHtml,
		"syncbase.html",
	)
}

func syncbaseHtml() (*asset, error) {
	bytes, err := syncbaseHtmlBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "syncbase.html", size: 0, mode: os.FileMode(420), modTime: time.Unix(0, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _vtraceHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x94\xdf\x6f\xdb\x36\x10\xc7\xdf\xf3\x57\xdc\xb4\x06\x4e\xba\x51\x76\x02\x64\x18\xe4\xd8\x40\x9b\xe6\x21\x40\xd1\x87\xa5\xeb\x9e\x69\xf2\x24\x71\xa1\x49\x81\xa4\xdd\x1a\x9a\xfe\xf7\x1d\x29\xc9\x3f\x82\x06\x89\x1f\x0c\xf2\xc4\x2f\xbf\x77\x1f\x1e\xd9\xb6\xd3\xf7\x67\x40\xbf\x3b\xdb\xec\x9c\xaa\xea\x00\xd7\xb3\xab\x3f\xe0\x6b\x8d\xf0\x8d\x1b\x2e\xd5\x66\x0d\x1f\x36\xa1\xb6\xce\xe7\xf0\x41\x6b\x48\x8b\x3c\x38\xf4\xe8\xb6\x28\xf3\xa4\xfe\xdb\x23\xd8\x12\x42\xad\x3c\x78\xbb\x71\x02\x41\x58\x89\x40\xd3\xca\x6e\xd1\x19\x94\xb0\xda\x01\x87\x8f\x8f\x9f\x98\x0f\x3b\x8d\x49\xa6\x95\x40\x43\xd2\x50\xf3\x00\x82\x1b\x58\x21\x94\x76\x63\x24\x28\x43\x41\x84\xcf\x0f\x77\xf7\x5f\x1e\xef\xa1\x54\x1a\xf3\xb3\xf7\xd3\xae\x3b\x6b\x5b\x89\xa5\x32\x08\x59\xee\x1b\x6e\x32\x0a\xdd\x4a\xb5\x85\xb4\xeb\x22\x6b\xac\x57\x41\x59\x53\x38\xd4\x3c\xa8\x2d\xce\x35\x96\xa1\x68\xdb\xfc\x31\x70\x17\xba\xee\x7c\xfe\x5d\xc9\x50\xc7\xc8\x3f\x71\x10\x23\x6b\xee\x2a\x65\x8a\x59\xf3\x63\xde\x70\x29\x95\xa9\x58\xb0\x4d\x71\x4d\xf3\x0c\x94\x5c\x64\x64\xc0\x48\xf0\x20\xbb\x2e\x5b\xa6\xd4\x6f\x7f\x61\x0c\xfe\xb2\x36\x40\xcc\x02\x18\x1b\xc2\x31\x95\xa8\x70\xf4\x29\x83\xa0\x42\x4c\x8a\xa4\x5f\xf8\x1a\x49\xfc\x72\x9a\x7d\x56\x57\xb3\xd9\xf9\x7c\xc5\xc5\x53\xe5\x22\x07\xca\xd2\xe0\x8f\x70\x67\xb5\x75\x5d\x37\xaf\x31\xc2\x2f\xae\x6e\x28\x31\xa9\x7c\xa3\xf9\xae\x58\x69\x2b\x9e\x7e\x52\x41\x1c\x67\xcb\xdb\x29\x25\xd4\xa7\xd6\xb6\x8e\x9b\x0a\xe1\x9d\xfa\x1d\xde\x89\x5a\x69\x09\xc5\x02\xf2\xbb\x38\x72\x68\xba\x8e\x56\x04\x5c\xd3\xa6\x61\x0f\x77\x58\x98\xbe\xa1\x91\x91\x75\xbf\xe1\x38\x3d\x3e\x0e\x61\xb5\xe6\x8d\x47\x66\xf8\x76\x7f\x2c\x91\x45\x70\x88\x7b\x7c\xaf\x1c\xd4\x4d\xcc\xfa\x04\xe5\x24\xa2\x9c\xbc\x2c\x3b\x86\x52\x5a\x43\xa3\x59\x43\xe8\xad\x11\xd4\x5e\x4f\x8b\xc9\xbf\x7c\xcb\xbd\x70\xaa\x09\x45\xb0\x55\xa5\xf1\xab\xe3\x02\x2f\xb2\x31\xa1\xcb\xc9\xb2\x6d\x55\x09\x1a\xcd\x81\x06\xfc\x07\x3a\xc0\xac\xeb\xda\xf6\x24\x1e\x03\xa9\xf2\x9f\x80\x7d\x11\xe5\x09\x18\xc8\xdf\x44\x53\x50\x25\x68\x42\xe2\x98\x4a\x87\xb0\x6b\xa8\xfe\x40\xed\x30\x15\xde\x0f\x90\xf2\x5a\x49\x64\x62\xcc\x7a\x59\x18\x1b\x2e\x7e\x8d\xc4\x2e\xa1\x4d\x2b\xe2\x6f\xec\x15\x30\xd6\xe0\x3c\x85\xa3\x77\xda\x77\x49\xfb\x27\x3a\xa0\xa9\x8a\x0d\xaf\xc8\xe4\x80\x6c\xb0\x29\x37\x46\x44\xea\x70\x4c\x50\xc9\x63\x8f\x2d\x77\x10\x0f\x3a\xdd\x89\x05\x48\x2b\x36\x6b\x2a\x20\xaf\x30\xdc\x6b\x8c\xc3\x8f\xbb\x07\x79\xd1\x37\x43\x06\xbf\xd1\xd1\x5e\xce\xf7\xea\x51\x99\x0b\xcd\xbd\xff\xac\x7c\xc8\x7b\xab\x8b\xc9\x49\x85\x93\x23\x4d\x74\x24\x7c\xaf\x18\x4e\xe2\xdd\x9d\x3c\xf7\x1b\x74\x6f\xb5\x4b\xb4\x12\x90\x88\x0b\x7b\x16\x49\xbb\xc8\x86\x29\x63\xf4\x96\x05\x74\xb0\x96\x9a\x55\x4e\xc9\xb1\x8d\xeb\x9b\xe5\xb7\x10\x81\xd1\xd3\xe6\x60\xe8\xba\xdb\x29\x85\xfb\xef\x8d\x43\x6a\xc0\xfc\x13\xae\x36\x55\x02\x1b\xbf\xc6\xe0\xe1\x16\x0c\x4e\x71\x67\x81\xf4\x06\x8f\x03\xc6\xae\xae\x19\x75\xd7\x60\xb5\x5f\x3f\xdc\x95\xf1\xd8\x4b\x8d\x74\x35\xe8\x8f\x49\xe5\xfa\x6c\x0b\x67\xbf\x1f\xa9\x9e\x2b\xd7\xca\xb0\xf1\x41\x3a\x7f\xb6\xae\x6f\xf9\x97\xdb\x3b\x72\xa5\xae\x3d\xd9\xfa\x70\x59\x4e\xdc\xe2\xe3\xd0\x70\x17\xfb\x7c\x74\xee\x5d\xff\x7c\xdd\xb5\x7f\x9f\xde\xe0\x76\x34\x1d\x86\x74\x96\x3d\x85\xc3\xcd\xfb\x3f\x00\x00\xff\xff\x06\x9b\x5a\x17\x08\x07\x00\x00")

func vtraceHtmlBytes() ([]byte, error) {
	return bindataRead(
		_vtraceHtml,
		"vtrace.html",
	)
}

func vtraceHtml() (*asset, error) {
	bytes, err := vtraceHtmlBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "vtrace.html", size: 0, mode: os.FileMode(420), modTime: time.Unix(0, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

// Asset loads and returns the asset for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func Asset(name string) ([]byte, error) {
	cannonicalName := strings.Replace(name, "\\", "/", -1)
	if f, ok := _bindata[cannonicalName]; ok {
		a, err := f()
		if err != nil {
			return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
		}
		return a.bytes, nil
	}
	return nil, fmt.Errorf("Asset %s not found", name)
}

// MustAsset is like Asset but panics when Asset would return an error.
// It simplifies safe initialization of global variables.
func MustAsset(name string) []byte {
	a, err := Asset(name)
	if err != nil {
		panic("asset: Asset(" + name + "): " + err.Error())
	}

	return a
}

// AssetInfo loads and returns the asset info for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func AssetInfo(name string) (os.FileInfo, error) {
	cannonicalName := strings.Replace(name, "\\", "/", -1)
	if f, ok := _bindata[cannonicalName]; ok {
		a, err := f()
		if err != nil {
			return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
		}
		return a.info, nil
	}
	return nil, fmt.Errorf("AssetInfo %s not found", name)
}

// AssetNames returns the names of the assets.
func AssetNames() []string {
	names := make([]string, 0, len(_bindata))
	for name := range _bindata {
		names = append(names, name)
	}
	return names
}

// _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() (*asset, error){
	"alltrace.html":    alltraceHtml,
	"blessings.html":   blessingsHtml,
	"chrome.html":      chromeHtml,
	"collection.html":  collectionHtml,
	"glob.html":        globHtml,
	"logs.html":        logsHtml,
	"no_syncbase.html": no_syncbaseHtml,
	"profiles.html":    profilesHtml,
	"resolve.html":     resolveHtml,
	"stats.html":       statsHtml,
	"syncbase.html":    syncbaseHtml,
	"vtrace.html":      vtraceHtml,
}

// AssetDir returns the file names below a certain
// directory embedded in the file by go-bindata.
// For example if you run go-bindata on data/... and data contains the
// following hierarchy:
//     data/
//       foo.txt
//       img/
//         a.png
//         b.png
// then AssetDir("data") would return []string{"foo.txt", "img"}
// AssetDir("data/img") would return []string{"a.png", "b.png"}
// AssetDir("foo.txt") and AssetDir("notexist") would return an error
// AssetDir("") will return []string{"data"}.
func AssetDir(name string) ([]string, error) {
	node := _bintree
	if len(name) != 0 {
		cannonicalName := strings.Replace(name, "\\", "/", -1)
		pathList := strings.Split(cannonicalName, "/")
		for _, p := range pathList {
			node = node.Children[p]
			if node == nil {
				return nil, fmt.Errorf("Asset %s not found", name)
			}
		}
	}
	if node.Func != nil {
		return nil, fmt.Errorf("Asset %s not found", name)
	}
	rv := make([]string, 0, len(node.Children))
	for childName := range node.Children {
		rv = append(rv, childName)
	}
	return rv, nil
}

type bintree struct {
	Func     func() (*asset, error)
	Children map[string]*bintree
}

var _bintree = &bintree{nil, map[string]*bintree{
	"alltrace.html":    &bintree{alltraceHtml, map[string]*bintree{}},
	"blessings.html":   &bintree{blessingsHtml, map[string]*bintree{}},
	"chrome.html":      &bintree{chromeHtml, map[string]*bintree{}},
	"collection.html":  &bintree{collectionHtml, map[string]*bintree{}},
	"glob.html":        &bintree{globHtml, map[string]*bintree{}},
	"logs.html":        &bintree{logsHtml, map[string]*bintree{}},
	"no_syncbase.html": &bintree{no_syncbaseHtml, map[string]*bintree{}},
	"profiles.html":    &bintree{profilesHtml, map[string]*bintree{}},
	"resolve.html":     &bintree{resolveHtml, map[string]*bintree{}},
	"stats.html":       &bintree{statsHtml, map[string]*bintree{}},
	"syncbase.html":    &bintree{syncbaseHtml, map[string]*bintree{}},
	"vtrace.html":      &bintree{vtraceHtml, map[string]*bintree{}},
}}

// RestoreAsset restores an asset under the given directory
func RestoreAsset(dir, name string) error {
	data, err := Asset(name)
	if err != nil {
		return err
	}
	info, err := AssetInfo(name)
	if err != nil {
		return err
	}
	err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
	if err != nil {
		return err
	}
	err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
	if err != nil {
		return err
	}
	err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
	if err != nil {
		return err
	}
	return nil
}

// RestoreAssets restores an asset under the given directory recursively
func RestoreAssets(dir, name string) error {
	children, err := AssetDir(name)
	// File
	if err != nil {
		return RestoreAsset(dir, name)
	}
	// Dir
	for _, child := range children {
		err = RestoreAssets(dir, filepath.Join(name, child))
		if err != nil {
			return err
		}
	}
	return nil
}

func _filePath(dir, name string) string {
	cannonicalName := strings.Replace(name, "\\", "/", -1)
	return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
}
