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