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