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