|
| 1 | +package main |
| 2 | + |
| 3 | +import ( |
| 4 | + "bytes" |
| 5 | + "compress/gzip" |
| 6 | + "fmt" |
| 7 | + "io" |
| 8 | + "strings" |
| 9 | +) |
| 10 | + |
| 11 | +func bindata_read(data []byte, name string) ([]byte, error) { |
| 12 | + gz, err := gzip.NewReader(bytes.NewBuffer(data)) |
| 13 | + if err != nil { |
| 14 | + return nil, fmt.Errorf("Read %q: %v", name, err) |
| 15 | + } |
| 16 | + |
| 17 | + var buf bytes.Buffer |
| 18 | + _, err = io.Copy(&buf, gz) |
| 19 | + gz.Close() |
| 20 | + |
| 21 | + if err != nil { |
| 22 | + return nil, fmt.Errorf("Read %q: %v", name, err) |
| 23 | + } |
| 24 | + |
| 25 | + return buf.Bytes(), nil |
| 26 | +} |
| 27 | + |
| 28 | +var _assets_index_html = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\xdd\x6e\xdb\x38\x13\xbd\xf7\x53\x4c\x85\x7e\xb0\x0c\xd4\x92\x8d\xef\x66\xe1\x48\x06\x82\xc4\xbb\xc8\xa2\x69\x83\xda\x41\xb7\xe8\x16\x29\x2d\x8d\x2d\x6e\x29\x52\x25\xc7\x51\xbc\x45\xde\x7d\x41\x51\xd6\x8f\xeb\x1a\x48\x2e\x62\x91\x33\x67\xe6\x9c\x99\x21\xa5\xe8\xd5\xf5\xfb\xab\xd5\xa7\xbb\x05\x64\x94\x8b\xf9\x20\xb2\x3f\x20\x98\xdc\xc6\x1e\x4a\x6f\x3e\x18\x00\x44\x19\xb2\x74\x3e\x00\x00\x88\x72\x24\x06\x49\xc6\xb4\x41\x8a\xbd\xfb\xd5\xef\xe3\xdf\xbc\xae\x29\x23\x2a\xc6\xf8\x7d\xc7\x1f\x63\xef\xaf\xf1\xfd\xe5\xf8\x4a\xe5\x05\x23\xbe\x16\xe8\x41\xa2\x24\xa1\xa4\xd8\xbb\x59\xc4\x98\x6e\xb1\x87\x94\x2c\xc7\xd8\x7b\xe4\x58\x16\x4a\x53\xc7\xb9\xe4\x29\x65\x71\x8a\x8f\x3c\xc1\x71\xb5\x78\x03\x5c\x72\xe2\x4c\x8c\x4d\xc2\x04\xc6\xd3\x60\x72\x08\x45\x9c\x04\xce\xff\x51\x3b\x2d\x99\x48\x48\x44\xa1\xdb\x19\x38\xb3\xa1\xbd\x5d\x40\xf5\xb7\x56\xe9\x1e\x7e\xd4\x0b\x80\x8d\x92\x34\xde\xb0\x9c\x8b\xfd\x0c\x0c\x93\x66\x6c\x50\xf3\xcd\x45\xdf\xc1\xf0\x7f\x71\x06\xd3\xff\x17\x4f\x07\xc3\xf3\xa0\x7e\xb0\x65\x42\xdd\x89\x98\x72\x53\x08\xb6\x9f\xc1\x46\xe0\x53\x1b\x87\x09\xbe\x95\x63\x4e\x98\x9b\x19\x24\x28\x09\xf5\xaf\x62\x65\xd3\x2e\x41\x81\x4f\xe3\xad\x56\xe5\x0c\xa6\x2d\xa0\xd2\x15\xd6\xc2\x6c\xb7\x42\xd7\x2e\xfb\x68\x15\x1e\xa4\xbb\x88\x07\xed\x51\x36\xed\x54\x09\x0a\xad\x9e\xf6\x51\x98\x4d\x1b\x7b\xca\x1f\xe7\x4d\xe6\xc8\xa0\xc0\x84\x40\xc9\x24\x63\x72\x8b\xb1\x67\x88\x69\x7a\xcb\x0d\xa1\xe4\x72\xbb\x52\x4b\xd4\xb6\x3f\xfe\xc8\x6b\x51\x00\x91\x2a\x88\x2b\x39\x5f\x3a\xb8\x71\x4e\x51\x58\x6f\xb7\xf1\x43\x97\xa0\xc9\x1e\x36\xe9\x9d\x1c\x4b\xbc\x6e\x30\x5b\x0b\x84\xb5\xd2\x29\xea\xd8\x9b\x7a\xe0\xc6\xc3\x9b\x4e\x26\xff\x6b\x72\x47\xd4\x8e\xac\x5b\xeb\x1e\x2d\xca\xe6\x77\x37\xd7\x51\x48\xd9\xf1\xf6\xbd\xe4\x74\x6a\x7f\xc5\x73\x34\xc4\xf2\xe2\x94\xf1\x16\x8d\x61\x5b\xec\x9b\xa2\xb0\x4d\x6a\x2d\x1d\x42\x11\x55\x8d\x89\x42\xf7\x5b\xeb\xac\x94\x35\x83\x9a\x68\x5e\xd0\xfc\x30\x0e\x02\x09\x8c\x4a\xbe\x21\x41\x0c\x72\x27\xc4\xc5\xc1\x92\x28\x69\x6c\x65\xab\x02\xc7\x90\xaa\x64\x97\xa3\xa4\xe0\xfb\x0e\xf5\xde\xd5\x5d\x69\x7f\xe8\x1c\x86\xa3\x8b\x1e\xcc\x15\xf3\xd7\xa8\xca\x6e\x41\x35\xca\x67\x66\x2f\x13\xf0\x47\x10\xcf\x3b\x83\x79\xe0\x50\x75\xd7\x7c\xc0\xef\x3b\x34\x96\x0c\x2b\x19\x27\xd8\x20\x25\x99\x3f\x0c\x05\x37\x34\x3e\x38\xb5\x4c\x8e\xe1\x76\xa8\x1a\xec\x51\xcc\x80\xf0\x89\xfc\x96\x8f\x3d\x93\x1a\x7c\x5b\x1d\xc1\x25\x82\xda\xf4\xc2\x04\xa6\x10\x9c\xfc\xe1\xdf\x72\x38\x1a\x75\xf8\x82\xf3\x8e\xab\x9f\x80\x34\xcf\xfd\x0e\x1d\x00\xbe\x01\xdf\x79\xc4\x31\x0c\x87\x23\x58\x6b\x64\xdf\x3a\x59\x9d\xcb\xab\x0a\x5e\x9d\x04\xf3\x91\x53\xe6\x0f\xef\xdf\xdd\xac\x8e\x53\x1d\xe9\x7b\xc7\xf2\x26\x73\x4d\x0f\x86\xa3\xcf\x93\x2f\x17\x27\x30\xee\x9c\x74\x1b\x94\x68\x64\x84\x0b\x81\x76\xe5\x0f\x9d\xc3\x70\xd4\x07\xbb\xdd\xe0\x91\x89\x9d\xcd\xd5\xc9\x7c\x48\x19\x9c\x48\x59\xa3\xb8\x94\xa8\x57\xf8\x44\x7d\x64\xdf\xd7\x8d\x53\xc0\x8a\x02\x65\x7a\x95\x71\x91\xfa\x0e\x3e\xea\xb8\x3d\x0f\x8e\x9f\x9e\x47\x9d\xe6\x6d\x76\x32\xa9\xe4\xfd\xf2\x2e\xe9\xd4\xd1\xd6\xdb\x1d\x80\x7e\x75\xdd\x5e\x90\x08\x65\xd0\x9f\x4e\x26\x93\x37\x30\xfc\xa8\xf4\x37\x48\x54\x5e\x08\x24\xec\xd6\xe6\xb9\xed\x60\x7b\x98\xb0\x84\x8f\xb8\x5e\x56\x6b\xff\x6b\x69\x66\x61\xf8\xfa\x47\xc9\x65\xaa\xca\x40\xa8\x84\x55\x45\xc9\x94\xa1\xe7\xb0\x34\xe1\xeb\x1f\xb5\xf4\xaa\xb8\xcf\x5f\xbb\xb3\x58\x73\x51\x52\x15\x68\x9b\xd6\x08\xf4\xb1\x4f\xda\x36\x57\x09\x0c\x84\xda\xfa\x5f\x3f\x5b\xef\x2f\x70\xa5\xa4\x44\xe7\x6e\x2f\x9a\xb5\xe0\x26\xc3\x14\x4a\x4e\xd9\xa1\x0d\x33\x38\x91\xbd\xd1\x76\x8a\x48\xee\x2e\xa6\x3e\x97\x47\x94\xf4\x33\x1f\x02\x2e\x13\x95\x73\xb9\xbd\x6d\x40\x7f\x2e\xdf\xbf\x0b\x0a\xfb\xae\x77\xa8\x20\x65\xc4\x46\xbd\x73\xe0\xa0\x5a\x95\x67\x86\x94\x74\x7f\x40\x1d\xa6\xe0\xe9\x39\x4c\x7a\x12\xa3\xb9\xd2\x9c\xf6\x2f\x06\x9a\xbd\x21\xcc\x53\x7b\xbb\xbf\x18\xab\x91\x09\xe2\x39\x36\xaf\x80\x17\x47\x68\xdb\x70\x1e\xd7\x01\x16\x3c\xed\x9d\xc4\xa3\xe6\x04\x0f\x77\x37\xd7\xdd\x44\x1d\x81\xe7\x71\xcb\x4f\xcb\xd5\xe2\xf6\xfa\xc1\x5e\x55\xdd\x00\x3f\xa9\x3c\x1f\xe6\xe1\xc3\xe2\xf2\xed\xea\xe6\x76\xf1\x60\xff\x2d\x57\x97\xb7\x77\xdd\x68\xb5\xe2\xb3\x31\x6e\x17\xcb\xe5\xe5\x1f\x8b\x9e\x6c\xad\xca\xde\xa5\x52\xf0\xb4\x57\xcf\x63\x7b\x47\xf6\x59\xbf\x9f\xd4\x9d\xf5\xae\xd9\xf7\x3b\x52\xbd\x0b\xfb\x41\x55\xd9\x3f\x80\xf5\xc3\xe0\xf0\x4d\xd6\xbe\xc3\xa3\xb0\xfe\x14\x8b\x42\xf7\x9d\xfd\x5f\x00\x00\x00\xff\xff\xfe\x7d\x8a\x21\x78\x0b\x00\x00") |
| 29 | + |
| 30 | +func assets_index_html() ([]byte, error) { |
| 31 | + return bindata_read( |
| 32 | + _assets_index_html, |
| 33 | + "assets/index.html", |
| 34 | + ) |
| 35 | +} |
| 36 | + |
| 37 | +// Asset loads and returns the asset for the given name. |
| 38 | +// It returns an error if the asset could not be found or |
| 39 | +// could not be loaded. |
| 40 | +func Asset(name string) ([]byte, error) { |
| 41 | + cannonicalName := strings.Replace(name, "\\", "/", -1) |
| 42 | + if f, ok := _bindata[cannonicalName]; ok { |
| 43 | + return f() |
| 44 | + } |
| 45 | + return nil, fmt.Errorf("Asset %s not found", name) |
| 46 | +} |
| 47 | + |
| 48 | +// AssetNames returns the names of the assets. |
| 49 | +func AssetNames() []string { |
| 50 | + names := make([]string, 0, len(_bindata)) |
| 51 | + for name := range _bindata { |
| 52 | + names = append(names, name) |
| 53 | + } |
| 54 | + return names |
| 55 | +} |
| 56 | + |
| 57 | +// _bindata is a table, holding each asset generator, mapped to its name. |
| 58 | +var _bindata = map[string]func() ([]byte, error){ |
| 59 | + "assets/index.html": assets_index_html, |
| 60 | +} |
| 61 | +// AssetDir returns the file names below a certain |
| 62 | +// directory embedded in the file by go-bindata. |
| 63 | +// For example if you run go-bindata on data/... and data contains the |
| 64 | +// following hierarchy: |
| 65 | +// data/ |
| 66 | +// foo.txt |
| 67 | +// img/ |
| 68 | +// a.png |
| 69 | +// b.png |
| 70 | +// then AssetDir("data") would return []string{"foo.txt", "img"} |
| 71 | +// AssetDir("data/img") would return []string{"a.png", "b.png"} |
| 72 | +// AssetDir("foo.txt") and AssetDir("notexist") would return an error |
| 73 | +// AssetDir("") will return []string{"data"}. |
| 74 | +func AssetDir(name string) ([]string, error) { |
| 75 | + node := _bintree |
| 76 | + if len(name) != 0 { |
| 77 | + cannonicalName := strings.Replace(name, "\\", "/", -1) |
| 78 | + pathList := strings.Split(cannonicalName, "/") |
| 79 | + for _, p := range pathList { |
| 80 | + node = node.Children[p] |
| 81 | + if node == nil { |
| 82 | + return nil, fmt.Errorf("Asset %s not found", name) |
| 83 | + } |
| 84 | + } |
| 85 | + } |
| 86 | + if node.Func != nil { |
| 87 | + return nil, fmt.Errorf("Asset %s not found", name) |
| 88 | + } |
| 89 | + rv := make([]string, 0, len(node.Children)) |
| 90 | + for name := range node.Children { |
| 91 | + rv = append(rv, name) |
| 92 | + } |
| 93 | + return rv, nil |
| 94 | +} |
| 95 | + |
| 96 | +type _bintree_t struct { |
| 97 | + Func func() ([]byte, error) |
| 98 | + Children map[string]*_bintree_t |
| 99 | +} |
| 100 | +var _bintree = &_bintree_t{nil, map[string]*_bintree_t{ |
| 101 | + "assets": &_bintree_t{nil, map[string]*_bintree_t{ |
| 102 | + "index.html": &_bintree_t{assets_index_html, map[string]*_bintree_t{ |
| 103 | + }}, |
| 104 | + }}, |
| 105 | +}} |
0 commit comments