1
0
Fork 0
mirror of https://github.com/Luzifer/share.git synced 2024-10-18 13:24:23 +00:00
share/bindata.go
Knut Ahlers 8771a5c962
Minor improvements when displaying image shares
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2017-12-02 20:18:29 +01:00

396 lines
19 KiB
Go

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