2021-01-08 22:22:43 +03:00
|
|
|
|
// Code generated by vfsgen; DO NOT EDIT.
|
|
|
|
|
|
|
|
|
|
// +build !dev
|
|
|
|
|
|
|
|
|
|
package assets
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"bytes"
|
|
|
|
|
"compress/gzip"
|
|
|
|
|
"fmt"
|
|
|
|
|
"io"
|
|
|
|
|
"io/ioutil"
|
|
|
|
|
"net/http"
|
|
|
|
|
"os"
|
|
|
|
|
pathpkg "path"
|
|
|
|
|
"time"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// Assets statically implements the virtual filesystem provided to vfsgen.
|
|
|
|
|
var Assets = func() http.FileSystem {
|
|
|
|
|
fs := vfsgen۰FS{
|
|
|
|
|
"/": &vfsgen۰DirInfo{
|
|
|
|
|
name: "/",
|
2021-02-02 11:13:29 +03:00
|
|
|
|
modTime: time.Date(2021, 2, 2, 8, 12, 28, 744443671, time.UTC),
|
|
|
|
|
},
|
|
|
|
|
"/e3suU2VydmljZS5OYW1lIHwgdHJpbVN1ZmZpeCAiU2VydmljZSIgfCBsb3dlcn19X21pY3JvX2NoaS5wYi5nby50bXBs": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "e3suU2VydmljZS5OYW1lIHwgdHJpbVN1ZmZpeCAiU2VydmljZSIgfCBsb3dlcn19X21pY3JvX2NoaS5wYi5nby50bXBs",
|
|
|
|
|
modTime: time.Date(2021, 2, 2, 8, 1, 0, 668667340, time.UTC),
|
|
|
|
|
uncompressedSize: 1623,
|
|
|
|
|
|
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xa4\x54\x61\x6f\xdb\x36\x10\xfd\x6c\xfe\x8a\x1b\x87\x00\x52\xaa\x50\x2b\xb6\x4f\x5e\xfb\x61\x2b\x52\x20\xd8\xda\x15\xe9\xd0\x02\x0b\x82\x80\xa1\x4e\x12\x61\x89\xd4\xc8\x93\x27\x43\xd6\x7f\x1f\x28\xd1\x71\x5a\xb7\xc1\xb0\x1a\x30\x24\x92\xf7\xee\xde\xbb\x7b\x62\x9e\xc3\x2b\x5b\x20\x54\x68\xd0\x49\xc2\x02\xee\x77\xd0\x39\x4b\x56\x5d\x54\x68\x2e\x5a\xad\x9c\x65\x9d\x54\x1b\x59\x21\x8c\x63\x65\xdf\x6d\xaa\xdf\xa5\xa7\xcb\x06\x5b\x34\x04\xe2\xb5\x6e\x10\xf6\xe0\xbb\x46\xd3\x2f\xce\xc9\x1d\xf0\x9f\x39\xec\xa1\x91\x9e\x60\x0f\x0e\xbb\x46\x2a\x04\x2e\x38\xf0\x3b\x3e\x4d\x8c\xe9\xb6\xb3\x8e\x20\x61\x00\x5c\x59\x43\x38\x10\x0f\xef\x65\xbb\x3c\x0d\x52\x5e\x13\x75\xf3\xc2\x61\xd9\xa0\x5a\x0e\x3c\x39\x6d\x2a\xcf\x19\x5b\xf1\x4a\x53\xdd\xdf\x0b\x65\xdb\xbc\xb2\x17\xaa\xd6\x79\xf8\x6f\x7f\xe2\x6c\xd5\xea\xa2\x68\xf0\x1f\xe9\x10\xbe\x1a\x96\x1f\x83\x66\x84\x72\xf6\x4e\x76\xfa\x13\x40\x6f\xb4\x27\xa9\x36\x17\xd6\x55\xf9\x1c\x92\x6f\x7f\xcc\x65\xa7\x39\x4b\x19\xa3\x5d\x87\xe0\x6c\x4f\xf8\x1b\xee\xc0\x93\xeb\x15\x8d\x13\x63\x65\x6f\x14\x5c\x87\xfd\xb7\xb2\xc5\x44\xd1\x00\x51\xa4\x78\xb5\x3c\x53\x48\x16\x25\x19\xdc\x5b\xdb\xa4\x30\x32\x88\xbf\xad\x6c\x7a\xcc\xc0\x6e\x60\xfd\x12\x14\x0d\xe2\x43\xd8\x48\x0e\x65\xc6\x29\x15\x11\x9b\x3e\x60\x1c\x52\xef\xcc\x11\xca\x0e\x24\xc6\x51\xbc\x47\xb7\xd5\x0a\x45\xa0\x02\x7b\x20\xa7\xdb\xf7\x7d\x59\xea\x01\x78\x3c\xe2\xd3\x14\xdf\xae\xb1\xd2\x9e\xd0\x25\x0e\xce\x55\xad\xc5\x9b\x7e\xc8\xa0\x06\x6d\x08\x5d\x29\x15\x8e\x53\x06\xd8\x79\xb8\xb9\x3d\x7f\xe8\x97\xb8\x34\x45\x67\xb5\xa1\x14\xd0\x39\xeb\x1e\x4b\x09\x12\xe2\xf4\x16\x19\x7f\x94\x49\x9d\xb2\x87\x00\x5d\xc2\x56\xbc\xed\xdb\x37\x48\xb5\x2d\x92\x14\x5e\xc0\xf3\x47\xf8\xcf\xe4\x95\x2d\x89\xcb\x50\xa2\x4c\x78\x2d\x4d\xd1\xa0\x83\x5a\x7a\x30\x16\xda\x39\x81\x5f\xc3\xd9\x9f\x3c\x83\xfa\xd8\x99\xe9\x58\xac\xb4\x0e\xee\x02\xff\x99\x95\x34\x15\xce\x5a\x4e\xcb\xe9\x62\x08\x21\xd1\x6a\xe2\xca\x14\x38\x24\xd8\xcd\x1d\xcc\x82\x8b\xd3\x53\x48\x39\xa3\x02\xfd\xfd\x1e\x1a\x34\x87\xf8\x14\x5e\xbc\x9c\x8f\x4e\xcb\x3c\xa1\x4e\x9b\xad\x6c\x74\x01\x8f\xdb\x0b\x46\xb6\xb8\x86\x33\xcf\x83\x86\x25\xf9\x49\xce\xe9\x64\x27\xa0\x82\x9a\x08\xb9\xd1\xc5\xf0\xec\xf9\xfa\xf6\x24\xae\x0d\x41\x5b\xb1\x4c\xe2\xd7\xdd\x6c\x5c\xf3\xc5\x1a\xba\x84\xef\x5a\x71\xe5\x3f\x04\x8a\x49\x1a\x04\x87\xe5\x5f\xe8\x6c\x92\xfe\x3f\x9d\x71\x9a\x59\x9c\x23\x9c\x85\xa1\x12\x94\xb6\x37\x05\xcf\xc0\x7c\x45\xeb\xa9\x51\xea\xc3\x87\xd3\x8a\xab\x83\x69\x93\x54\x24\xe1\x63\x48\xc2\x85\x22\xae\xd1\x77\xd6\x78\xfc\xe8\x34\x85\x8a\xe7\x71\xf7\xef\x1e\x3d\xa5\x5f\x56\x6b\x37\xdf\x24\x6b\x0d\x67\xdf\x3f\xdb\xf2\xec\x53\x52\xff\x65\x78\xd1\xb2\xb1\x2b\x8f\x6c\x1b\xe7\xf4\x14\x2d\xf1\x51\x53\x9d\x1c\xef\xb8\x79\xfd\xf9\x5d\x72\xb4\x52\x1a\x53\xbe\x0e\x9d\x5a\x0a\xce\x87\xef\x24\xd5\x37\x3f\xdc\x66\xe0\xea\xa7\x18\x4f\x6c\xb5\x5a\xc5\x56\x18\xdd\xb0\x89\xfd\x1b\x00\x00\xff\xff\x1a\xe2\xb3\x9b\x57\x06\x00\x00"),
|
|
|
|
|
},
|
|
|
|
|
"/e3suU2VydmljZS5OYW1lIHwgdHJpbVN1ZmZpeCAiU2VydmljZSIgfCBsb3dlcn19X21pY3JvX2dvcmlsbGEucGIuZ28udG1wbA==": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "e3suU2VydmljZS5OYW1lIHwgdHJpbVN1ZmZpeCAiU2VydmljZSIgfCBsb3dlcn19X21pY3JvX2dvcmlsbGEucGIuZ28udG1wbA==",
|
|
|
|
|
modTime: time.Date(2021, 2, 2, 8, 1, 34, 6738096, time.UTC),
|
|
|
|
|
uncompressedSize: 1308,
|
|
|
|
|
|
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xa4\x53\xd1\x4e\xdc\x3a\x10\x7d\x5e\x7f\xc5\x5c\x5f\xad\x94\x40\x70\x2e\xba\x6f\x5b\x78\x68\x2b\x50\x91\x5a\x8a\xa0\xa2\x52\x11\x42\x26\x19\x27\xd6\xc6\x76\x3a\x76\x56\x8b\x76\xf3\xef\x95\xb3\x81\x52\x85\x56\x55\x9b\x97\xd8\x9e\x33\x33\xe7\xf8\x8c\xf3\x1c\xde\xba\x12\xa1\x42\x8b\x24\x03\x96\x70\xff\x00\x2d\xb9\xe0\x8a\x83\x0a\xed\x81\xd1\x05\x39\xd6\xca\x62\x29\x2b\x84\xcd\xa6\x72\x17\xcb\xea\xbd\xf4\xe1\xa4\x41\x83\x36\x80\x38\xd5\x0d\xc2\x16\x7c\xdb\xe8\xf0\x9a\x48\x3e\x00\x7f\xc5\x61\x0b\x8d\xf4\x01\xb6\x40\xd8\x36\xb2\x40\xe0\x82\x03\xbf\xe3\x7d\xcf\x98\x36\xad\xa3\x00\x09\x03\xe0\xca\x04\x1e\xff\x16\x43\x5e\x87\xd0\x0e\x1b\x42\xd5\x60\xb1\x0b\xf8\x40\xda\x56\x9e\x33\x36\xe3\x95\x0e\x75\x77\x2f\x0a\x67\xf2\xca\x91\x6e\x1a\x99\x9b\x6e\xcd\xd9\x6c\x60\x79\x27\x5b\x0d\xcf\x31\x9d\xd5\x3e\xc8\x62\x79\xe0\xa8\xca\x07\x48\xbe\xfa\x3f\x97\xad\xe6\x2c\x65\x4c\x75\xb6\x80\xcd\x46\x5c\x21\xad\x74\x81\xe2\x5c\x9a\xa8\x23\x90\x36\x57\x9d\x52\x7a\x0d\x7c\x0c\xf1\xbe\x1f\x57\x97\x58\x69\x1f\x90\x12\x82\x3d\xd3\xad\xc5\xa5\xeb\x02\x52\x06\x35\x68\x1b\x90\x94\x2c\x70\xd3\x67\x80\xad\x87\x9b\xdb\xbd\x27\x56\xe2\xc4\x96\xad\xd3\x36\xa4\x80\x44\x8e\x60\xc3\x60\xfc\x56\xb0\x38\x86\x51\xaf\xb8\x96\x4d\x87\x1f\x55\x52\xa7\xec\x09\xa0\x15\xac\xc4\x79\x67\x3e\x60\xa8\x5d\x99\xa4\x70\x04\x87\xcf\xf2\x1f\x3f\xc2\xd0\x91\x05\x65\x82\x38\x89\x2d\x54\xc2\x6b\x69\xcb\x06\x09\x6a\xe9\xc1\x3a\x30\x43\x01\xbf\x80\xf9\x27\x9e\x41\x9d\x3e\x95\xe8\xbf\x37\x53\x8e\xe0\x2e\xf2\x1f\x58\x49\x5b\xe1\xa0\x65\xda\x4e\x97\xeb\x08\x19\xcd\x11\x67\xb6\xc4\x75\x82\xed\x70\x89\x59\xf4\x3a\x9d\xa6\xa8\x21\x2b\xd2\xdf\x6e\xa1\x41\xfb\x88\x4f\xe1\xe8\x78\x08\x4d\xdb\xfc\x42\x9d\xb6\x2b\xd9\xe8\x12\x9e\x5f\x2f\x58\x69\x70\x01\x73\xcf\xa3\x86\x5d\xf1\x49\xcd\x7e\x72\x12\xb3\xa2\x9a\x31\xe5\x46\x97\xeb\xfd\xc3\xc5\xed\x04\x67\x22\x68\x25\x76\x4e\xbc\x79\x88\xd8\xc4\xbe\xd8\x43\x2b\xf8\xc7\x88\x33\x7f\x1d\x29\x26\x69\x14\x1c\xb7\x5f\x90\x5c\x92\xfe\x99\xce\xd1\xcd\x6c\xf4\x11\xe6\xd1\xd4\x00\xca\x75\xb6\xe4\x19\xd8\x9f\x68\x9d\x0e\x4a\x9d\x81\x5b\x46\x25\x46\x9c\x3d\x0e\x6d\x92\x8a\x24\xbe\x87\x24\x3e\x41\x71\x89\xbe\x75\xd6\xe3\x67\xd2\xc3\x74\xef\x8d\xa7\x5f\x3b\xf4\x21\x7d\x59\xad\x5b\xfe\x95\xac\x05\xcc\xff\xdd\x5f\xf1\xec\x47\x52\xbf\x63\x1e\x89\x77\x43\x89\xd3\x48\x1f\x5b\x71\x21\x43\x7d\xf3\xdf\x6d\x06\x54\xa7\xa3\x55\x3e\x9e\xef\x96\x42\x88\x74\x30\x39\x99\xcc\x47\xcf\x66\xb3\xd9\xc8\xd4\xea\x86\xf5\xec\x5b\x00\x00\x00\xff\xff\x90\xa3\x02\xfc\x1c\x05\x00\x00"),
|
2021-02-02 08:36:58 +03:00
|
|
|
|
},
|
|
|
|
|
"/e3t0cmltU3VmZml4ICIucHJvdG8iIC5GaWxlLk5hbWV9fV9taWNyb19ncnBjLnBiLmdvLnRtcGw=": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "e3t0cmltU3VmZml4ICIucHJvdG8iIC5GaWxlLk5hbWV9fV9taWNyb19ncnBjLnBiLmdvLnRtcGw=",
|
2021-02-02 09:29:56 +03:00
|
|
|
|
modTime: time.Date(2021, 2, 2, 6, 6, 27, 628460932, time.UTC),
|
|
|
|
|
uncompressedSize: 5889,
|
2021-02-02 08:36:58 +03:00
|
|
|
|
|
2021-02-02 09:29:56 +03:00
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xcc\x57\x4d\x6f\xa3\x48\x13\x3e\xd3\xbf\xa2\x06\xbd\x1a\xc1\x2b\xbb\x7d\xd8\x5b\x46\x39\x8c\xa2\x1d\xed\x4a\x9b\xcc\x6a\xb2\xf7\x88\x69\x97\x09\x0a\x34\xa4\x69\x12\x47\xa4\xff\xfb\xaa\x3f\xc0\x80\x31\xb6\x43\xb2\xbb\x39\xc4\x72\x7f\x55\x3d\xf5\xf1\xd4\xe3\xd5\x0a\xae\xf2\x35\x42\x8c\x1c\x45\x24\x71\x0d\x3f\x5f\xa0\x10\xb9\xcc\xd9\x32\x46\xbe\xcc\x12\x26\x72\xb2\x5a\x41\x99\x57\x82\xe1\x05\xd4\x35\xfd\x96\xa4\x48\x6f\xa2\x0c\x95\x22\x45\xc4\x1e\xa2\x18\xa1\xae\xe3\xfc\xcf\x87\xf8\x8f\xa8\x94\xbf\xa6\x98\x21\x97\x60\xce\xc1\x2b\x94\x45\x9a\xc8\xaf\x42\x44\x2f\xe0\x7f\xf1\xe1\x15\xd2\xa8\x94\xf0\x0a\x02\x8b\x34\x62\x08\x3e\xf5\xc1\xbf\xf3\x95\x22\x24\xc9\x8a\x5c\x48\x08\x88\xe7\xb3\x9c\x4b\xdc\x4a\x9f\x10\xcf\xf8\x70\xc7\xd2\x44\xbf\xea\xc7\x89\xbc\xaf\x7e\x52\x96\x67\xab\x8a\x27\xa5\x8c\xd8\xc3\x32\x17\xf1\xca\x9c\x5a\x3d\xfd\xb2\xb2\x07\x7d\x68\x2e\x96\x28\x9e\x50\x9c\x70\xd1\x1e\xf4\x49\x48\xc8\x53\x24\x20\x20\x00\x00\x77\xd0\x7d\x85\x7e\x2f\x64\x92\xf3\xde\x8e\xb5\xd7\xec\x84\x84\xd4\xf5\x12\xfe\x67\xc0\x5f\x5c\xba\x28\x28\x65\x57\x6f\x51\x3c\x25\x0c\x75\xf0\xcc\xa6\xfb\x6e\xa2\x09\xaf\x20\x45\x92\xdd\x56\x9b\x4d\xb2\x05\xdf\x6d\xf9\xfa\x2e\x91\x2f\x85\x8e\x71\xef\xfe\x2b\xa4\xf9\x33\x8a\x6f\x89\x28\xa5\x52\x6e\x07\x4a\x29\x2a\x26\xa1\x36\x2e\xb2\xbe\x8b\x57\xe6\xc3\xec\x70\xfd\x42\x29\x45\xc2\x63\xa2\x88\x4e\xf0\xb5\x3e\x09\x2e\xca\xa5\xac\x36\x1b\xb3\x7c\x83\xcf\x7d\xbb\x3b\x53\x4c\x60\x24\x11\x38\x3e\x43\xd9\x2c\x59\x0b\x9b\x8a\xb3\x89\x9b\x41\xc7\xfa\x62\xdc\xc9\x10\x0e\x59\xb5\xc8\x04\xca\x4a\x70\xf8\x7c\x4a\x4c\x6a\x76\x01\x6c\x61\x20\x5f\x98\xff\x4a\x43\xae\x6b\x11\xf1\x18\x77\x39\xb8\x46\x79\x9f\xaf\x9b\x4c\x09\x7c\xb4\x0b\x26\x4f\xbf\xf3\xa2\x92\x7f\xe9\x24\xf4\xeb\x99\x36\xf5\xdc\x5e\x2b\x8b\xce\xb5\xef\x95\x3c\xed\x5e\xb2\x81\x88\xaf\x21\xe0\xb9\x04\x17\x81\x5b\x29\x30\xca\x12\x1e\x87\x10\x18\x1f\x51\x74\x96\x96\x4a\xd9\x28\x07\x0c\xfe\x7f\x4a\x10\x74\x40\x5d\xd3\x06\x4c\x6e\xc1\xf5\x17\xbd\xb2\x9f\x0b\x10\xf8\x68\x5e\x6a\x81\x2b\xb5\x80\xbc\x90\x25\x50\x4a\xfb\x19\x8a\xd2\xd4\x56\x7b\x08\xc1\x30\x4d\x77\xad\x19\xb7\xbc\x00\x14\x22\x17\xa1\x49\x9c\xc6\x8a\x69\x89\x1a\xf0\x10\xe7\x07\x60\xfa\x30\xf7\xff\x33\xe1\x37\x57\x9a\x9a\xd3\x57\x86\xde\xf2\xb5\x71\xd6\x7e\x4b\x36\x90\x8b\xb1\x72\x0a\xf6\x8a\xce\xdc\x01\xdd\xa4\x18\x65\xe6\x59\x5d\xd1\x8c\x32\x6a\xcf\x68\x14\x0b\xf3\xfd\x06\x9f\x7f\xe0\x63\x85\xa5\x0c\x18\xd5\xed\xb5\x00\x7f\x18\x56\xda\xa2\xf7\x17\xa6\x69\x3b\x30\x6b\x15\x5a\xa4\x94\xd2\xd0\x18\x4d\x36\xc6\xde\xa7\x4b\xe0\x49\xea\x1a\xbe\x6d\x79\x9e\xa4\xc6\x1d\xb3\xda\x01\x36\xd6\x3a\xa0\x14\xfc\xb3\x7f\x5d\xff\x2f\x2e\x5d\xf8\xe8\x2d\xf2\x75\x20\xf0\x31\xfc\x72\x2e\x30\xe4\x6b\x97\x89\xb3\x18\xaf\x89\x76\x6d\x1d\x50\x0b\xfd\x7a\xa7\x80\x9b\x37\xcb\x42\x7b\xf9\xb9\x5f\x44\xb5\xdd\xec\xa4\x5c\x97\xdc\x8c\x84\x6b\xe4\x0b\x6d\xec\xa4\x3c\x1f\x0e\x48\xbb\x63\x9e\xea\x20\x32\x41\x32\x9c\x7e\x5e\x85\x9f\x3c\x56\x5b\x34\xfd\xf9\x6a\xa3\xdb\x9f\x5f\xd6\x00\x51\xd6\x19\xc3\xea\x23\x8c\x6e\xaa\x75\xe8\x64\x4b\x2a\xdb\xd3\x48\xa5\xf5\x2a\x84\x1f\xc8\x9e\xbe\xf2\xf5\x55\x9a\x97\x18\x4c\xf2\x82\x97\x8d\xa7\xdc\x73\xf9\xde\x52\xfd\xd6\x75\x19\x07\x59\x48\x3c\x97\xa2\xcb\x26\x45\x9e\x39\xa6\x4f\x39\x53\xc4\x53\xa4\x3d\xf6\x69\x77\x6c\x98\x43\x4f\x11\x8f\x34\xab\x99\xcd\x9e\x9d\x7d\x36\x7b\x6f\x46\xde\x40\x36\x00\xfb\xea\x60\x4b\x5d\xff\x35\xbe\xce\x31\x63\x89\x3a\x08\x87\xd4\x7d\xc8\x64\x73\x7e\x8e\x51\xcd\x1b\x26\x13\x90\x70\x89\x62\x13\x31\xac\xd5\x34\x54\x43\x35\xd9\x2c\xab\x6d\xfe\x4f\xb7\xaa\xaf\x38\xab\x75\x7d\x64\xb8\xbf\x2d\x0c\x41\x36\x1c\x8f\xa7\xc6\xa1\x53\x63\xce\xb7\x41\xdf\xcd\xf2\xcd\x20\x3f\x32\x88\xb3\x43\x24\xbb\x1b\x14\xc3\x48\x8e\x0c\x8a\x7d\x56\xd4\x4f\x1c\xe8\x28\xb0\x70\x1b\xe4\x5d\x29\xb0\x13\xfb\xee\x97\x91\x13\xfb\xc7\xc9\xf0\xb7\x88\xaf\x53\x73\xa1\xe5\xc0\x21\xef\xbb\x23\xc6\x91\x51\x7d\x0d\xff\x9a\xc0\x3e\x63\x2e\xd8\x62\xb8\x3f\x52\x0c\x0e\xeb\x51\x69\xd7\x9b\x12\xee\x77\xa4\x35\xb7\x2b\xe1\x09\x11\x33\x43\xc3\x10\xaf\xc3\xf6\x5d\xc5\x35\x4f\xe3\x78\xde\x9e\xc2\x19\x2f\x5b\xcf\x6b\x07\x81\x99\x01\x5e\x6f\x8a\xdf\xd3\
|
2021-02-02 08:36:58 +03:00
|
|
|
|
},
|
|
|
|
|
"/e3t0cmltU3VmZml4ICIucHJvdG8iIC5GaWxlLk5hbWV9fV9taWNyb19odHRwLnBiLmdvLnRtcGw=": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "e3t0cmltU3VmZml4ICIucHJvdG8iIC5GaWxlLk5hbWV9fV9taWNyb19odHRwLnBiLmdvLnRtcGw=",
|
2021-02-02 11:13:29 +03:00
|
|
|
|
modTime: time.Date(2021, 2, 2, 7, 55, 0, 845696896, time.UTC),
|
|
|
|
|
uncompressedSize: 7310,
|
2021-02-02 08:36:58 +03:00
|
|
|
|
|
2021-02-02 11:13:29 +03:00
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xcc\x59\x5b\x6f\x9c\x48\x16\x7e\x86\x5f\x71\x96\xf5\x46\xb0\xa2\xab\x57\xca\x9b\x23\x3f\x64\xad\x64\x2e\x1a\x27\x91\x1d\xcd\x4b\x14\x59\x15\xfa\x34\xcd\x18\x0a\x5c\x55\xdd\xb6\x85\xf9\xef\xa3\xba\x50\x0d\xf4\x3d\x38\x33\x93\x87\xd8\x14\xe7\xd4\xb9\xd6\x77\xbe\xc2\xd3\x29\x5c\x96\x33\x84\x14\x19\x72\x2a\x71\x06\xdf\x9e\xa0\xe2\xa5\x2c\x93\x49\x8a\x6c\x52\x64\x09\x2f\xfd\xe9\x14\x44\xb9\xe4\x09\x9e\x43\x5d\x93\xf7\x59\x8e\xe4\x03\x2d\xb0\x69\xfc\x8a\x26\x77\x34\x45\xa8\xeb\xb4\xfc\x74\x97\xfe\x46\x85\x7c\x97\x63\x81\x4c\x82\x96\x83\x67\x10\x55\x9e\xc9\xb7\x9c\xd3\x27\x08\xde\x04\xf0\x0c\x39\x15\x12\x9e\x81\x63\x95\xd3\x04\x21\x20\x01\x04\xb7\x41\xd3\xf8\x7e\x5d\x4f\xe0\x4c\xab\x9d\x5f\x58\xfd\xa6\x31\xab\x37\xc8\x57\x59\x82\xca\xac\x7e\x69\x9f\xb5\x1f\xf0\x0c\x92\x67\xc5\xcd\x72\x3e\xcf\x1e\x21\xb0\xaf\x02\x70\x5b\x22\xe7\x85\x48\x95\x5e\x9e\x09\x69\xf6\xe4\x94\xa5\xb8\xde\xe7\x0a\xe5\xa2\x9c\x59\x6b\xd9\x1c\x58\x29\x21\x4c\x4a\x26\x69\xc6\x04\x84\x7f\x88\x92\x41\x58\x56\xc8\x68\x95\x7d\xac\x64\x56\x32\x20\x51\x04\x01\x5b\xe6\x79\x10\xc1\x5a\x71\x43\x88\x5c\xa3\xa8\x4a\x26\x50\x18\x29\x30\x96\xcf\xee\x62\x38\x5b\x29\x9f\x0e\x6a\x4c\xe0\xac\x10\xa9\x7c\xaa\x74\xe8\x61\x8a\xf2\x0a\x85\xa0\x29\x7e\x56\x4b\x26\x61\x67\x2b\x72\x93\x2c\xb0\xa0\xe4\x57\x51\x32\xfb\xeb\x35\xce\x9d\x6b\x6d\x12\x2e\x80\x56\x15\xb2\x99\x5b\x68\xf7\x36\xa9\xb4\xd2\x4a\xe0\x98\x5f\xfd\xac\xa8\x4a\x2e\x21\xf4\xbd\x40\x65\x0b\x1f\x65\xe0\x52\x88\x10\xe6\xc8\xd2\x85\x6c\x6d\x45\xf0\x3f\xa5\x04\x10\xcc\x0b\x2b\xd7\xee\xe3\xe9\x4e\xbb\x4d\xf2\x4c\xf5\x4e\x90\x66\x72\xb1\xfc\x46\x92\xb2\x98\x2e\x59\x26\x24\x4d\xee\x26\x25\x4f\xa7\x5a\x6a\xba\x7a\x3d\x35\x82\x01\xb4\x8a\x02\xf9\x0a\xf9\x11\x8a\x46\x30\xe8\x1b\xbc\x5d\x48\x59\x1d\x50\x9e\x18\xd1\x89\x12\x9d\xae\x5e\x07\x7e\xe4\xfb\x2b\xca\x21\xf4\x01\x00\x6e\xa1\xeb\x07\x31\xb5\xec\xbd\x31\xea\xed\x9b\xc8\xf7\x75\x41\xeb\xba\xd7\xda\xcf\x90\x97\x0f\xc8\xdf\x67\x5c\xc8\xa6\xb1\x6f\x40\x48\xbe\x4c\x24\xd4\x7a\xbf\xa4\xbf\xdf\xa5\xfe\xa1\xdf\x30\xb5\x83\x90\x3c\x63\xa9\xdf\xf8\xea\xd4\x5e\x29\x49\xb0\x49\x15\x72\x39\x9f\xeb\xe5\x0f\xf8\xd0\xb7\xbb\x36\x95\x70\xa4\x12\x81\xe1\x03\x88\x76\xc9\x58\x98\x2f\x59\xb2\x47\x33\xec\x58\x8f\xb7\x3b\x19\xc1\x2e\xab\x26\x32\x8e\x72\xc9\x19\xbc\x3a\x26\x27\x75\x72\x0e\x49\xac\x43\x3e\xd7\xff\x37\xbe\x3e\xed\xfb\x8e\xf5\x19\xc7\x7b\xb3\xa0\x21\xe4\x17\x56\x2d\xa5\x3e\x42\x7d\x90\x22\x2d\x48\x39\x35\x51\x75\xd4\x3e\x2e\xe5\x31\x7a\xea\x04\x50\x36\x83\x50\x21\x89\x4d\xc0\x8d\xe4\x48\x8b\x8c\xa5\x11\x84\xda\x45\xe4\x9d\xa5\xa6\x31\x39\x0e\x13\xf8\xef\x31\x29\x50\xe9\xb4\x38\x1c\x26\xf2\x11\xec\xf9\x23\x97\xe6\x67\x0c\x1c\xef\xf5\x4e\x2e\xec\xa6\x89\xa1\xac\xa4\x00\x42\x48\xbf\x3e\x34\xcf\x4d\x63\x46\x10\x0e\x8b\x74\xeb\xcc\xd8\xe5\x18\x90\xf3\x92\x47\xba\x6c\x75\x0d\x98\x0b\x54\xe1\x0e\xa3\x7c\xf9\x88\x7e\x94\xf3\xff\x94\xd4\x6b\x95\xb6\xdb\x94\x4a\xcf\x57\x87\x96\xea\xb0\x7c\xf7\x9c\xea\x28\x1f\x98\x3c\x4a\x52\x01\x37\xad\x54\xe3\x17\xf4\x0e\xc3\x82\x56\x5f\xcc\x19\xff\x9a\x31\x89\x7c\x4e\x13\xac\x9b\x58\x25\x32\x47\xb6\x6f\xc3\xa6\x89\x9c\xe9\x13\x27\xe0\xda\x8f\x2f\x41\x5d\x9f\xdd\x35\x4d\xf0\x15\x2e\x14\x4e\x4c\x4e\x9d\x86\xed\x90\xab\xd7\x79\x18\xe4\xb4\xf7\xd8\x7d\x62\xba\x7c\xe7\xed\xfc\x0c\xd5\x63\xac\xdf\x00\x6c\xcc\x12\x0b\x3c\x61\x50\xd7\xea\xf1\x77\xe4\xdf\x80\x34\x4d\x10\xc5\xb0\x53\xe5\x13\x95\x8b\x56\x41\xfd\x6e\x15\xac\xfc\xf6\x7a\x2b\xd9\xff\x97\xb3\x27\x20\x11\x04\x3f\xbd\xfb\xbc\x2e\xf1\x36\x0b\x4a\xb2\xb5\x60\xb4\x86\x16\x3a\xf1\x8e\x6c\xb1\x53\x9a\x6c\x9b\xaf\xef\x54\xe7\x5f\xd1\x2a\x34\x95\xdf\xef\x65\x67\x21\xf2\x9d\xe5\x92\x6f\x83\xd9\x70\x03\x8c\xad\xa6\xd0\x0b\xfa\xcc\xa9\x32\x27\x24\x21\x46\x46\x1d\xf1\x58\x3f\x7f\xc0\x87\x6b\xbc\x5f\xa2\x90\x61\x42\xd4\xd4\x89\x21\x18\x22\x0e\x71\xd0\x10\xc4\x7a\x96\x75\x30\xa0\x6e\xa2\xd8\x34\x12\x21\xc4\x9c\x87\x6c\xae\x0d\xfe\xeb\x02\x58\x96\xdb\x41\xe8\x46\x21\xcb\x72\xed\x8f\x5e\x6d\xfc\x5e\x49\xb6\xa0\x2d\xfc\xb5\xff\xba\xfe\x9f\x5f\xd8\xfc\x91\x1b\x75\x38\x38\xde\x47\x6f\x4e\x0d\x0c\xd9\xcc\x96\xe2\x24\x26\xd0\xa6\xbb\x36\x0e\x34\xb1\xda\xbd\
|
2021-02-02 08:36:58 +03:00
|
|
|
|
},
|
|
|
|
|
"/e3t0cmltU3VmZml4ICIucHJvdG8iIC5GaWxlLk5hbWV9fV9taWNyby5wYi5nby50bXBs": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "e3t0cmltU3VmZml4ICIucHJvdG8iIC5GaWxlLk5hbWV9fV9taWNyby5wYi5nby50bXBs",
|
2021-02-02 09:29:56 +03:00
|
|
|
|
modTime: time.Date(2021, 2, 2, 6, 16, 50, 658000044, time.UTC),
|
2021-02-02 08:36:58 +03:00
|
|
|
|
uncompressedSize: 5590,
|
|
|
|
|
|
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xd4\x57\x51\x6f\xa3\x38\x10\x7e\x2e\xbf\x62\x84\xaa\x0a\x56\x29\xd9\xd3\xbd\xe5\x94\x87\x6e\xb5\xab\x3b\xe9\xda\x5d\x6d\x4f\x77\x0f\xab\x55\xe5\xc2\x84\xf8\x4a\x0c\x67\x9b\xb4\x15\xe5\xbf\x9f\x8c\x0d\x18\x97\x90\xa4\xaa\x56\xda\xbc\x04\xdb\xf3\x8d\x87\x99\xcf\xc3\xe7\xf9\x1c\x2e\xf3\x04\x21\x45\x86\x9c\x48\x4c\xe0\xee\x09\x0a\x9e\xcb\x3c\x3e\x4f\x91\x9d\x6f\x68\xcc\x73\x6f\x3e\x07\x91\x97\x3c\xc6\x05\x54\x55\xf4\x89\x66\x18\x5d\x93\x0d\xd6\xb5\x57\x90\xf8\x9e\xa4\x08\x55\x95\xe6\x5f\xee\xd3\x3f\x89\x90\x1f\x33\xdc\x20\x93\xd0\xd8\xc1\x33\x88\x22\xa3\xf2\x82\x73\xf2\x04\xfe\x6f\x3e\x3c\x43\x46\x84\x84\x67\xe0\x58\x64\x24\x46\xf0\x23\x1f\xfc\x5b\xbf\xae\x3d\x8f\x6e\x8a\x9c\x4b\x08\xbc\x13\x3f\xce\x99\xc4\x47\xe9\x7b\xde\x49\x13\xc3\x2d\x29\x28\xf8\x29\x95\xeb\xf2\x2e\x8a\xf3\xcd\xbc\x64\x54\x48\x12\xdf\x9f\xe7\x3c\x9d\x37\x26\xf3\xed\xaf\x73\x52\x50\x1f\x00\xa0\x45\xc5\x19\x55\xb1\xec\x07\x6a\x43\xbf\x03\x0a\xe4\x5b\xe4\x07\x00\xb5\xa1\xef\x85\x9e\x57\x55\xe7\x70\x7a\x83\x7c\x4b\x63\x54\xf9\x81\xc5\x12\x22\x33\x6e\x12\x06\xcf\x20\x39\xdd\xdc\x94\xab\x15\x7d\x04\xdf\x2c\xf9\x50\xd7\x1a\x8b\x05\x2b\x37\x0a\xf5\xbe\x9d\xe2\x84\xa5\xd8\x3b\xb9\x42\xb9\xce\x13\xb3\x46\x57\xc0\x72\x09\x81\x4a\x15\xa1\x4c\x40\xf0\xaf\xc8\x19\x04\x6b\x29\x8b\xcf\x85\xa4\x39\x83\x28\x0c\xc1\x67\x65\x96\xf9\x21\x58\x28\xd4\x46\x7f\x23\xbf\x83\x28\x04\xdf\x8d\x60\x09\x24\x49\xda\xc1\x2f\xc3\x58\x14\xf0\x0b\x91\x6b\x71\x91\x24\x54\x6d\x42\xb2\x0f\x94\x25\x94\xa5\x02\xa2\x83\xfc\x20\x4b\x0e\x7a\x54\xb4\xbb\xc6\x87\xaa\xb2\x73\x5a\xd7\x1f\x59\x52\xe4\x94\x49\xa1\x78\xba\xa5\x09\x0a\x50\xdc\xc0\x6e\x7a\x83\x32\x21\x92\xc0\x2a\xe7\xe0\x82\x41\xe8\x91\xb7\x2a\x59\x3c\xe9\x3d\x08\xe1\xdb\xf7\x77\x1d\xf7\xa2\x76\x01\x2a\x4f\x11\xac\xdf\x6e\xb1\x84\x0d\xb9\xc7\x60\xd4\x7a\x06\xef\x67\x50\x55\x6d\x0e\xea\x3a\x6c\xd0\x7d\x21\xcc\x42\x53\x70\xb5\xb2\x25\xbc\xf3\x0d\x23\x0e\x3b\xb8\x49\x52\x3b\xdc\x45\x14\x7b\xb7\xe3\xc8\xd2\x22\x4f\x2d\x93\xc5\xd2\x41\x80\xb3\x05\xda\xe6\x26\x0a\xc3\x2f\x3b\x6b\xb0\x84\xb3\x97\xef\xa6\x33\xab\x7e\xaa\x16\x0b\xf0\xdd\xe2\x44\x55\x65\x1a\x8f\x3f\xeb\x6c\x15\x19\x17\xf0\xed\xbb\x90\x9c\xb2\xb4\x52\x20\x2b\x04\xb5\x5a\xd7\x7e\xdd\xdb\xeb\xa0\x76\x23\xda\xd4\xd9\x98\x0f\x79\xf2\xa4\xe3\xb1\x0c\xd5\xe4\x20\x12\x93\x84\x9c\x43\x10\x5d\x36\xfd\xe4\x46\x72\x24\x1b\xca\xd2\x10\x82\xa6\x36\xc8\xfb\x29\x93\x13\xf5\xd3\x93\x0b\x90\xbc\xc4\xa1\x3f\x64\x89\x65\xf7\x3b\x61\x49\x86\x7c\x01\x3e\x2f\x62\xb3\x73\xed\xf0\x71\x09\xa4\x28\x90\x25\x41\x37\x35\xeb\x56\x43\x87\x2f\xa7\x94\x25\xf8\x38\x83\x53\x34\x4d\x7b\xb1\x1c\x14\xb0\x3f\xe3\x3f\xb8\x82\x26\x9e\x43\xcb\xd7\x9a\x4f\xd7\xae\xb5\xfa\xa9\x0b\xd7\xfb\x3d\x7c\xc4\x51\x96\x9c\xf5\x5b\x79\xba\xb9\xba\xc5\x31\x03\xa0\x4c\x22\x5f\x91\x18\x3d\xf9\x54\xe0\x7e\xb3\xa6\x25\x4e\x37\xa1\xa6\x91\x70\xfc\xcf\x74\x04\xf5\x61\xfc\x83\x15\xa5\xfc\x4b\x6d\x30\xd4\x08\x51\xa7\x11\x2c\xa4\x28\x2c\xe4\xe7\x52\x1e\x0c\x6d\xcb\xea\xd6\x70\xa4\xd2\x36\x86\xb0\x64\x14\xa4\x7a\xe8\x38\x50\x41\x0d\xb5\x03\x23\x5e\xa2\x4b\xfd\x3f\x83\x77\x55\xd5\xbf\x7d\x5d\xcf\x20\x8a\x22\x5b\xa0\x44\x97\x24\xcb\xf4\x99\x0b\x21\x70\x13\x7e\xdb\x79\x36\xd3\x33\x40\xce\x73\x1e\x9a\x78\x31\x13\xb8\x3f\x86\xb7\xdd\x92\xf5\x75\x3d\x6c\xfb\xe3\x52\xd0\x58\xb7\x45\x57\xd6\xbb\x77\x6f\x9e\x6b\xa5\xbe\xa6\xc4\xd2\xb1\xe4\xeb\x60\x47\x32\xaf\xc1\x1d\x47\xba\xd1\x43\xf6\xa2\x00\xce\x71\x03\x30\x99\x0d\x42\x70\x72\xdd\xac\xde\x20\x4b\xae\x44\x1a\x74\xa8\xaa\x0e\x75\x12\x9b\xe5\xaf\x18\x6f\x27\x96\x07\xa7\xe0\x65\x47\x6c\x4e\xc1\x8e\xae\xa8\x3c\x5f\xb0\xe4\x32\xcb\x05\x06\x93\x95\x74\xbb\x54\x0b\x79\x11\x86\x1b\x81\xb1\x57\xaf\x18\x38\xb4\x72\xd1\xc3\x8e\xa8\x7c\x39\x61\x5b\x51\x1f\x1e\x6d\x27\x53\x6b\xfb\x69\x3e\x87\x2b\x45\x68\x30\x77\x07\x21\xcb\xd5\x6a\xb4\xd1\x9a\xaf\x41\x6b\xb8\xd6\xc3\x71\x22\xb4\xb6\x76\xf9\x4f\xf6\x5d\x0d\x7e\x28\xdb\x8f\x6f\xb2\x03\x49\xba\xa3\xba\xc7\xb4\x92\x89\xc3\xd3\x78\x7d\xc1\x8a\x83\x3a\xd6\xd1\x5e\x7b\x3e\xbc\xae\x23\x3a\xe4\x6b\xfd\x8f\x71\x4d\x7f\xc0\xbf\x62\x4a\x85\x44\xbe\x8b\x33\xdc\xac\x0b\x97\x69\xcd\xed\x67\x0f\x3a\x10\x60\x5f\x85\
|
2021-01-19 12:43:37 +03:00
|
|
|
|
},
|
2021-01-08 22:22:43 +03:00
|
|
|
|
}
|
|
|
|
|
fs["/"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
|
2021-02-02 11:13:29 +03:00
|
|
|
|
fs["/e3suU2VydmljZS5OYW1lIHwgdHJpbVN1ZmZpeCAiU2VydmljZSIgfCBsb3dlcn19X21pY3JvX2NoaS5wYi5nby50bXBs"].(os.FileInfo),
|
|
|
|
|
fs["/e3suU2VydmljZS5OYW1lIHwgdHJpbVN1ZmZpeCAiU2VydmljZSIgfCBsb3dlcn19X21pY3JvX2dvcmlsbGEucGIuZ28udG1wbA=="].(os.FileInfo),
|
2021-02-02 08:36:58 +03:00
|
|
|
|
fs["/e3t0cmltU3VmZml4ICIucHJvdG8iIC5GaWxlLk5hbWV9fV9taWNyb19ncnBjLnBiLmdvLnRtcGw="].(os.FileInfo),
|
|
|
|
|
fs["/e3t0cmltU3VmZml4ICIucHJvdG8iIC5GaWxlLk5hbWV9fV9taWNyb19odHRwLnBiLmdvLnRtcGw="].(os.FileInfo),
|
|
|
|
|
fs["/e3t0cmltU3VmZml4ICIucHJvdG8iIC5GaWxlLk5hbWV9fV9taWNyby5wYi5nby50bXBs"].(os.FileInfo),
|
2021-01-08 22:22:43 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return fs
|
|
|
|
|
}()
|
|
|
|
|
|
|
|
|
|
type vfsgen۰FS map[string]interface{}
|
|
|
|
|
|
|
|
|
|
func (fs vfsgen۰FS) Open(path string) (http.File, error) {
|
|
|
|
|
path = pathpkg.Clean("/" + path)
|
|
|
|
|
f, ok := fs[path]
|
|
|
|
|
if !ok {
|
|
|
|
|
return nil, &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch f := f.(type) {
|
|
|
|
|
case *vfsgen۰CompressedFileInfo:
|
|
|
|
|
gr, err := gzip.NewReader(bytes.NewReader(f.compressedContent))
|
|
|
|
|
if err != nil {
|
|
|
|
|
// This should never happen because we generate the gzip bytes such that they are always valid.
|
|
|
|
|
panic("unexpected error reading own gzip compressed bytes: " + err.Error())
|
|
|
|
|
}
|
|
|
|
|
return &vfsgen۰CompressedFile{
|
|
|
|
|
vfsgen۰CompressedFileInfo: f,
|
|
|
|
|
gr: gr,
|
|
|
|
|
}, nil
|
|
|
|
|
case *vfsgen۰DirInfo:
|
|
|
|
|
return &vfsgen۰Dir{
|
|
|
|
|
vfsgen۰DirInfo: f,
|
|
|
|
|
}, nil
|
|
|
|
|
default:
|
|
|
|
|
// This should never happen because we generate only the above types.
|
|
|
|
|
panic(fmt.Sprintf("unexpected type %T", f))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// vfsgen۰CompressedFileInfo is a static definition of a gzip compressed file.
|
|
|
|
|
type vfsgen۰CompressedFileInfo struct {
|
|
|
|
|
name string
|
|
|
|
|
modTime time.Time
|
|
|
|
|
compressedContent []byte
|
|
|
|
|
uncompressedSize int64
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Readdir(count int) ([]os.FileInfo, error) {
|
|
|
|
|
return nil, fmt.Errorf("cannot Readdir from file %s", f.name)
|
|
|
|
|
}
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Stat() (os.FileInfo, error) { return f, nil }
|
|
|
|
|
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) GzipBytes() []byte {
|
|
|
|
|
return f.compressedContent
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Name() string { return f.name }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Size() int64 { return f.uncompressedSize }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Mode() os.FileMode { return 0444 }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) ModTime() time.Time { return f.modTime }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) IsDir() bool { return false }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Sys() interface{} { return nil }
|
|
|
|
|
|
|
|
|
|
// vfsgen۰CompressedFile is an opened compressedFile instance.
|
|
|
|
|
type vfsgen۰CompressedFile struct {
|
|
|
|
|
*vfsgen۰CompressedFileInfo
|
|
|
|
|
gr *gzip.Reader
|
|
|
|
|
grPos int64 // Actual gr uncompressed position.
|
|
|
|
|
seekPos int64 // Seek uncompressed position.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (f *vfsgen۰CompressedFile) Read(p []byte) (n int, err error) {
|
|
|
|
|
if f.grPos > f.seekPos {
|
|
|
|
|
// Rewind to beginning.
|
|
|
|
|
err = f.gr.Reset(bytes.NewReader(f.compressedContent))
|
|
|
|
|
if err != nil {
|
|
|
|
|
return 0, err
|
|
|
|
|
}
|
|
|
|
|
f.grPos = 0
|
|
|
|
|
}
|
|
|
|
|
if f.grPos < f.seekPos {
|
|
|
|
|
// Fast-forward.
|
|
|
|
|
_, err = io.CopyN(ioutil.Discard, f.gr, f.seekPos-f.grPos)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return 0, err
|
|
|
|
|
}
|
|
|
|
|
f.grPos = f.seekPos
|
|
|
|
|
}
|
|
|
|
|
n, err = f.gr.Read(p)
|
|
|
|
|
f.grPos += int64(n)
|
|
|
|
|
f.seekPos = f.grPos
|
|
|
|
|
return n, err
|
|
|
|
|
}
|
|
|
|
|
func (f *vfsgen۰CompressedFile) Seek(offset int64, whence int) (int64, error) {
|
|
|
|
|
switch whence {
|
|
|
|
|
case io.SeekStart:
|
|
|
|
|
f.seekPos = 0 + offset
|
|
|
|
|
case io.SeekCurrent:
|
|
|
|
|
f.seekPos += offset
|
|
|
|
|
case io.SeekEnd:
|
|
|
|
|
f.seekPos = f.uncompressedSize + offset
|
|
|
|
|
default:
|
|
|
|
|
panic(fmt.Errorf("invalid whence value: %v", whence))
|
|
|
|
|
}
|
|
|
|
|
return f.seekPos, nil
|
|
|
|
|
}
|
|
|
|
|
func (f *vfsgen۰CompressedFile) Close() error {
|
|
|
|
|
return f.gr.Close()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// vfsgen۰DirInfo is a static definition of a directory.
|
|
|
|
|
type vfsgen۰DirInfo struct {
|
|
|
|
|
name string
|
|
|
|
|
modTime time.Time
|
|
|
|
|
entries []os.FileInfo
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (d *vfsgen۰DirInfo) Read([]byte) (int, error) {
|
|
|
|
|
return 0, fmt.Errorf("cannot Read from directory %s", d.name)
|
|
|
|
|
}
|
|
|
|
|
func (d *vfsgen۰DirInfo) Close() error { return nil }
|
|
|
|
|
func (d *vfsgen۰DirInfo) Stat() (os.FileInfo, error) { return d, nil }
|
|
|
|
|
|
|
|
|
|
func (d *vfsgen۰DirInfo) Name() string { return d.name }
|
|
|
|
|
func (d *vfsgen۰DirInfo) Size() int64 { return 0 }
|
|
|
|
|
func (d *vfsgen۰DirInfo) Mode() os.FileMode { return 0755 | os.ModeDir }
|
|
|
|
|
func (d *vfsgen۰DirInfo) ModTime() time.Time { return d.modTime }
|
|
|
|
|
func (d *vfsgen۰DirInfo) IsDir() bool { return true }
|
|
|
|
|
func (d *vfsgen۰DirInfo) Sys() interface{} { return nil }
|
|
|
|
|
|
|
|
|
|
// vfsgen۰Dir is an opened dir instance.
|
|
|
|
|
type vfsgen۰Dir struct {
|
|
|
|
|
*vfsgen۰DirInfo
|
|
|
|
|
pos int // Position within entries for Seek and Readdir.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (d *vfsgen۰Dir) Seek(offset int64, whence int) (int64, error) {
|
|
|
|
|
if offset == 0 && whence == io.SeekStart {
|
|
|
|
|
d.pos = 0
|
|
|
|
|
return 0, nil
|
|
|
|
|
}
|
|
|
|
|
return 0, fmt.Errorf("unsupported Seek in directory %s", d.name)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (d *vfsgen۰Dir) Readdir(count int) ([]os.FileInfo, error) {
|
|
|
|
|
if d.pos >= len(d.entries) && count > 0 {
|
|
|
|
|
return nil, io.EOF
|
|
|
|
|
}
|
|
|
|
|
if count <= 0 || count > len(d.entries)-d.pos {
|
|
|
|
|
count = len(d.entries) - d.pos
|
|
|
|
|
}
|
|
|
|
|
e := d.entries[d.pos : d.pos+count]
|
|
|
|
|
d.pos += count
|
|
|
|
|
return e, nil
|
|
|
|
|
}
|