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