// Code generated by go-bindata. // sources: // display.html // DO NOT EDIT! package main 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 fileInfoEx } type fileInfoEx interface { os.FileInfo MD5Checksum() string } type bindataFileInfo struct { name string size int64 mode os.FileMode modTime time.Time md5checksum string } 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) MD5Checksum() string { return fi.md5checksum } func (fi bindataFileInfo) IsDir() bool { return false } func (fi bindataFileInfo) Sys() interface{} { return nil } var _displayHtml = []byte( "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x56\x59\x6f\xdc\xb6\x13\x7f\xcf\xa7\x98\x08\x30\x92\x18\x91\xf8\xb7" + "\xfd\x0f\x9a\xba\xd2\x02\xa9\x6b\x34\x6e\x53\x27\x8d\xd3\x0b\x41\x1e\xb8\xe2\x48\xe2\x86\x22\x15\xce\x48\xeb\xed" + "\x22\xdf\xbd\xa0\xb4\x97\xf7\x70\x93\xbe\x68\x77\x86\x33\xbf\x39\x38\x07\xd3\x87\x3f\xbc\xbe\x78\xf7\xd7\x9b\x4b" + "\xa8\xb8\x36\xa3\x07\x69\xf8\x01\x23\x6d\x99\x45\x68\xa3\xd1\x03\x80\xb4\x42\xa9\xc2\x1f\x80\xb4\x46\x96\x90\x57" + "\xd2\x13\x72\x16\xb5\x5c\xc4\xcf\xa3\xcd\xa3\x8a\xb9\x89\xf1\x53\xab\xbb\x2c\xfa\x33\xfe\xed\x45\x7c\xe1\xea\x46" + "\xb2\x1e\x1b\x8c\x20\x77\x96\xd1\x72\x16\x5d\x5d\x66\xa8\x4a\xbc\xa3\x69\x65\x8d\x59\xd4\x69\x9c\x36\xce\xf3\x86" + "\xf0\x54\x2b\xae\x32\x85\x9d\xce\x31\xee\x89\xa7\xa0\xad\x66\x2d\x4d\x4c\xb9\x34\x98\x9d\x2c\x81\x1e\xc6\x31\xbc" + "\xab\x10\xe4\xd8\x75\x08\x67\xd0\x03\xb3\x2c\x09\x8e\xeb\x96\xf8\x18\x72\x57\x23\x14\xda\x13\x83\xb6\xc0\x15\x42" + "\x88\xed\x3b\x90\x76\x06\x8e\x2b\xf4\x3d\xbd\xb4\x0d\x41\x69\xd0\x39\x96\x05\xa3\x3f\x0e\x2a\x84\x03\x64\x1c\x2f" + "\xac\xb2\x66\x83\xa3\x0b\xf4\xac\x0b\x9d\x4b\x46\xe8\xa4\xd1\x4a\xb2\x76\x16\x3c\x52\x6b\x98\x52\x31\x48\x3d\x58" + "\x3b\xfa\xbd\x73\x4c\xec\x65\xb3\x46\x32\xda\x7e\x04\x8f\x26\x8b\x88\x67\x06\xa9\x42\xe4\x08\x2a\x8f\x45\x16\x09" + "\x51\xcb\xdb\x5c\xd9\x64\xbc\xd4\x0b\x44\xee\x6a\xb1\x62\x88\xb3\xe4\x2c\x79\x26\x72\xa2\x35\x2f\xa9\xb5\x4d\x72" + "\xa2\x68\xd3\xf4\xcb\x77\xbf\xbc\x7a\x06\x54\xe9\x1a\xa4\x55\xf0\x16\xa9\x71\x56\x25\x13\x82\xc2\x79\xb8\xba\x7c" + "\x0e\xd4\x36\xe1\x1a\xc0\x15\x0b\x61\x34\x58\xa3\x65\xea\x15\x6a\x54\x5a\xc2\xa7\x16\xbd\xc6\x8d\x44\x04\xe8\x3f" + "\x5e\xbc\xbd\xbe\xba\xfe\xf1\x7c\x13\x54\x39\x24\xfb\x88\x61\xea\xfc\x47\xd0\x05\xcc\x5c\x0b\xe1\xa2\xfb\x0b\x68" + "\x64\x89\xd0\x69\x09\x85\x36\x78\x2e\xc4\x1d\xb8\xf7\xba\x00\xc3\x70\x75\x09\xdf\x7e\x18\xb8\x00\x29\xe5\x5e\x37" + "\x0c\xe4\xf3\x2c\x0a\xf5\x46\xe7\x42\x38\xa2\x64\x91\x9f\x90\x92\x50\xc4\xcf\xa8\xd2\x9d\x38\x4b\xbe\x49\x4e\xd7" + "\x74\x9f\x8e\x09\x45\xa3\x54\x0c\x30\x5f\x83\xea\x87\x90\xc4\x49\xf2\xff\xe4\x74\x49\x1d\x40\x4c\x1f\xbe\x47\xab" + "\x74\xf1\x61\x08\x27\x15\xcb\x26\x4a\xc7\x4e\xcd\x16\x32\x4a\x77\x90\x1b\x49\x94\x45\xa1\xe4\xa4\xb6\xe8\xa3\x95" + "\x47\x1b\xa7\xde\x4d\x23\xe8\x6b\x22\x8b\x2a\xd4\x65\xc5\xe7\xa7\xff\x6b\x6e\x83\x51\xa5\xbb\xc5\xd5\xee\xaa\xac" + "\x0e\xb6\x6d\x99\xb8\x56\xf1\xc9\xe9\xca\xd6\xb6\x44\x23\x2d\x1a\xe8\xbf\xb1\xc2\x42\xb6\x86\xef\xc8\xee\x91\x8e" + "\x43\x80\xda\x96\x5b\x72\x00\xf7\x37\xc6\x5d\xd0\x21\x9a\xfb\xed\x84\xfc\xed\x18\x49\x59\x8e\x0d\x2e\x05\x07\xa2" + "\xff\xc6\xc4\x5e\x37\xa8\x76\x34\x82\x8e\xdf\x65\x06\x76\x35\x7a\xe9\x88\x53\xc1\xd5\x28\x10\x57\x44\x2d\xfa\x15" + "\xf9\x7b\x88\x01\x5a\xcb\xda\xac\x78\x6f\xfb\x60\x7a\x72\xd7\x8c\xd8\x67\x67\x7e\xd4\xf7\x5a\xe5\x88\x9f\x86\x5c" + "\x84\x79\xb4\x48\x09\x90\xf3\x8c\x0a\x8e\x3e\xef\xf1\x6e\x7e\x14\x3a\xc8\x23\x25\x37\x2c\xb9\x25\xc8\x32\xc8\xd7" + "\x19\x7e\xfd\xf3\x7e\xb5\x83\xd1\xce\x8f\x00\xcd\x7d\x88\x97\xb7\x8d\xf6\x48\x37\xce\xd9\x7b\xa0\x97\x99\x9f\x4a" + "\x6f\xf7\x15\xc1\xca\x14\xe1\x17\xa0\x28\x69\xcb\x8d\x4e\xd8\x06\x09\x7d\x75\x18\x45\x8d\xe6\xf3\x3e\xaf\xf0\xf9" + "\x73\x2a\x58\xed\x43\x59\xc9\x85\xb0\x37\x0a\x34\x19\xee\x3a\xb9\x70\x75\xed\xec\xb5\xac\xf1\xbf\x80\x5c\x3b\x7e" + "\x11\xd6\xc5\x97\xea\x0e\x79\x4f\x6e\xd8\x6b\x5b\x3e\x7e\x72\x8f\xda\xc1\x5a\x42\xab\x42\x39\xed\x24\x25\x15\x7d" + "\x17\x8c\xbe\xbe\xcd\x0a\xe7\x78\xcf\x1d\xa4\x72\xb1\x8f\x96\x33\xb2\xd4\x5c\xb5\xe3\x7e\x3e\xbe\x6a\xff\xd6\x05" + "\x7a\xd1\x78\x57\x87\x0a\xca\x2b\xcc\x3f\x46\xa3\x37\xde\xd5\x17\x4b\x12\xe6\x73\xe8\xd0\x53\x18\x01\x21\x4e\xf9" + "\x2f\xae\x6d\x31\xb6\xe6\xdd\xfa\x70\xf3\xa0\x5f\x44\x93\x5f\x5b\xf4\x33\x78\x6c\x31\x47\x22\xe9\x67\x7d\xbf\xad" + "\x96\xee\x23\x82\x9f\x64\x27\x6f\x86\xa9\xdf\x98\xb6\xd4\x96\x9e\xac\x97\xcf\xe6\x3a\x10\x42\x4e\xe4\x6d\x52\x3a" + "\x57\x1a\x94\x8d\xa6\x3e\xda\xc0\x13\x46\x8f\x49\x4c\xc2\x26\x9c\x89\x93\xe4\xe4\x24\x39\x5b\x50\x07\xd7\x42\x1c" + "\xc3\x95\xcd\x4d\xab\x10\xa4\x31\xe1\x75\xd1\x68\x83\x6a\xe9\x02\x3c\x1e\xa3\x71\xd3\x27\x4f\xc1\x79\xd0\x0b\x41" + "\x6d\x95\xee\xb4\x6a\xa5\xe9\xb7\x24\x81\x24\xb0\x88\x0a\xd5\x21\x87\xbf\xf4\xad\x30\xd9\x7e\x2a\x6c\xbb\x9c\x8a" + "\x61\x5f\xa5\x62\x78\x1f\xfe\x13\x00\x00\xff\xff\x21\xaf\x29\x78\x30\x0a\x00\x00") func displayHtmlBytes() ([]byte, error) { return bindataRead( _displayHtml, "display.html", ) } func displayHtml() (*asset, error) { bytes, err := displayHtmlBytes() if err != nil { return nil, err } info := bindataFileInfo{name: "display.html", size: 2608, md5checksum: "", mode: os.FileMode(436), modTime: time.Unix(1509896935, 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, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist} } // 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, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist} } // 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){ "display.html": displayHtml, } // 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, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist} } } } if node.Func != nil { return nil, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist} } 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{ "display.html": {displayHtml, 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 } return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) } // 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, "/")...)...) }