bindata.go 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. // Code generated by go-bindata.
  2. // sources:
  3. // .build/assets/close.svg
  4. // .build/assets/index.css
  5. // .build/assets/index.html
  6. // .build/assets/index.js
  7. // .build/assets/links.html
  8. // DO NOT EDIT!
  9. package web
  10. import (
  11. "bytes"
  12. "compress/gzip"
  13. "fmt"
  14. "io"
  15. "io/ioutil"
  16. "os"
  17. "path/filepath"
  18. "strings"
  19. "time"
  20. )
  21. func bindataRead(data, name string) ([]byte, error) {
  22. gz, err := gzip.NewReader(strings.NewReader(data))
  23. if err != nil {
  24. return nil, fmt.Errorf("Read %q: %v", name, err)
  25. }
  26. var buf bytes.Buffer
  27. _, err = io.Copy(&buf, gz)
  28. clErr := gz.Close()
  29. if err != nil {
  30. return nil, fmt.Errorf("Read %q: %v", name, err)
  31. }
  32. if clErr != nil {
  33. return nil, err
  34. }
  35. return buf.Bytes(), nil
  36. }
  37. type asset struct {
  38. bytes []byte
  39. info os.FileInfo
  40. }
  41. type bindataFileInfo struct {
  42. name string
  43. size int64
  44. mode os.FileMode
  45. modTime time.Time
  46. }
  47. func (fi bindataFileInfo) Name() string {
  48. return fi.name
  49. }
  50. func (fi bindataFileInfo) Size() int64 {
  51. return fi.size
  52. }
  53. func (fi bindataFileInfo) Mode() os.FileMode {
  54. return fi.mode
  55. }
  56. func (fi bindataFileInfo) ModTime() time.Time {
  57. return fi.modTime
  58. }
  59. func (fi bindataFileInfo) IsDir() bool {
  60. return false
  61. }
  62. func (fi bindataFileInfo) Sys() interface{} {
  63. return nil
  64. }
  65. var _closeSvg = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x2c\x8e\xc1\x8a\x84\x30\x0c\x86\x5f\x25\xe4\xbe\x69\x9b\x62\xcd\x2e\xd6\xc3\x9e\xdd\x87\x58\x50\x5a\xc1\x19\x65\x2c\x56\xe6\xe9\x87\x56\x2f\x3f\xe1\xfb\xbf\x84\x74\xfb\x11\xe0\x7c\x2c\xcf\xdd\x63\x4c\x69\xfb\x51\x2a\xe7\x4c\xd9\xd2\xfa\x0a\x8a\xb5\xd6\x6a\x3f\x02\x42\x9e\xc7\x14\x3d\x5a\x87\x10\xa7\x39\xc4\x74\xcd\xc7\x3c\xe5\xdf\xf5\xf4\xa8\x41\x83\x75\x60\x1d\xf6\xdd\xf6\x9f\x22\x8c\x1e\xff\x58\xa8\x81\x6f\x72\x3c\xb0\x23\x2b\xd0\x52\x03\x46\xc0\x34\x24\x52\x79\x25\xed\x2d\xdd\xdc\x5c\x5e\xdd\x58\x98\x0c\x43\x89\xc1\x08\xb0\x26\xc3\x8b\x94\x4b\x35\x0a\xff\xaa\x65\x6d\xc0\xc8\x1b\x55\xdf\x95\x87\xfb\x4f\x00\x00\x00\xff\xff\xe5\x79\xbd\x91\xd8\x00\x00\x00"
  66. func closeSvgBytes() ([]byte, error) {
  67. return bindataRead(
  68. _closeSvg,
  69. "close.svg",
  70. )
  71. }
  72. func closeSvg() (*asset, error) {
  73. bytes, err := closeSvgBytes()
  74. if err != nil {
  75. return nil, err
  76. }
  77. info := bindataFileInfo{name: "close.svg", size: 216, mode: os.FileMode(420), modTime: time.Unix(1500768770, 0)}
  78. a := &asset{bytes: bytes, info: info}
  79. return a, nil
  80. }
  81. var _indexCss = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x5d\x6f\xe3\x20\x10\x7c\xcf\xaf\x58\x35\x0f\x6d\xa5\x92\xd2\xa4\x8d\x1a\x2a\xdd\x8f\xb8\xb7\x7b\xc4\x66\xed\xa0\x62\x16\x01\x6e\x92\x9e\xee\xbf\x9f\x0c\x76\x48\xd2\x8b\xd4\x53\x3e\x64\x60\x18\xd8\x99\x59\x57\xa4\x0e\xf0\x7b\x06\x50\xc9\xfa\xbd\xf5\xd4\x5b\x25\x60\xde\x34\xcd\xdb\x0c\xa0\x21\x1b\x59\x23\x3b\x6d\x0e\x02\x6e\x7f\x4a\x83\x3b\x79\xb8\x7d\x80\x20\x6d\x60\x01\xbd\x2e\xa8\xa0\x3f\x51\xc0\xf3\xd2\xed\x8f\x53\x3b\xd4\xed\x36\x0a\x58\x71\xfe\x36\xfb\x33\x9b\x35\xe4\xbb\x74\x54\xc4\x7d\x64\xd2\xe8\xd6\x0a\xa8\xd1\x46\xf4\x69\x7d\x5e\x49\x9f\xd6\x77\x5a\xc5\xad\x80\xf5\xcb\xc8\xd6\x49\xdf\x6a\x2b\x80\x83\xec\x23\x0d\x33\x8e\x82\x8e\x9a\xac\x00\x8f\x46\x46\xfd\x81\x99\xa1\xf7\x26\x31\xfc\xf7\xc5\x57\x57\x2f\x5e\xae\xc3\x79\xc6\x38\xa9\x94\xb6\xad\x80\xe5\x4b\x9e\xa8\xc9\x90\x17\x30\xdf\x6c\x36\xc3\xb0\x22\xaf\xd0\x33\x2f\x95\xee\x83\x80\xe7\x0c\xca\xb3\x02\x9e\xdc\x1e\x02\x19\xad\x60\x5e\xd7\xf5\xb0\x42\x7d\x34\xda\xa2\x00\x4b\x16\x33\x74\xcf\xc2\x56\x2a\xda\x0d\x35\x2f\xdd\x1e\xd6\x6e\x0f\xbe\xad\xe4\x1d\x7f\x80\xf1\xbb\x58\xde\x1f\x6b\x16\x0d\xd5\x7d\xc8\x36\x7e\x3d\x86\x6f\x9a\x82\x14\x6c\x87\xd5\xbb\x8e\x4c\x5b\xd7\x47\xe6\x8c\xac\x71\x4b\x46\x61\x96\xfe\x58\x8b\x52\xea\x74\x53\x47\x9f\xdf\xc0\xd6\x9d\x4b\x2b\x5f\x14\x1a\x25\x7c\x59\xf3\x6b\x8e\x9e\x66\xc2\x60\x13\x2f\xfc\x59\x3e\xe5\x8d\xd1\x4b\x3b\x59\x9f\x9e\x53\xa8\x96\x9c\x77\x01\x50\x06\x64\xda\x32\xea\xe3\x11\x3a\x2c\x0b\x08\xb5\x34\xf8\xeb\x8e\xdf\x9f\xcd\x33\xf2\x3a\xdd\x22\x92\x3b\xe6\xf0\x68\x5f\x45\x31\x52\xc7\x86\xbb\xfc\xdb\xca\x09\xe1\x87\xb0\x7c\xd7\xed\x51\xa5\x85\xd1\xf6\xfd\xa2\xed\xd8\x24\x67\xb3\x1e\x3e\x05\xdb\xf4\xf5\x75\x2c\xe2\x97\x04\x4e\x4e\xfc\x00\xf9\x00\xe9\xa4\x00\x32\x11\x4c\xb0\x94\x88\x51\x73\x85\x35\x79\x99\x15\xcd\x01\x2c\xfb\x17\x5b\x1b\x8f\x14\x8b\xa6\x37\x86\x4d\x1d\x76\xe6\xfd\x48\x35\x65\x76\x28\x7a\xf8\xf1\xf1\x45\x72\x4e\x98\x1b\xd4\x90\x8c\x02\x92\x76\x23\xc0\xe4\x00\x97\xd6\x96\x55\x20\xd3\xc7\x54\x60\x24\x27\x20\x75\xa3\xcf\xbd\xc9\xb3\xca\x83\x03\xe3\x60\x6a\xd3\xc9\x81\x22\x96\xee\x64\x8b\x02\x7a\x6f\xee\x6e\x1e\xc3\x63\x6d\x28\xe0\x22\x7c\xb4\x37\xf7\x17\xc0\x72\x76\x8e\xc3\x69\x2a\x0a\xca\xa3\xc3\xe1\xf2\x96\xc6\xc7\x8b\xf5\xf1\x55\xf8\xea\xf6\xe9\x2f\xf9\xd3\xfb\x30\xc8\xe5\x48\x4f\x84\xe4\x64\xad\xe3\x41\x00\x5f\xac\x86\xb1\xd2\xc1\x19\x79\x38\x33\xc1\x04\xb1\xa5\x0f\xf4\xc5\xc6\x3c\x4e\x42\x9d\x10\xe4\xb0\x8c\x98\x93\x37\xe8\x2b\xbf\xd2\x6f\x05\xbd\x7d\x3a\xb3\x73\xb5\x5a\x15\x3c\x9b\xf4\x7d\x4e\x34\x65\x53\x6f\xce\xdb\x3c\xe9\x6f\x74\x88\x2c\xc4\x83\x41\x16\x0f\x0e\x4f\x0a\x29\xbb\x8c\x4e\x1b\x2f\xe8\x97\x23\xfd\xdf\x00\x00\x00\xff\xff\x92\xfb\x0d\x84\x8c\x06\x00\x00"
  82. func indexCssBytes() ([]byte, error) {
  83. return bindataRead(
  84. _indexCss,
  85. "index.css",
  86. )
  87. }
  88. func indexCss() (*asset, error) {
  89. bytes, err := indexCssBytes()
  90. if err != nil {
  91. return nil, err
  92. }
  93. info := bindataFileInfo{name: "index.css", size: 1676, mode: os.FileMode(420), modTime: time.Unix(1500768770, 0)}
  94. a := &asset{bytes: bytes, info: info}
  95. return a, nil
  96. }
  97. var _indexHtml = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x92\xcf\x72\xd3\x30\x10\xc6\xef\x79\x8a\x45\x67\xe2\x4d\x08\x07\x52\x24\x33\x43\x92\x01\x66\x0a\x74\x4a\x18\xe0\xa8\xd8\xeb\x58\x41\xb6\x5c\x69\x9d\xc4\x6f\xcf\xc8\x76\xdb\x50\x7a\xc2\xa7\xfd\xe3\xef\xf7\xed\xee\x48\xbe\x58\x7f\x5d\x6d\x7f\xdd\x6c\xa0\xe4\xca\xc2\xcd\xf7\xf7\xd7\x9f\x56\x20\xa6\x88\x3f\x16\x2b\xc4\xf5\x76\x0d\x3f\x3f\x6e\x3f\x5f\xc3\x3c\x99\xc1\x37\xf6\x26\x63\xc4\xcd\x17\x01\xa2\x64\x6e\xae\x10\x4f\xa7\x53\x72\x5a\x24\xce\xef\x71\x7b\x8b\xe7\x48\x99\x47\xd9\x18\x4e\x43\xaf\x49\x72\xce\x45\x3a\x91\xbd\xc9\xb9\xb2\x75\x50\xcf\x00\xe6\xcb\xe5\x72\xd0\x89\x74\x02\x20\x4b\xd2\x79\x0c\x00\x24\x1b\xb6\x94\x7e\x70\x12\x87\x68\xa8\x56\xc4\x1a\x22\x67\x4a\x77\xad\x39\x2a\xb1\x72\x35\x53\xcd\xd3\x6d\xd7\x90\x80\x6c\xc8\x94\x60\x3a\x33\x46\xee\x5b\xc8\x4a\xed\x03\xb1\x6a\xb9\x98\xbe\x11\x38\x82\xac\xa9\x7f\x43\xe9\xa9\x50\x02\x03\x9a\x3a\xa7\x73\x92\x85\x20\xfa\x6e\xfc\x3c\x59\x25\x02\x77\x96\x42\x49\xc4\x8f\x0d\xee\x1a\x1a\x0d\xa2\xe0\x5f\xde\xb8\x66\xe1\x6a\x0e\xc9\xde\xb9\xbd\x25\xdd\x98\x90\x64\xae\x8a\x8a\x77\x85\xae\x8c\xed\xd4\xad\xb6\x74\xd2\xdd\xd5\xeb\xd9\xec\xe5\x62\x36\xfb\x3f\x67\x89\xf7\x27\x93\x3b\x97\x77\xe3\x30\x85\xf3\x15\xe8\x96\x5d\xe6\xaa\xc6\x12\x93\x12\xae\x28\xc6\x51\x01\x64\x6e\x8e\x60\x72\x25\x76\xda\x3f\x14\x2f\xca\x99\x0d\x22\x95\x98\x9b\xe3\x45\xd3\xd4\x4d\xcb\x17\x23\x88\xfe\xd7\xd6\x5b\x01\x8d\xd5\x19\x95\xce\xe6\xe4\x95\xd8\xd4\x4c\x1e\xb8\x24\x68\xbd\x05\x76\x10\x4a\xe7\x99\xea\x48\xec\x19\x0f\x53\x5c\x1a\x3c\x7a\x57\xcd\x5f\xde\x12\xe3\x32\xe9\x64\x48\x42\xe6\x4d\xc3\x10\x7c\xa6\x04\xa2\x3e\xe8\xf3\xd3\x03\xc7\x1a\x5a\xb3\x0b\x78\xb8\x6b\xc9\x77\xf8\x2a\x99\x27\x8b\x31\x49\x2a\x53\x27\x87\x7e\xb9\x81\x94\x3e\x83\xbd\x7f\x0d\x4f\xff\x93\x38\x5c\x58\xf6\xef\x2a\x9d\xfc\x09\x00\x00\xff\xff\xfc\x61\x6a\x79\x49\x03\x00\x00"
  98. func indexHtmlBytes() ([]byte, error) {
  99. return bindataRead(
  100. _indexHtml,
  101. "index.html",
  102. )
  103. }
  104. func indexHtml() (*asset, error) {
  105. bytes, err := indexHtmlBytes()
  106. if err != nil {
  107. return nil, err
  108. }
  109. info := bindataFileInfo{name: "index.html", size: 841, mode: os.FileMode(420), modTime: time.Unix(1500768770, 0)}
  110. a := &asset{bytes: bytes, info: info}
  111. return a, nil
  112. }
  113. var _indexJs = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x94\x51\x6f\xe3\x36\x0c\xc7\xdf\xfb\x29\x3a\xae\x28\x44\x54\x55\x92\xde\xcb\x10\xcf\x28\xee\xb2\x02\xdb\xb0\x2d\x43\xdb\x97\x61\xdb\x03\x63\xd3\xb6\x2e\xb2\x64\x48\x72\xda\x2c\x97\xef\x3e\xc8\xce\xae\x69\xb7\xae\xb8\x07\x43\xa4\x44\x93\xd4\xdf\x3f\x53\x54\xbd\x2d\xa2\x76\x56\xe0\x6e\x43\xfe\x94\xf3\x33\x01\x95\xf3\x2d\xa0\x5c\x25\xfb\xeb\xa2\xed\x00\x65\x3d\xda\x26\x00\xca\x72\xb0\x7b\x6f\x00\xa5\xcd\xa7\xdf\xe6\x96\x36\xba\xa6\xe8\xbc\xea\x03\xfb\xf7\x35\xdb\xa8\xb4\x2d\xf9\x71\x59\x09\xf8\x99\x0a\x6d\xa3\x0b\x0d\xe0\x35\xfc\xd1\x5f\xbd\x9b\x7d\x73\xb9\x80\x39\x2c\xa2\x37\x97\x0b\x90\x8d\x5c\xe7\x2f\x9a\xa0\x9c\x55\xcd\x51\x4c\x31\x2d\x1f\x5c\x6f\x4b\x6d\xeb\x85\xd1\x6c\xe3\x2d\x17\x51\x60\xc6\xaa\x08\x41\x40\x4b\xbe\xd6\xf6\x32\xba\x0e\xe4\x83\xb6\xa5\x7b\x50\xda\x5a\xf6\xdf\xb3\xae\x9b\x38\x79\x77\x49\xaa\x19\xcd\x2b\xdc\x4b\xf3\x54\x88\x70\xb7\x52\x91\x1f\xa3\x00\x40\xe5\xb9\x75\x1b\x5e\x18\x4a\x39\x8d\xb6\x6b\x40\x45\x65\x79\xd8\xa8\xfa\x62\x0d\x98\x9d\x89\xd2\x15\x7d\x9b\x2e\x57\x78\xa6\xc8\x37\x86\x93\x27\x20\x74\x64\x01\xf1\x90\xef\xe6\xf6\x76\x79\x3b\x3f\x85\x0b\x42\x45\x5d\xc7\xb6\xbc\x77\x62\x85\xd9\x6a\x6c\x39\x7a\xb2\x61\x50\x58\x42\x28\xc8\xf0\x6f\x62\x86\x80\x7b\xd9\x1e\xcb\xf0\x7a\xf0\x74\x08\x2e\xfe\xad\x59\xa9\x36\x64\x04\xaa\xe8\x75\x2b\x30\xa3\xaf\xf2\xe6\xfc\x5c\x34\x39\xc9\x56\xa0\xa4\xeb\x5a\x55\x54\xf2\x0f\x56\x5c\x4d\xa7\x38\x3f\x19\xdd\x65\x1f\x07\x1f\xf7\x19\x2b\x67\x05\x84\x7e\xd5\xea\x08\xf2\x58\x29\x52\x9d\xe7\x0d\xdb\xf8\x1d\x57\xd4\x9b\xa4\x3f\xe5\xc6\x15\x94\x02\x54\x47\xb1\xb1\xd4\xb2\x0a\xfd\x2a\x44\xaf\x6d\x2d\x66\xa8\x42\x67\x74\x14\x30\x01\xfc\x7d\xf6\x67\x96\x3a\xac\x5e\x76\x78\xa6\xe8\x23\x3d\x8a\x5d\xdc\x76\x3c\x87\x5f\x97\x77\xf7\x20\x7b\x6f\xe6\x30\xa1\x4e\x4f\x7a\x6f\x26\x70\x41\xb2\xa4\x48\xf3\x1f\xef\x96\xbf\xa8\x31\xb9\xae\xb6\x62\x97\xc2\xaa\x3d\x0e\x87\xf7\xc3\xeb\x1f\x83\xb3\xb0\x47\x45\xe6\x81\xb6\x41\x1c\xb7\xaf\x2b\x41\xca\xad\x31\xad\x39\x29\xef\xfa\xc8\xa3\x68\x55\x4e\x2a\xb5\xfe\xe9\x13\x40\x46\xaa\xf7\x26\x29\xa6\x43\x74\x7e\xab\x3c\x77\x86\x0a\xbe\x8b\x14\x59\xec\xf6\xd2\xf6\xc6\x48\x98\x70\xa9\xe3\x04\x2e\x2a\x94\x47\x1a\x38\xaf\x6b\x6d\x2f\x20\x1d\xc8\xd7\xc0\x1a\x39\x3a\x02\x6b\x24\x4d\x52\xfe\x3a\x5a\x94\xb8\xa2\x18\xbd\x80\xc6\x73\x05\x92\x0e\x98\x3d\x87\x4b\xbe\x0d\xe7\x53\xd9\xc6\x46\x38\x64\xb1\xcf\xb3\x9c\xfc\x3f\xa3\xb2\xe6\x78\xc7\x86\x0f\xdc\xa9\xc0\xf1\x03\x05\x7e\x6f\xcb\x9b\xc7\x98\x8a\xd1\xe1\xb7\x95\x53\xf9\xd9\x9c\x21\xee\xd9\x04\x3e\x4d\x9f\x7c\x30\x8c\x20\xc5\xde\x3b\x8f\x7b\xdc\x63\x56\x0e\xdc\xad\x79\x5b\xba\x07\x0b\xb2\xc0\xc1\xef\x28\x44\xfe\xec\x15\x0d\xd9\x7a\x70\xb3\x7a\xdc\x30\xba\x58\x3f\xa7\x74\xa4\x0b\x20\x0d\x87\x91\x62\x81\x59\x21\x52\x89\xc3\x68\xa0\xb2\xbc\x49\x18\xff\xa4\x43\x64\xcb\x5e\x80\xe7\xa0\xff\x62\x90\x6b\xcc\xd6\x63\x74\xf6\x72\x22\x7e\x21\xe9\xff\x40\xfd\xdf\x20\xbf\xc9\x6a\x02\xf5\xfa\x09\x53\x39\x5e\x8a\xce\xcf\x07\x3a\x13\xa7\xa8\x2a\x57\xf4\x41\xa0\x2c\x04\xe2\xfc\xb9\x98\x62\x78\xb2\x93\xbf\x03\x00\x00\xff\xff\x4e\x3e\x25\xd3\xd7\x05\x00\x00"
  114. func indexJsBytes() ([]byte, error) {
  115. return bindataRead(
  116. _indexJs,
  117. "index.js",
  118. )
  119. }
  120. func indexJs() (*asset, error) {
  121. bytes, err := indexJsBytes()
  122. if err != nil {
  123. return nil, err
  124. }
  125. info := bindataFileInfo{name: "index.js", size: 1495, mode: os.FileMode(420), modTime: time.Unix(1500768772, 0)}
  126. a := &asset{bytes: bytes, info: info}
  127. return a, nil
  128. }
  129. var _linksHtml = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x52\x5d\x6f\xd3\x3c\x14\xbe\xef\xaf\x38\xaf\xb5\xcb\xd5\xa7\x79\xcb\x05\x2b\x8e\x11\x74\x13\x20\x15\x98\x46\x27\xe0\xd2\x4b\x4e\x1b\xaf\x4e\xd2\xd9\x4e\xdb\x28\xca\x7f\x47\x6e\x92\x15\x95\x5d\x20\x7c\x65\xfb\x9c\xe7\xe3\x3c\xb6\xf8\xef\xfa\xeb\x7c\xf9\xf3\xf6\x06\x32\x9f\x1b\xb8\xbd\x7f\xbf\xf8\x34\x07\x36\x46\xfc\x3e\x9d\x23\x5e\x2f\xaf\xe1\xc7\xc7\xe5\xe7\x05\x44\x7c\x02\xdf\xbc\xd5\x89\x47\xbc\xf9\xc2\x80\x65\xde\x6f\x67\x88\xfb\xfd\x9e\xef\xa7\xbc\xb4\x6b\x5c\xde\xe1\x21\xb0\x44\x01\xd6\x6f\xc7\xee\x88\xe1\xa9\x4f\x99\x1c\x89\xa3\xc8\x21\x37\x85\x8b\x5f\x20\x88\xae\xae\xae\x3a\x1c\x93\x23\x00\x91\x91\x4a\xc3\x06\x40\x78\xed\x0d\xc9\x0f\x25\xcc\x66\xf0\x2e\xf1\x7a\x47\xb0\xd0\xc5\xc6\x09\xec\x2a\x5d\x57\x4e\x5e\x41\xe0\x1d\xd3\x53\xa5\x77\x31\x9b\x97\x85\xa7\xc2\x8f\x97\xf5\x96\x18\x24\xdd\x29\x66\x9e\x0e\x1e\x83\xce\x1b\x48\x32\x65\x1d\xf9\xb8\xf2\xab\xf1\x6b\x86\x3d\x91\xd1\xc5\x06\x32\x4b\xab\x98\xa1\x43\x5d\xa4\x74\xe0\x89\x73\xec\x58\x0d\xcb\x92\x89\x99\xf3\xb5\x21\x97\x11\xf9\x53\xc1\xd7\x5b\xea\x05\x02\xe0\x4f\xbe\x7e\xec\x55\x59\x78\xc7\xd7\x65\xb9\x36\xa4\xb6\xda\xf1\xa4\xcc\x03\xe2\xed\x4a\xe5\xda\xd4\xf1\x9d\x32\xb4\x57\xf5\xec\xd5\x64\x72\x39\x9d\x4c\xfe\x4d\x59\xe0\x10\xa1\x78\x28\xd3\x5a\x8e\x3a\x37\xa9\xde\x41\x62\x94\x73\x31\x0b\xc6\x06\x97\x21\xf1\x48\xf6\xe9\x9a\x2e\xdd\x2c\x7a\xae\x55\x46\x3e\x6b\x35\x0d\x58\x55\xac\x09\x2e\x36\x54\x5f\xc2\x85\x2d\x2b\x4f\x30\x8b\x81\x43\xdb\x3e\x77\x09\xa3\x4f\x10\x00\xa1\xfa\x08\x9a\xa6\x47\xf0\xfb\xbb\x05\xb4\x2d\x93\xeb\x12\xc3\xe5\x86\x6a\x68\x5b\x81\x4a\x8a\x07\x0b\xf8\x77\xe0\x61\x94\x55\x65\xcc\xb8\xb2\x86\xc9\xf3\x96\x40\x78\x32\x85\xbf\xbb\x6a\x1a\xa0\x22\x3d\x99\x16\x38\x8c\x29\x30\xd5\xbb\x21\x31\x97\x58\xbd\xf5\xe0\x6c\x12\x33\x44\xf5\xa8\x0e\xe7\x4f\x17\xee\xd0\xe8\x07\x87\x8f\x4f\x15\xd9\x1a\xff\xe7\x11\x9f\xf6\x07\x9e\xeb\x82\x3f\x3a\x26\x05\x76\x4c\xf2\x05\xda\xe1\x9f\x9d\xf7\x09\xec\xde\x4e\x1c\x7f\xac\x1c\xfd\x0a\x00\x00\xff\xff\xde\x64\xe3\x68\xb3\x03\x00\x00"
  130. func linksHtmlBytes() ([]byte, error) {
  131. return bindataRead(
  132. _linksHtml,
  133. "links.html",
  134. )
  135. }
  136. func linksHtml() (*asset, error) {
  137. bytes, err := linksHtmlBytes()
  138. if err != nil {
  139. return nil, err
  140. }
  141. info := bindataFileInfo{name: "links.html", size: 947, mode: os.FileMode(420), modTime: time.Unix(1500768772, 0)}
  142. a := &asset{bytes: bytes, info: info}
  143. return a, nil
  144. }
  145. // Asset loads and returns the asset for the given name.
  146. // It returns an error if the asset could not be found or
  147. // could not be loaded.
  148. func Asset(name string) ([]byte, error) {
  149. cannonicalName := strings.Replace(name, "\\", "/", -1)
  150. if f, ok := _bindata[cannonicalName]; ok {
  151. a, err := f()
  152. if err != nil {
  153. return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
  154. }
  155. return a.bytes, nil
  156. }
  157. return nil, fmt.Errorf("Asset %s not found", name)
  158. }
  159. // MustAsset is like Asset but panics when Asset would return an error.
  160. // It simplifies safe initialization of global variables.
  161. func MustAsset(name string) []byte {
  162. a, err := Asset(name)
  163. if err != nil {
  164. panic("asset: Asset(" + name + "): " + err.Error())
  165. }
  166. return a
  167. }
  168. // AssetInfo loads and returns the asset info for the given name.
  169. // It returns an error if the asset could not be found or
  170. // could not be loaded.
  171. func AssetInfo(name string) (os.FileInfo, error) {
  172. cannonicalName := strings.Replace(name, "\\", "/", -1)
  173. if f, ok := _bindata[cannonicalName]; ok {
  174. a, err := f()
  175. if err != nil {
  176. return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
  177. }
  178. return a.info, nil
  179. }
  180. return nil, fmt.Errorf("AssetInfo %s not found", name)
  181. }
  182. // AssetNames returns the names of the assets.
  183. func AssetNames() []string {
  184. names := make([]string, 0, len(_bindata))
  185. for name := range _bindata {
  186. names = append(names, name)
  187. }
  188. return names
  189. }
  190. // _bindata is a table, holding each asset generator, mapped to its name.
  191. var _bindata = map[string]func() (*asset, error){
  192. "close.svg": closeSvg,
  193. "index.css": indexCss,
  194. "index.html": indexHtml,
  195. "index.js": indexJs,
  196. "links.html": linksHtml,
  197. }
  198. // AssetDir returns the file names below a certain
  199. // directory embedded in the file by go-bindata.
  200. // For example if you run go-bindata on data/... and data contains the
  201. // following hierarchy:
  202. // data/
  203. // foo.txt
  204. // img/
  205. // a.png
  206. // b.png
  207. // then AssetDir("data") would return []string{"foo.txt", "img"}
  208. // AssetDir("data/img") would return []string{"a.png", "b.png"}
  209. // AssetDir("foo.txt") and AssetDir("notexist") would return an error
  210. // AssetDir("") will return []string{"data"}.
  211. func AssetDir(name string) ([]string, error) {
  212. node := _bintree
  213. if len(name) != 0 {
  214. cannonicalName := strings.Replace(name, "\\", "/", -1)
  215. pathList := strings.Split(cannonicalName, "/")
  216. for _, p := range pathList {
  217. node = node.Children[p]
  218. if node == nil {
  219. return nil, fmt.Errorf("Asset %s not found", name)
  220. }
  221. }
  222. }
  223. if node.Func != nil {
  224. return nil, fmt.Errorf("Asset %s not found", name)
  225. }
  226. rv := make([]string, 0, len(node.Children))
  227. for childName := range node.Children {
  228. rv = append(rv, childName)
  229. }
  230. return rv, nil
  231. }
  232. type bintree struct {
  233. Func func() (*asset, error)
  234. Children map[string]*bintree
  235. }
  236. var _bintree = &bintree{nil, map[string]*bintree{
  237. "close.svg": &bintree{closeSvg, map[string]*bintree{}},
  238. "index.css": &bintree{indexCss, map[string]*bintree{}},
  239. "index.html": &bintree{indexHtml, map[string]*bintree{}},
  240. "index.js": &bintree{indexJs, map[string]*bintree{}},
  241. "links.html": &bintree{linksHtml, map[string]*bintree{}},
  242. }}
  243. // RestoreAsset restores an asset under the given directory
  244. func RestoreAsset(dir, name string) error {
  245. data, err := Asset(name)
  246. if err != nil {
  247. return err
  248. }
  249. info, err := AssetInfo(name)
  250. if err != nil {
  251. return err
  252. }
  253. err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
  254. if err != nil {
  255. return err
  256. }
  257. err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
  258. if err != nil {
  259. return err
  260. }
  261. err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
  262. if err != nil {
  263. return err
  264. }
  265. return nil
  266. }
  267. // RestoreAssets restores an asset under the given directory recursively
  268. func RestoreAssets(dir, name string) error {
  269. children, err := AssetDir(name)
  270. // File
  271. if err != nil {
  272. return RestoreAsset(dir, name)
  273. }
  274. // Dir
  275. for _, child := range children {
  276. err = RestoreAssets(dir, filepath.Join(name, child))
  277. if err != nil {
  278. return err
  279. }
  280. }
  281. return nil
  282. }
  283. func _filePath(dir, name string) string {
  284. cannonicalName := strings.Replace(name, "\\", "/", -1)
  285. return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
  286. }