gotty/server/asset.go

380 lines
753 KiB
Go
Raw Normal View History

2015-08-16 09:47:23 +00:00
// Code generated by go-bindata.
// sources:
// bindata/static/css/index.css
// bindata/static/css/xterm.css
// bindata/static/css/xterm_customize.css
2015-08-30 07:27:40 +00:00
// bindata/static/favicon.png
2015-08-23 11:40:18 +00:00
// bindata/static/index.html
// bindata/static/js/bundle.js
// bindata/static/js/hterm.js
2015-08-16 09:47:23 +00:00
// DO NOT EDIT!
2017-02-25 22:37:07 +00:00
package server
2015-08-16 09:47:23 +00:00
import (
"bytes"
"compress/gzip"
"fmt"
"io"
"io/ioutil"
2015-08-20 07:45:06 +00:00
"os"
2015-08-16 09:47:23 +00:00
"path/filepath"
2015-08-20 07:45:06 +00:00
"strings"
"time"
2015-08-16 09:47:23 +00:00
)
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 {
2015-08-20 07:45:06 +00:00
name string
size int64
mode os.FileMode
2015-08-16 09:47:23 +00:00
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 _staticCssIndexCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x4c\xc8\x41\x0a\x02\x31\x0c\x05\xd0\xbd\xa7\xf8\x20\xee\x66\x31\x6e\xeb\x69\xd2\xc9\x90\x84\xb6\xa9\x94\x88\x88\x78\x77\xc1\x22\xcc\xf2\x3d\x8d\x56\x17\xe4\xce\xaf\x05\xe7\xd8\x47\x33\xa7\x8a\xf7\x09\x00\x32\x6d\x45\x46\x7f\x38\x27\xe4\x4a\x5b\xb9\xfd\x5a\x77\x13\x8d\x84\xeb\xba\x5e\xe6\x3c\x8d\x43\x8f\x71\x27\x66\x73\x49\xf8\x47\xa3\x21\xe6\xd3\x9f\x6f\x00\x00\x00\xff\xff\xd7\x5b\x0e\xbd\x74\x00\x00\x00")
func staticCssIndexCssBytes() ([]byte, error) {
return bindataRead(
_staticCssIndexCss,
"static/css/index.css",
)
}
func staticCssIndexCss() (*asset, error) {
bytes, err := staticCssIndexCssBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "static/css/index.css", size: 116, mode: os.FileMode(436), modTime: time.Unix(1503300248, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _staticCssXtermCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x9d\x5d\x93\xda\x48\xb6\xb5\xef\xfd\x2b\x32\xdc\x17\x6d\x3b\xa0\x0a\x89\x6f\x26\xe2\x8d\xa0\xcb\x54\x9b\x77\xca\xe0\xa8\xc2\xe3\xe9\xcb\x04\xa5\x0a\xb9\x41\x62\x24\x51\x1f\x33\x31\xff\xfd\x44\x4a\x99\x85\x2b\x37\x5a\xb9\x3d\x73\x8e\xb9\xe8\x36\xd4\x5a\x5b\x12\xa9\x07\x69\x79\x19\x5f\x7e\xf8\xf0\x46\x7c\x10\x4f\xa5\xca\xf7\x17\xdf\x8b\x49\xfd\x7f\x2d\x91\xa4\xa2\xdc\x2a\xb1\xce\xb3\xc7\x42\xe5\xfa\x47\xae\xb2\xc3\x73\x9e\xdc\x6f\x4b\xf1\x6e\xf3\x5e\x84\x9d\xa0\xd7\x0e\x3b\xc1\xa0\x25\xee\xb2\x63\xbe\x51\x37\x32\xc9\xc5\x97\x3c\x79\x90\xa5\x12\x57\xd9\xfe\x20\xd3\x67\xf1\xee\xf1\xf1\xf1\xa2\xa8\x5e\xdf\xc9\x24\xbf\xd8\x64\x7b\xf1\xee\xf3\x7c\x25\x6e\x92\x8d\x4a\x0b\xf5\xfe\xac\x71\xa8\x8d\xbb\x2d\x71\xb5\xcd\x93\xa2\xcc\x0e\x5b\x95\x8b\xff\xaf\xe2\x38\x57\xcf\x54\xbd\x2d\xcb\x43\x31\xb9\xbc\xbc\x4f\xca\xed\x71\xad\x27\x5c\x6e\xb6\xdf\xbf\x5f\x9a\x1d\x7a\x23\xaa\xfd\xfb\xa2\xf2\x7d\x52\x14\x49\x96\x8a\xa4\x10\x5b\x95\xab\xf5\xb3\xb8\xcf\x65\x5a\xaa\xa8\x25\xe2\x5c\x29\x91\xc5\x62\xb3\x95\xf9\xbd\x6a\x89\x32\x13\x7a\xeb\x0f\x2a\x2f\xb2\x54\x64\xeb\x52\x26\x69\x92\xde\x0b\x29\x36\xd9\xe1\x59\xfb\x65\xb1\x28\xb7\x49\x21\x8a\x2c\x2e\x1f\x65\xae\x84\x4c\x23\x21\x8b\x22\xdb\x24\xb2\x54\x91\x88\xb2\xcd\x71\xaf\xd2\x52\x96\x7a\x64\x9c\xec\x54\x21\xde\xe9\x03\xfa\xf6\xce\x28\xde\xbe\xaf\xe6\x44\x4a\xee\xb4\xa1\x39\xde\xf6\x55\xf1\x98\x94\xdb\xec\x58\x8a\x5c\x15\x65\x9e\x6c\xb4\x8d\x7e\x53\x36\xbb\x63\xa4\xb7\xc4\xbe\xbc\x4b\xf6\x89\x19\xa2\xe5\xd5\x61\xd4\xfb\xac\xad\x8f\x85\x6a\x55\x1b\xdc\x12\xfb\x2c\x4a\x62\xfd\x5f\x55\xed\xdf\xe1\xb8\xde\x25\xc5\xb6\x25\xa2\x44\xbb\xaf\x8f\xa5\x6a\x89\x42\x3f\x59\x1d\xd7\x96\xde\x9b\xcb\x2c\x17\x85\xda\x55\x1b\xb7\xc9\x0e\x89\x2a\xea\x9d\x3e\x6d\x63\xf5\x63\x7a\xd0\x41\x1f\xdc\xd2\x1c\xae\x42\x3f\xf3\xb8\xcd\xf6\xaf\xf7\x27\xa9\xb6\x2a\x3e\xe6\x69\x52\x6c\x55\x25\x8b\x32\x51\x64\xd5\xdc\xef\x6a\x53\xea\x67\xb4\x22\xce\x76\xbb\xec\x51\xef\xe3\x26\x4b\xa3\x44\xef\x5a\x31\x31\xef\xe2\x6a\xab\x84\x5c\x67\x0f\xaa\xda\xad\x7a\xcd\xa4\x59\x99\x6c\xea\xe3\x5f\xbd\x23\x87\xd3\x3b\x6d\x5e\x2a\xb6\x72\xb7\x13\x6b\x65\x0e\x9f\x8a\x44\x92\x6a\x37\xfd\xac\xdd\xb3\x5c\x6f\x46\x51\xca\xb4\x4c\xe4\x4e\x1c\xb2\xbc\x9a\xeb\xee\xf1\x85\xdd\x8e\x4f\x33\x71\xb7\xbc\x5e\x7d\x9b\xde\xce\xc4\xfc\x4e\x7c\xb9\x5d\xfe\x6d\xfe\x71\xf6\x51\xbc\x9d\xde\x89\xf9\xdd\xdb\x96\xf8\x36\x5f\x7d\x5a\x7e\x5d\x89\x6f\xd3\xdb\xdb\xe9\x62\xf5\x87\x58\x5e\x8b\xe9\xe2\x0f\xf1\xd7\xf9\xe2\x63\x4b\xcc\xfe\xfe\xe5\x76\x76\x77\x27\x96\xb7\xda\x6d\xfe\xf9\xcb\xcd\x7c\xf6\xb1\x25\xe6\x8b\xab\x9b\xaf\x1f\xe7\x8b\xdf\xc5\x6f\x5f\x57\x62\xb1\x5c\x89\x9b\xf9\xe7\xf9\x6a\xf6\x51\xac\x96\xd5\x4c\xe3\x36\x9f\xdd\x69\xbf\xcf\xb3\xdb\xab\x4f\xd3\xc5\x6a\xfa\xdb\xfc\x66\xbe\xfa\xa3\xa5\xbd\xae\xe7\xab\x85\x76\xbe\x5e\xde\x8a\xa9\xf8\x32\xbd\x5d\xcd\xaf\xbe\xde\x4c\x6f\xc5\x97\xaf\xb7\x5f\x96\x77\x33\x31\x5d\x7c\x14\x8b\xe5\x62\xbe\xb8\xbe\x9d\x2f\x7e\x9f\x7d\x9e\x2d\x56\x17\x62\xbe\x10\x8b\xa5\x98\xfd\x6d\xb6\x58\x89\xbb\x4f\xd3\x9b\x1b\x3d\x4d\xdb\x4d\xbf\xae\x3e\x2d\x6f\xf5\x86\x8a\xab\xe5\x97\x3f\x6e\xe7\xbf\x7f\x5a\x89\x4f\xcb\x9b\x8f\xb3\xdb\x3b\xf1\xdb\x4c\xdc\xcc\xa7\xbf\xdd\xcc\xea\x69\x8b\x3f\xc4\xd5\xcd\x74\xfe\xb9\x25\x3e\x4e\x3f\x4f\x7f\x9f\x55\xaa\xe5\xea\xd3\xac\xda\x49\xfd\x93\xf5\x66\x8a\x6f\x9f\x66\xfa\x59\x3d\x75\xba\x10\xd3\xab\xd5\x7c\xb9\xd0\xfb\x73\xb5\x5c\xac\x6e\xa7\x57\xab\x96\x58\x2d\x6f\x57\x2f\xea\x6f\xf3\xbb\x59\x4b\x4c\x6f\xe7\x77\xfa\xc8\x5c\xdf\x2e\x3f\x57\x7b\xaa\x8f\xee\xf2\x5a\xff\xd4\x7c\xa1\xa5\x8b\x59\x6d\xa4\x8f\xfc\xeb\x37\x68\x79\x5b\xfd\xfe\xeb\xdd\xec\xc5\x53\x7c\x9c\x4d\x6f\xe6\x8b\xdf\xef\xc4\x7c\xe1\xbe\xa1\xf6\x4d\x5e\xe6\xc9\x7d\x92\xca\xdd\xee\x59\xc4\x59\xfe\xa7\x8a\x44\x9c\x6b\x7c\xe9\x53\xaf\x5a\x15\xf2\x58\x6e\xb3\xfc\xd7\x1f\x97\xdc\x7b\xbd\x52\x85\x10\xd7\x72\x9d\xeb\xa5\xf7\x9b\xda\xed\x64\x1e\xfd\x5a\x88\xef\xf2\x41\x16\x9b\x3c\x39\x94\xe2\xa1\x0c\x3a\x1d\xed\x29\xbe\x17\xbb\x24\x3d\x3e\x19\x91\x26\xd9\xe4\xf2\x72\x5d\x6b\x2e\xb2\xfc\xfe\xd2\xfc\xc0\x65\xfd\x03\x04\x94\x81\x3b\xa8\xfe\x39\x7d\x9a\x64\x66\xeb\x45\xa4\x8a\x
func staticCssXtermCssBytes() ([]byte, error) {
return bindataRead(
_staticCssXtermCss,
"static/css/xterm.css",
)
}
func staticCssXtermCss() (*asset, error) {
bytes, err := staticCssXtermCssBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "static/css/xterm.css", size: 35782, mode: os.FileMode(436), modTime: time.Unix(1503299726, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _staticCssXterm_customizeCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x8e\xc1\x4e\xf3\x40\x0c\x84\xef\x79\x0a\xab\x52\xa5\xff\x97\xb2\x51\x8a\x14\x81\xb6\x57\xe0\xd6\x13\x88\xbb\x9b\x38\x65\xe9\xc6\x8e\xbc\x9b\x92\x80\xfa\xee\x28\x64\x0b\x7d\x01\x2e\xd6\x8c\x35\x9e\xcf\x45\x24\xed\x1c\xa3\x87\xcf\x0c\x00\xa0\x15\x8e\xa6\xc5\xce\xf9\xc9\xc2\xea\x9e\xde\xf0\x65\x80\x27\xe4\x00\x3b\x61\x59\xe5\xb0\x7a\x38\x91\x06\xe1\x8b\x7f\x54\xa2\x59\xe6\xb0\x23\xf6\x92\xc3\x73\x2a\xcc\xa1\x13\x96\xd0\x63\x4d\xdb\xec\x9c\x65\xc5\x38\xa3\x8c\x9c\x48\x3d\x4e\x7f\x8b\x9b\xab\xf7\xa2\x0d\xa9\x51\x6c\xdc\x10\x2c\x6c\xaa\x7e\xdc\xfe\x32\x83\xfb\x20\x0b\xe3\x68\x3c\xea\x21\x5d\xd4\xe2\x45\x2d\xec\x3d\xd6\xc7\xd4\x81\xf5\xf1\xa0\x32\x70\x63\xe1\xfd\xd5\xc5\x14\x94\x1e\x6b\x17\x27\x0b\x65\x71\x5b\x2d\xab\x1e\x9b\xc6\xf1\x61\x5e\xdd\x50\x07\x65\x51\x7d\xcf\x1f\x9d\x52\x12\x5c\x74\xc2\x16\x70\x1f\xc4\x0f\x97\xc2\x28\xbd\x85\xaa\x5c\x2f\xce\x53\x1b\xaf\x6c\x54\xe4\xd0\x8a\x76\x76\x91\x1e\x23\xfd\x33\x55\xb9\xce\x61\x9e\xff\x97\xd4\x10\x48\x4d\x20\x4f\x75\xb4\xc0\xc2\x74\x75\x9c\x98\xe9\x6d\xd8\xdc\x95\x5d\x00\xc2\x40\xc6\xf1\x36\x3b\x7f\x05\x00\x00\xff\xff\xd2\xd9\x6e\xaa\x04\x02\x00\x00")
func staticCssXterm_customizeCssBytes() ([]byte, error) {
return bindataRead(
_staticCssXterm_customizeCss,
"static/css/xterm_customize.css",
)
}
func staticCssXterm_customizeCss() (*asset, error) {
bytes, err := staticCssXterm_customizeCssBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "static/css/xterm_customize.css", size: 516, mode: os.FileMode(436), modTime: time.Unix(1503300248, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
2017-02-25 22:37:07 +00:00
var _staticFaviconPng = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\x5f\x03\xa0\xfc\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x20\x00\x00\x00\x20\x08\x03\x00\x00\x00\x44\xa4\x8a\xc6\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\x79\x71\xc9\x65\x3c\x00\x00\x01\xa4\x50\x4c\x54\x45\x1c\x1c\x1c\x2e\x2e\x2e\x1a\x1a\x1a\x25\x25\x25\x26\x26\x26\x24\x24\x24\x4e\x4e\x4e\x5f\x5f\x5f\x20\x20\x20\x1e\x1e\x1e\x1f\x1f\x1f\x22\x22\x22\x1d\x1d\x1d\x21\x21\x21\x3b\x3b\x3b\x19\x19\x19\x16\x16\x16\x2c\x2c\x2c\x29\x29\x29\x28\x28\x28\x27\x27\x27\x2b\x2b\x2b\x2a\x2a\x2a\x2d\x2d\x2d\x2f\x2f\x2f\x00\xac\x3a\x00\xa9\x3a\x60\x60\x60\x3a\x3a\x3a\x00\xae\x3b\x05\x9a\x38\x5e\x5e\x5e\x25\x24\x24\x52\x52\x52\x18\x18\x18\x39\x39\x39\x55\x55\x55\x5c\x5c\x5c\x5d\x5d\x5d\x37\x37\x37\x32\x32\x32\x50\x50\x50\x61\x61\x61\x5b\x5b\x5b\x4f\x4f\x4f\x58\x58\x58\x53\x53\x53\x59\x59\x59\x30\x27\x2d\x28\x1e\x24\x56\x56\x56\x54\x54\x54\x14\x14\x14\x2f\x2c\x2e\x17\x17\x17\x1b\x1b\x1b\x44\x44\x44\x35\x35\x35\x33\x33\x33\x4a\x4a\x4a\x36\x36\x36\x38\x38\x38\x20\x62\x36\x34\x34\x34\x30\x30\x30\x31\x31\x31\x23\x24\x24\x75\x75\x75\x2a\x22\x27\x20\x55\x32\x2e\x2b\x2d\x27\x1f\x24\x2e\x2a\x2d\x29\x26\x28\x62\x62\x62\x25\x21\x24\x26\x25\x25\x26\x2e\x29\x2b\x28\x2a\x20\x60\x36\x1f\x3b\x29\x2d\x25\x2b\x1f\x53\x32\x11\x70\x32\x25\x24\x25\x1d\x4f\x2e\x25\x29\x27\x1f\x52\x31\x00\xb1\x3b\x27\x2e\x2a\x77\x77\x77\x28\x2f\x2b\x2a\x31\x2d\x00\xb6\x3c\x23\x23\x23\x28\x25\x27\x2f\x2e\x2f\x11\x71\x32\x5a\x5a\x5a\x14\x66\x30\x30\x28\x2d\x2e\x25\x2c\x22\x5a\x35\x1e\x51\x2f\x2e\x31\x2f\x29\x21\x26\x2a\x3e\x31\x25\x26\x26\x2b\x32\x2d\x1c\x4f\x2d\x2c\x24\x2a\x30\x26\x2c\x28\x20\x25\x57\x57\x57\x00\xae\x3a\x27\x25\x26\x2a\x27\x29\x2c\x29\x2b\x25\x2d\x28\x00\xaf\x3b\x2c\x34\x2f\x22\x23\x23\x27\x1e\x24\x29\x30\x2c\x2b\x33\x2e\x04\xa0\x3a\x26\x23\x25\x1a\x50\x2d\x1f\x51\x30\x00\xb5\x3b\x00\xb3\x3b\x2b\x23\x28\x03\xa0\x39\x11\x6e\x31\x05\x99\x38\x1d\x50\x2f\x00\xb4\x3c\x2d\x2a\x2c\x63\x63\x63\x2f\x2b\x2e\x63\xda\xc5\x2e\x00\x00\x01\x51\x49\x44\x41\x54\x38\xcb\x85\xcc\xd5\x76\xc2\x40\x14\x40\xd1\x0b\x24\x78\x25\x81\x00\x2d\x69\x53\xdc\xdd\x1d\xea\xee\xee\xee\xee\xee\xde\x9f\x6e\xf2\x3c\x0c\xec\xe7\xb3\x0e\xcc\x72\x46\x19\x96\x91\x6b\x03\x2e\xc9\xd6\x62\xb1\x49\x1b\xfc\xb2\x54\x2c\x18\x0c\xae\x8b\xca\xa1\x58\x37\xf4\xb2\xdd\xbb\xf9\xa1\xfc\xe6\xf6\xb2\x01\xa5\x67\x8d\xe0\xb6\x1c\x75\xbc\x5c\xbd\x3e\x5c\xc7\xca\x1d\x2c\x42\xb0\x31\x7a\xda\xd8\xd0\x7c\xff\x87\x09\x8c\xb9\x91\xa9\x26\x3e\xd8\xef\xd4\xa3\x98\x9c\x0c\x64\x8e\xc3\x67\x21\x98\xff\xa1\x50\x3a\x07\xc7\x07\x6f\x5b\x42\x70\x77\xc1\xa0\x68\x3e\xe0\xb2\xed\x5f\x42\x30\x37\xa8\x43\x69\xb2\x76\xb0\xa7\x76\x26\x84\x60\xe6\x9c\x46\x69\x53\x36\xb0\x15\x8e\x0f\xf8\xe0\x73\xa0\x47\x83\x22\x0a\x1e\xb0\xa5\x6f\x9f\x16\xa6\xbf\xdf\x2f\x97\xb4\x28\x49\xda\x03\x1e\x67\xdf\xf0\xca\xc7\xd8\xda\xe4\x19\x81\x22\x9d\xab\x10\x70\xb6\x3e\x86\x42\xa1\xae\xfe\xbd\xb2\x81\x0f\x02\xa5\x9b\x16\xc1\xb8\xa4\x8c\xc5\x12\x1f\x14\x55\x24\x96\xaa\xe8\x83\x13\x91\x5c\x85\x25\x17\x85\x21\xac\x57\xd6\x60\x29\xf5\x56\x08\x53\x0a\x39\x96\x82\xb2\x82\x95\x51\x2b\xb1\xd4\x8c\x15\x22\x3a\x50\x60\x81\x2e\x02\x7e\x3a\xa1\xc6\x4a\xd0\x7e\x30\xd1\x62\xc0\x12\x0b\x81\xa6\x52\xa0\x31\x55\x09\xb4\x26\x70\x11\x66\x31\x96\x59\xeb\xaa\x16\x78\xf9\x20\x5e\x87\x15\x27\xbc\xe0\x25\xa3\xf5\x58\x51\x52\x0a\x19\x03\x29\xc1\x22\x0d\x19\xb0\x4b\x2b\xb2\xff\x03\x80\x64\x51\xf1\x29\x1a\xc2\x9c\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\x01\x00\x00\xff\xff\xb0\xaa\xd3\x73\x5f\x03\x00\x00")
2015-08-30 07:27:40 +00:00
func staticFaviconPngBytes() ([]byte, error) {
return bindataRead(
_staticFaviconPng,
"static/favicon.png",
)
}
func staticFaviconPng() (*asset, error) {
bytes, err := staticFaviconPngBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "static/favicon.png", size: 863, mode: os.FileMode(436), modTime: time.Unix(1503299028, 0)}
2015-08-30 07:27:40 +00:00
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x91\x41\x8e\xb3\x30\x0c\x85\xf7\xff\x29\xfc\xe7\x00\xf8\x02\xa1\x57\xa9\x68\xe2\x12\xd3\x90\x20\x6c\x50\x99\xaa\x77\x1f\x85\x4c\x17\x23\x2a\xcd\x68\x56\xb1\xfc\xde\xf7\x62\xd9\xf6\xbf\xcf\x4e\xb7\x89\x20\xe8\x18\x4f\xff\x6c\x7d\x00\x6c\xa0\xce\x97\x02\xc0\x2a\x6b\xa4\xd3\xe3\x01\xcd\x5e\xc1\xf3\x69\xb1\xf6\xaa\x1e\x39\xdd\x60\xa6\xd8\x1a\x76\x39\x19\x28\x79\xad\xe1\xb1\xeb\x09\xa7\xd4\x1b\x08\x33\x5d\x5b\x73\xed\xd6\xa2\x37\xa5\x75\x20\x45\xb7\x48\x12\x88\xf4\x65\x6f\xd0\x89\x20\x27\x4f\xf7\xc6\x89\x18\xc0\x5f\x43\x77\xa5\x79\xfc\x13\x74\x76\x8b\x68\x1e\xf9\x83\xbe\xe3\xe2\x66\x9e\x14\x64\x76\xad\xc1\x41\x30\xec\x3f\x0c\x62\x4e\x16\xab\xb6\x2f\x0d\x5f\x5b\xb3\x97\xec\xb7\x2f\xd6\xf3\x0a\xec\x5b\x53\x10\x4e\x5d\x2c\x8c\xe7\xf5\x4d\x72\x83\xdd\xa2\xe1\xac\xf9\x46\xe9\x10\x7e\xf0\xba\x9c\xae\xdc\xff\xec\x1b\x04\x2f\x4b\xf2\x91\xde\xcc\x5b\xc7\xb4\x58\xcf\xfe\x19\x00\x00\xff\xff\x1d\x76\x7c\x01\x0e\x02\x00\x00")
2015-08-16 09:47:23 +00:00
func staticIndexHtmlBytes() ([]byte, error) {
2015-08-16 09:47:23 +00:00
return bindataRead(
_staticIndexHtml,
"static/index.html",
2015-08-16 09:47:23 +00:00
)
}
func staticIndexHtml() (*asset, error) {
bytes, err := staticIndexHtmlBytes()
2015-08-16 09:47:23 +00:00
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "static/index.html", size: 526, mode: os.FileMode(436), modTime: time.Unix(1503299786, 0)}
2015-08-23 11:40:18 +00:00
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _staticJsBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6b\x73\x1b\x4b\xb2\x20\xf6\x79\xf8\x2b\x4a\x9c\x1d\xa1\x21\x82\x10\x1e\x7c\x53\x90\x2e\x09\x92\x23\xdd\xa3\xd7\x92\x3c\x8f\x59\x8a\xcb\x69\x74\x17\x80\x96\x1a\xdd\x98\xee\x06\x09\x8c\xc8\xf9\x64\x3b\xc2\x1f\xfd\xc5\xe1\x0f\x1b\xe1\xd7\xb5\xef\x5d\x87\xc3\xb1\x76\x6c\x6c\xd8\xe1\xb5\x1d\x31\xe7\x8f\x39\xea\xd9\xf5\x6c\x34\x40\xea\x48\x77\xf6\x30\x66\x8e\xd0\x55\x59\x59\x59\x59\x59\x59\x59\x55\x59\x59\x4f\x9f\xe0\xbf\xa7\xc0\xe9\x4f\x22\x2f\x0b\xe2\xc8\x19\xc5\xfe\x24\x84\x69\x15\x7c\x06\x4f\x9f\x82\x1b\xd8\x1b\xbb\xde\xa7\xc3\x38\xce\xd2\x2c\x71\xc7\x2b\xbc\xc4\x6f\x9e\x3e\x05\xe7\x43\x08\x08\x3c\xf0\x5c\x6f\x08\x85\xdc\x6b\x37\x01\x41\x94\x66\x6e\x18\x42\xff\x0d\xc1\x09\x3a\xe0\xf3\xdd\x3e\x07\xd2\x71\x25\xf0\x4f\x93\x20\x81\x80\x11\x23\x40\xb0\x24\x70\x75\x45\x69\xba\xa2\xd0\x57\x57\x94\xe6\x57\x7e\x15\x7c\x36\x61\x47\xe8\xbb\x43\xe8\x7d\x02\x41\x9f\xd1\x1b\xa4\x20\x88\x34\xaa\x7f\x13\xf4\x1d\x95\xea\x0b\x86\xfd\x52\x44\x0f\x7e\xf3\x9b\xdf\x24\x30\x9b\x24\x91\xd6\xcc\xbc\x40\x1d\x4e\xc7\x71\x92\xa5\xfb\x62\xb1\x3b\x95\xb2\x04\xba\x19\x04\x2e\x88\xe0\x0d\xa3\xce\x71\x23\x1f\x8c\x27\x19\x08\x32\x10\x44\x59\x0c\xb2\x21\x65\x71\x55\x2c\x8d\x98\x4c\x4b\x74\x0a\xc8\x40\x7c\x97\x08\x0f\xf6\x00\xcb\xac\x49\x19\xe1\x1e\xe8\xbb\x61\x0a\xe5\x54\xda\x8a\x3d\xf0\x59\xa2\xdd\xdc\x95\xa8\x49\xc7\x53\xe8\x4d\x32\x88\xa9\xa6\xf4\x19\xba\xf4\x37\x23\x8d\x5f\x9e\x1b\x86\xb4\x37\x19\xef\x6a\x14\x03\xfb\x37\x4f\x37\x48\x42\xd5\x4a\xd2\x49\xe8\x0e\x44\x7a\xdc\x14\x84\xb1\xeb\x43\x5f\x27\xa8\x1e\x82\x0e\xc8\x92\x09\xb4\x22\x3b\x25\x1d\x8f\xd0\x51\x6a\x40\xdc\x17\xb0\x8b\xe0\x54\x48\x64\xe2\x45\x81\xb8\xd3\x6b\x91\x47\x06\x2a\x93\x8a\xcc\x4c\x41\xdc\xfb\x08\xbd\x0c\x38\x39\x0b\x68\xce\xd5\x95\x28\x20\x06\x0e\xd5\x47\xa0\xc3\xd0\xd8\x86\xa2\x56\xa1\x36\x4e\x4c\x88\x3d\x83\x0c\xda\x6a\x08\x7c\x18\x65\x41\x36\xe3\x62\x01\xfa\x71\x02\x50\xef\x07\xd1\x00\x0c\xdd\x64\x14\x47\x33\x10\x8c\x08\x6f\x6f\x82\x6c\x48\x46\x40\x9c\x24\xa8\xdd\x5e\x1c\x65\x70\x9a\xcd\x21\x28\x00\x1d\x8e\xdf\xb9\x76\xc3\x09\x44\x4a\x8d\xf6\x07\xfe\xde\x07\x56\x75\xe4\xc3\x7e\x10\x41\x30\x80\x59\x06\x13\x99\x4c\x46\x1e\xed\xcb\x39\x54\xf8\x22\x15\x5c\x76\x23\x77\x04\x6b\x14\xbb\xa2\x56\x82\xbe\xf3\xc8\x84\x28\x96\x4b\x57\x55\x6d\xf4\x0e\xcb\x44\x9d\x10\xfe\x3e\x89\xc7\x30\xc9\x66\x6a\x8d\x72\x91\xdf\x78\x71\xd4\x0f\x06\x93\xc4\xed\x85\xd0\x38\xf4\x7f\x03\xa3\xc9\x08\xd2\x7c\x34\x26\x94\xec\x01\xcc\xf6\x68\x33\xa4\x8c\xbb\xaa\x55\xe7\x59\x59\x3e\x80\xd9\x11\xec\xbb\x93\x30\x3b\xc6\x44\x2b\xc2\x11\x8f\xc6\x6e\x16\xf4\x82\x10\xc9\x0d\x16\x89\x28\x8e\xd6\x59\x67\x50\x91\x9e\xd3\x19\x91\xd8\x19\xa4\x88\xc2\x46\xa4\x52\x69\xa7\xb3\x71\x02\x1e\x3f\x66\xc3\xf7\xea\x0a\xa6\x44\xb4\xc1\x0b\xa9\xbd\x9c\xd4\xbc\x11\x8e\x20\x6d\xa4\xf8\x45\xc5\x27\x59\x95\xcb\x7d\x70\x07\xf6\xac\x18\x48\x15\x84\x0b\xa9\x8e\x47\x12\x5b\xf0\x1b\xb3\xd8\x39\xa4\x15\x35\x50\x71\x2b\x5c\xd2\xf6\x0d\x9a\x89\x64\xed\x97\xe9\x21\x2a\x62\xe3\x24\xce\xe2\x6c\x36\x86\xf5\xa1\x9b\xbe\xbb\x89\x98\xb0\x61\xf5\x3d\xa7\x07\x62\xb1\x07\x88\x1a\xab\x81\x31\x45\x20\xb4\xb4\x4c\x55\x7a\xf9\x82\x01\x9d\x13\x33\x9e\xf4\xc2\xc0\xbb\x1a\xbb\xd9\xf0\xea\x6a\x0e\xb9\x63\xd0\x01\xab\xab\x36\x9c\xaf\x63\xd7\x07\x30\xca\x92\x19\x9f\x56\x22\x9f\xb5\x40\x57\x0f\x34\xc3\x64\xc1\x98\xea\x46\xf6\x52\x73\x43\xec\xb3\x3b\xae\xdc\xef\xff\x27\x34\xc5\xb9\x58\x79\xfa\x04\x34\x00\x4d\xd3\xad\xc1\x1a\x28\x9c\x74\xc1\xe7\x95\x95\xd5\x49\x0a\x41\x9a\x25\x81\x97\xad\xee\xaf\xac\xcc\x51\x46\xab\xf9\x40\x5a\xad\x81\xcf\x44\x1b\x13\x05\x03\x90\xea\x40\xa3\xb0\x1b\x8f\xc6\x71\x1a\x20\x32\x5e\xc2\x70\x0c\x93\xab\x26\xe8\x18\x99\xd7\xdc\xa4\x45\x8e\xaf\x61\x94\x1d\x8f\x02\x24\xd0\x76\x68\x0a\xfc\x43\x00\x6f\x10\x39\x56\xc0\x56\x8b\x51\x12\x06\xe3\x5e\xec\x26\xbe\x1d\x74\x97\x81\x06\x89\x37\x09\xdd\xe4\x75\x90\xda\x11\xb7\x19\x09\xc7\xa9\xe7\x8e\xe1\x19\xfc\xd3\x04\x46\x1e\x4c\xed\xe8\x29\xfc\xab\x68\x3c\xc9\x5e\xba\x91\x1f\x16\xb5\x6f\x8b\x42\xbf\x77\x93\xb4\x08\x6e\x87\xc2\x9d\xc2\xc8\x87\x49\x11\x24\x6b\xdd\xeb\x20\xfa\x14\xf4\x83\x22\xd0\x6d\x0a\x7a\x06\x43\x88\x45\xe8\x8
2015-08-23 11:40:18 +00:00
func staticJsBundleJsBytes() ([]byte, error) {
2015-08-23 11:40:18 +00:00
return bindataRead(
_staticJsBundleJs,
"static/js/bundle.js",
2015-08-23 11:40:18 +00:00
)
}
func staticJsBundleJs() (*asset, error) {
bytes, err := staticJsBundleJsBytes()
2015-08-23 11:40:18 +00:00
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "static/js/bundle.js", size: 214874, mode: os.FileMode(436), modTime: time.Unix(1503301076, 0)}
2015-08-20 07:45:06 +00:00
a := &asset{bytes: bytes, info: info}
2015-08-16 09:47:23 +00:00
return a, nil
}
var _staticJsHtermJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x7b\x77\x1b\x37\x92\x38\xfa\xbf\x3f\x05\xa2\xc9\x86\xa4\x4d\xf1\xa5\xb7\x1d\x25\x4b\x5b\x56\xc6\x7b\x1c\x27\xd7\x76\x66\x7e\x7b\x64\x8d\x17\xec\x06\x49\x44\xcd\x6e\x06\x00\x25\x31\x89\xe6\xb3\xdf\x53\x85\x37\xba\x49\x2a\xb3\xbb\xbf\x7d\xdc\x6b\x45\x0c\xd5\x5d\x8d\x2e\x14\xea\x8d\x02\xd0\xef\x93\x8f\x73\x2e\xc9\x94\x17\x8c\xdc\x51\x49\x66\xac\x64\x82\x2a\x96\x93\xc9\x9a\x14\x7c\x92\x57\xaa\x3f\xe1\x65\x3f\xab\xca\x8c\xaa\x9e\x9c\xf7\x9e\xf4\xfb\xe4\x8d\x22\x73\x2a\xc9\x84\xb1\x92\x2c\xa8\xb8\x61\x39\x11\x8c\xe6\xfb\x55\x59\xac\xc9\xb4\x12\x64\x5d\xad\x04\x91\x74\xca\xd4\xba\x47\xc8\x7b\xaa\xe6\x4c\xc0\x83\x6a\x4e\x4b\xc2\x72\xae\x08\x57\x24\xe7\x82\x65\xaa\x58\x77\xc9\xb2\x60\x54\x32\xb2\xa8\x72\x3e\x5d\x93\xaa\x64\xa4\x9a\x12\x35\x67\x92\x11\x59\xad\x44\xc6\xe0\x59\xc0\x51\xf6\x7a\x80\x00\xfc\x69\x90\xfb\x59\xf6\x0b\x3e\xe9\xfd\x2c\x6b\xd7\x3e\x2f\xab\x62\x3d\xe5\x45\xd1\x78\x33\xab\x8a\x4a\xc8\xc6\x5b\xd3\xc6\xab\x0b\x26\x25\x9d\xb1\xcf\x0b\x5a\xd2\x19\x13\xcd\x6f\x14\x6c\xca\x04\x2b\xb3\xed\x60\x82\xe9\x5e\x35\xde\x94\xaa\x12\x74\xb6\xf5\xde\xe7\x6c\x2e\xaa\xc5\x76\x90\xa2\xca\x68\x73\xcf\x2d\xc4\x82\x2d\x2a\xb1\x6e\x04\x51\x4c\xaa\xad\x3d\x58\xa9\xe9\x69\x7c\x43\xcd\xb9\xc8\x3f\x2f\xa9\x50\xeb\xfe\x5d\x76\xc7\x73\x35\x47\xc8\xbb\xcc\xc0\xcd\x15\x13\x0b\x78\x1e\xbf\x34\x5e\xfc\x3c\x15\xd4\x75\x2b\xb9\x75\xc3\xd6\x93\x8a\x8a\x7c\xfb\xdd\xcf\x13\x5e\xe6\xbc\x9c\xc9\x1d\x60\x37\x6c\xbd\xa0\xcb\xdd\x40\x4b\xaa\x14\x13\x65\x33\x60\xb5\x54\xbc\x2a\x37\xbc\x6a\x49\x85\x74\xc4\x6b\xbc\xf7\x99\xe7\xac\x54\x7c\xca\x99\xd8\xd4\xc6\x26\x76\x4a\xe1\x56\x13\xb9\x9a\x34\xdf\x93\x99\x60\x6c\x43\x07\x64\x26\xaa\xa2\x58\x56\x42\x35\xdf\x87\x0f\x5e\x3a\x36\xda\x70\xf7\x33\xaf\x36\x01\xdc\xab\xcf\x54\x29\xc1\x27\x2b\xc5\x36\xf4\xf1\x76\xc3\xbb\x6f\xd5\xe7\x6c\x4e\x05\xcd\x14\x13\x9f\xdd\x58\x3d\x01\xc8\x0f\x3f\xfc\xf4\xfe\xd5\x6b\x72\xf9\xe6\xed\xeb\xe7\x8d\x6a\xe0\x55\xb5\x5c\x0b\x3e\x9b\x2b\xd2\xce\x3a\x64\x34\x18\x8e\xc8\xc7\x39\x23\xaf\x40\x6a\xf8\x6a\x41\x7e\xf8\x40\xc6\x2b\x35\x07\xf9\x27\xe3\xa2\x20\x08\x2b\x89\x60\x92\x89\x5b\x96\xa3\x8a\xfb\x49\x1a\x25\xc4\xa5\xd1\x41\x24\xab\x72\x46\xb8\x24\xb3\xea\x96\x89\x52\xab\x48\x4a\x5e\x7e\xb8\xd8\x97\x6a\x5d\x30\x52\xf0\x8c\x95\x92\x81\x92\x53\x24\xa3\x25\x99\x68\xbd\x55\xad\xca\x9c\xf0\x12\x14\x1a\x79\xfb\xe6\xd5\xeb\x77\x1f\x5e\xa3\x32\xeb\x3d\x79\xd2\x5a\x81\x8a\x53\x82\x67\xaa\xf5\xe2\xc9\x13\x3e\x25\x6d\xb5\x5e\xb2\x6a\x0a\xfd\x22\x5f\x9c\x93\xd6\xaa\xcc\xd9\x94\x97\x2c\x6f\x75\x9e\x10\xa2\xe6\xa2\xba\x23\x25\xbb\x23\xaf\x85\xa8\x44\xbb\xf5\x5d\x51\x4d\x68\x41\xf6\x0a\x3e\xd9\x23\xd5\xe4\x67\x96\x29\x42\x0b\x50\xc6\x6b\xc2\xee\xb9\x54\xb2\xd7\xea\xbc\x78\xf2\xe4\x96\x0a\x6c\xf2\x9c\xfc\xf6\xf0\xe2\xc9\x93\xfe\xd3\xa7\x4f\xc8\x53\xf2\x3d\x5d\x42\x27\xf7\x72\xb6\x64\x65\xce\xca\x6c\xbd\x47\x54\x45\xae\xf6\x74\x8f\xf7\xba\xa4\xd7\xeb\x5d\xf7\x9e\x10\x84\x7e\x4d\xb3\x39\xf1\xa0\x40\x0a\x6a\xdf\x59\xd2\x05\xeb\x92\x82\xdf\x30\xc4\xa5\x37\x95\x7b\x5d\x62\x9b\x01\x48\xe8\xfc\x4a\x14\x48\x1c\x68\x4c\xb7\x23\x49\xa5\xe9\xa2\x9b\x81\x37\xf5\x9f\xc0\xf3\x62\x55\x2a\xbe\x60\x17\xf6\x6d\x9c\xc9\xcf\x09\xf2\x6f\xb9\x54\x80\xfd\x74\x55\x66\x28\x88\x9a\xf0\x25\x63\x39\x74\x62\xc2\x08\x2f\x6f\x2b\xb0\x4d\xf9\x4a\xf0\x72\x06\xfd\x17\x54\xac\x09\x2f\xb9\xe2\xb4\xe0\xbf\x52\x78\x2c\xea\x1d\x2b\xd8\x82\x95\xca\x8e\x16\x40\xbe\xa2\x45\x31\xa1\xd9\x8d\xfc\x4c\xa8\x10\x14\xbb\xcd\x95\x64\xc5\x94\x50\xa2\xee\xaa\x7d\xfb\x0c\xde\xed\x61\x53\xe6\xca\x40\x93\x48\xce\x2b\xa1\x70\x94\xcb\x19\xc9\x99\xcc\x04\x9f\xc0\x57\xec\xf7\x5d\xc9\x84\xb1\x76\xf8\x3a\x22\xaa\x95\xe2\x25\xeb\x92\x95\x64\xd3\x55\x01\xed\x81\x45\xcd\xd9\x64\x35\x9b\xf1\x72\xd6\x23\xae\xfd\xa1\x25\x6c\x66\x70\x74\xb4\xf0\x84\x4c\xba\x70\x4e\xae\xae\x3d\x09\xdf\xb3\xac\x12\x39\xe0\x68\xe8\x1d\x0c\xaf\xa5\x0b\xfa\x07\x9a\x9b\x0d\x4a\xe4\x6e\xce\x4a\x30\xf1\xe4\x8e\x96\x0a\x68\xcd\xee\x97\x82\x49\xd3\xce\x7e\xd2\x10\xd1\x03\x9e\x55\x8b\x25\x78\x19\x70\xb7\x47\xc0\x85\xe0\x92\x94\x15\xd0\x5a\x01\xa4\x1d\x34\x4a\xa6\xab\xa2\xd8\x9f\x16\x2c\x9f\xb1\xdc\x0d\x9a\x5c\x4b\xc5
2015-08-16 09:47:23 +00:00
func staticJsHtermJsBytes() ([]byte, error) {
2015-08-16 09:47:23 +00:00
return bindataRead(
_staticJsHtermJs,
"static/js/hterm.js",
2015-08-16 09:47:23 +00:00
)
}
func staticJsHtermJs() (*asset, error) {
bytes, err := staticJsHtermJsBytes()
2015-08-16 09:47:23 +00:00
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "static/js/hterm.js", size: 558539, mode: os.FileMode(292), modTime: time.Unix(1503296087, 0)}
2015-08-20 07:45:06 +00:00
a := &asset{bytes: bytes, info: info}
2015-08-16 09:47:23 +00:00
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)
2015-08-20 07:45:06 +00:00
if err != nil {
2015-08-16 09:47:23 +00:00
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){
"static/css/index.css": staticCssIndexCss,
"static/css/xterm.css": staticCssXtermCss,
"static/css/xterm_customize.css": staticCssXterm_customizeCss,
"static/favicon.png": staticFaviconPng,
"static/index.html": staticIndexHtml,
"static/js/bundle.js": staticJsBundleJs,
"static/js/hterm.js": staticJsHtermJs,
2015-08-16 09:47:23 +00:00
}
// 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 {
2015-08-20 07:45:06 +00:00
Func func() (*asset, error)
2015-08-16 09:47:23 +00:00
Children map[string]*bintree
}
2015-08-20 07:45:06 +00:00
2015-08-16 09:47:23 +00:00
var _bintree = &bintree{nil, map[string]*bintree{
"static": &bintree{nil, map[string]*bintree{
"css": &bintree{nil, map[string]*bintree{
"index.css": &bintree{staticCssIndexCss, map[string]*bintree{}},
"xterm.css": &bintree{staticCssXtermCss, map[string]*bintree{}},
"xterm_customize.css": &bintree{staticCssXterm_customizeCss, map[string]*bintree{}},
}},
2015-08-30 07:27:40 +00:00
"favicon.png": &bintree{staticFaviconPng, map[string]*bintree{}},
"index.html": &bintree{staticIndexHtml, map[string]*bintree{}},
"js": &bintree{nil, map[string]*bintree{
"bundle.js": &bintree{staticJsBundleJs, map[string]*bintree{}},
"hterm.js": &bintree{staticJsHtermJs, map[string]*bintree{}},
}},
2015-08-16 09:47:23 +00:00
}},
}}
// RestoreAsset restores an asset under the given directory
func RestoreAsset(dir, name string) error {
2015-08-20 07:45:06 +00:00
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
2015-08-16 09:47:23 +00:00
}
// RestoreAssets restores an asset under the given directory recursively
func RestoreAssets(dir, name string) error {
2015-08-20 07:45:06 +00:00
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
2015-08-16 09:47:23 +00:00
}
func _filePath(dir, name string) string {
2015-08-20 07:45:06 +00:00
cannonicalName := strings.Replace(name, "\\", "/", -1)
return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
2015-08-16 09:47:23 +00:00
}