// Code generated by go-bindata.
// sources:
// wski18n/resources/de_DE.all.json
// wski18n/resources/en_US.all.json
// wski18n/resources/es_ES.all.json
// wski18n/resources/fr_FR.all.json
// wski18n/resources/it_IT.all.json
// wski18n/resources/ja_JA.all.json
// wski18n/resources/ko_KR.all.json
// wski18n/resources/pt_BR.all.json
// wski18n/resources/zh_Hans.all.json
// wski18n/resources/zh_Hant.all.json
// DO NOT EDIT!

package wski18n

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
}

var _wski18nResourcesDe_deAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesDe_deAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesDe_deAllJson,
		"wski18n/resources/de_DE.all.json",
	)
}

func wski18nResourcesDe_deAllJson() (*asset, error) {
	bytes, err := wski18nResourcesDe_deAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/de_DE.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesEn_usAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x3c\x6b\x6f\x1b\x39\x92\xdf\xe7\x57\x14\x06\x0b\x64\x16\x90\xe5\xec\xe2\x70\x58\x18\x97\x03\xbc\xb1\x33\xeb\x9d\x64\x1c\xd8\xce\x0c\xe6\x12\xa3\x43\x75\x97\x24\xae\xbb\xc9\x5e\x92\x2d\x45\x63\xe8\xbf\x1f\xaa\x48\x76\xb7\x64\xf5\x43\x4e\x06\x77\xf9\x12\x49\x24\xeb\xc5\x62\xb1\x5e\xf4\xc7\xef\x00\x1e\xbf\x03\x00\xf8\x5e\x66\xdf\x9f\xc1\xf7\x85\x5d\x24\xa5\xc1\xb9\xfc\x92\xa0\x31\xda\x7c\x3f\xf1\xa3\xce\x08\x65\x73\xe1\xa4\x56\x34\xed\x92\xc7\xbe\x03\xd8\x4e\x7a\x20\x48\x35\xd7\x1d\x00\xae\x68\x68\x68\xbd\xad\xd2\x14\xad\xed\x00\x71\x1b\x46\x87\xa0\xac\x85\x51\x52\x2d\x3a\xa0\xfc\x1a\x46\x3b\xa1\xa4\x45\x96\x64\x68\xd3\x24\xd7\x6a\x91\x18\x2c\xb5\x71\x1d\xb0\x6e\x78\xd0\x82\x56\x90\x61\x99\xeb\x0d\x66\x80\xca\x49\x27\xd1\xc2\x0f\x72\x8a\xd3\x09\xbc\x17\xe9\x83\x58\xa0\x9d\xc0\x79\x4a\xeb\xec\x04\xee\x8c\x5c\x2c\xd0\xd8\x09\xdc\x54\x39\x8d\xa0\x4b\xa7\x7f\x06\x61\x61\x8d\x79\x4e\xff\x1b\x4c\x51\x39\x5e\xb1\x62\x6c\x16\xa4\x02\xb7\x44\xb0\x25\xa6\x72\x2e\x31\x03\x25\x0a\xb4\xa5\x48\x71\x3a\x9a\x17\xad\xbb\x38\xb9\x5b\x22\x5c\x97\xa8\x7e\x5d\x4a\xfb\x00\x17\xcc\x4c\x41\x24\xdc\x69\x9d\x7f\x52\x9f\xd4\x9d\x86\x19\x2e\xa4\x82\xb5\x36\x0f\x52\x2d\x60\x2d\xdd\x12\xd6\xf6\xc1\x33\x3e\x01\x53\x79\x02\x5f\xd4\xbf\xbd\x80\x54\x17\x85\x50\xd9\x19\x01\xf8\xe4\xfe\xd4\x4c\x67\x88\x4b\x69\x61\x2d\xf3\x3c\xc8\xae\x85\x5f\x58\x8b\xce\xb6\x78\x95\x0a\x0a\xa1\xe4\x1c\xad\x9b\x6e\x44\x91\x83\x36\xad\x1f\x8a\xfc\x93\xba\x9a\x43\x5a\x19\x43\x24\x67\xd2\x60\xea\xb4\xd9\x40\xa6\xd1\x2a\x07\x4b\xb1\x42\x10\x6a\x53\x2f\x81\xb9\xcc\x71\xd2\x90\x03\xa5\x91\xca\x59\x70\x44\xd2\x12\xf3\x12\x0a\xb4\x56\x2c\x70\xea\x09\x45\x28\xb4\x75\xcc\x8e\x56\xb0\x16\x1b\x0b\x7a\x0e\x95\x65\x39\xd4\x40\x9c\x8e\x9c\x08\x95\x9d\x6a\x03\x95\xea\xe2\x4c\x18\x64\xa1\xec\x88\xa4\xf5\x05\x4e\x0a\x28\x85\x5b\x9e\x3a\x7d\xba\xc3\xf8\xb8\x59\x70\x92\xd5\x03\x59\xbd\x97\x07\x00\x44\x0a\x0f\xff\x3a\x92\x8a\xc1\xe9\xbd\xe4\x7c\x52\xe7\x95\x72\x4b\x3a\x36\x29\xab\xe3\xd9\x27\xd5\xc0\x36\x28\x32\x0b\xa9\xc1\x8c\x26\x88\xdc\xc2\xdc\xe8\x02\xfe\xf4\x8f\xeb\x77\x97\xa7\xd3\xb5\x7d\x28\x8d\x2e\x2d\xcc\x36\x90\xe1\x5c\x54\xb9\xfb\xa4\xae\x57\x68\xd6\x46\x3a\x8c\x3f\x41\xaa\xd5\x5c\x2e\x78\xd3\xe9\xa8\xbe\x7e\x7b\x75\xf6\x49\x01\xec\x48\xf2\x24\x4c\xfa\xaf\xd6\xe4\xff\xee\x11\xc0\xb5\x09\xea\xb9\x01\x91\xe7\xe0\x96\x06\x7b\x80\x8b\x52\x2e\x49\x83\xfe\x71\x7d\x7b\x47\x5f\x2b\xb7\x84\x9f\x2e\x7f\x83\x93\x93\xfa\x14\xc3\xcf\xe7\xef\x2e\x6f\xdf\x9f\xbf\xbe\xec\xc4\x3a\xe2\x9c\xdb\xa5\x36\xae\xdf\x68\xbd\x37\x7a\x25\x33\xb4\x20\xc0\x56\x45\x21\x0c\x49\x99\xe6\x93\x4e\x3f\xd1\xd4\x19\x92\x92\x47\xeb\x76\x1a\xf7\x1a\x33\x98\x09\x8b\x19\xb1\x1c\x69\x6c\xed\x2d\xfc\x76\xfe\xee\xed\x18\xbb\x14\xe8\xed\x36\x4c\xe7\xe0\xb4\xce\xc1\xa2\xa3\xf3\xc5\x67\x33\x48\x75\xa3\x2b\x03\xba\x44\xb5\x66\x7a\xcb\x60\x67\xc3\xb1\x14\xbb\x87\x7d\x3c\x2d\x2b\x34\x96\x70\x77\x09\x4f\x2a\xc7\x76\x2e\xcc\x03\x55\x15\x33\x34\x24\xbb\x7a\xc3\x47\xe3\xb2\x1b\x95\xf6\xf3\xed\x34\xd0\x24\xcf\x6c\xb3\x39\x35\xb3\x33\x74\x6b\x44\x05\x69\x2e\x49\xec\x42\x65\x60\xd1\xac\xd0\x8c\xbe\x14\xc6\xd3\xd0\xda\x5e\xc2\x13\x55\x81\x7f\xd8\x51\x9d\xee\xad\xa0\x75\xba\x24\xf8\x22\x6f\xc3\xa3\x2d\x8a\xd3\x59\x75\xc8\x2e\x5c\xc8\xf9\x1c\xd9\xa2\x47\x8b\x6b\x2a\x45\x77\x37\x93\x73\xb6\x6b\x84\xe8\xa7\xa7\xbf\x8c\xb4\x60\xbd\x53\xdb\xd6\xeb\xf9\x30\x4e\x4a\xa3\xff\x85\xa9\xa3\xf3\x0e\xef\x6f\xae\xff\x79\xf9\xfa\x6e\xb4\x9e\x44\x51\x77\xec\xd3\x87\xce\x7b\x86\x8d\xa5\x57\x88\xb1\xfa\x30\x16\x97\xc1\x42\xaf\xd0\x3e\xc5\xb9\x5e\xca\x74\x09\x6b\x34\xd8\x38\x45\x4c\x07\x9d\x9a\x1d\x4d\xd8\xb7\x17\x3b\x7e\x46\x86\x39\x3a\xda\xec\xc3\x4c\xed\x00\xf3\xd7\xb9\xa9\xd4\xd9\xff\xbb\xeb\xed\x30\xa4\x43\xda\x00\x3f\x68\x95\x6f\xd8\xbf\xb2\x30\xd7\xa6\x25\x1e\xf6\xfe\x58\xc1\x0a\x9d\xe1\x9f\x47\xeb\x0d\x7e\xe9\xb9\x07\x2e\x79\x10\x02\x25\x3b\xc2\xad\x45\x3e\x56\x69\x46\x20\xb2\xb4\x5d\x62\x81\x59\x3f\x46\xb2\x36\x3b\x4a\x32\xaf\x14\xfb\xcd\xde\x46\x74\xf8\x63\xb4\x8a\x1c\x50\x4f\xc7\x9e\x16\xf8\x1f\x3b\x84\xde\xda\x54\x3f\x0f\xb3\x93\x23\x2e\xdd\x79\x2e\x16\x89\x28\x65\x42\xd7\x7b\x07\xff\xfe\x7e\x3a\x7f\x7f\x05\x9f\xe9\xfe\xff\x3c\x12\x62\xff\x45\xd4\x02\xfa\xcb\xe5\xcd\xed\xd5\xf5\xcf\xa3\xe0\x56\x6e\x99\x3c\x60\xd7\xe1\xa6\x61\x6d\xe4\xef\xfc\x03\x7c\xfe\xe9\xf2\xb7\x31\x40\x53\x34\x2e\xa1\xdd\xe9\x80\x4a\xf2\x25\xeb\x4d\x47\x76\x4a\x93\x79\x2b\xc7\x00\x66\x57\xac\x03\x6a\xdb\xa9\xfb\x21\x7a\x7a\xd2\xee\xbb\x86\x03\x87\xc5\x4b\x25\xcf\xf5\x3a\x09\x30\xba\xa2\x4f\x9e\x04\xf5\xa4\x61\xa8\xcd\xf1\xed\x93\x4b\x1d\x34\xd4\xf7\xe0\x08\xd0\xa5\xc1\x95\xc4\x75\x07\x5c\xbb\x64\x42\x23\xd0\xd3\x9d\x8b\xba\xcc\x85\x1a\x81\xe1\x01\x37\xa3\xb7\xf4\x01\x37\x63\x09\xf7\x92\x0e\x86\xa0\x57\xd0\xd1\x48\xd4\xe1\xb4\xa3\x8b\x01\x0a\x61\x1e\x30\x8b\xa6\x64\x94\xa8\x18\x4e\x42\x87\xbe\x8b\x99\x80\x8a\xa7\x0c\x43\x8c\xd6\x61\x60\x57\x77\x2e\xa7\x11\x60\xeb\x40\xa0\x03\x6e\x33\x3e\x9a\xe9\x01\x0a\xbd\x5f\x90\xa3\xb5\x51\xda\x23\x40\x5b\x67\x64\x27\x64\xbf\x75\x95\x45\xba\xbc\xe6\x52\x61\x46\x56\xd9\xc9\xa2\x76\x97\x47\x60\x70\xa6\x5b\x08\x3c\x06\xba\x72\x65\x35\x86\x58\xaf\x6e\x2b\x34\x33\x6d\xbb\x40\x86\xd1\x63\x81\x96\xc2\x88\xa2\x53\xc0\x46\x14\xe8\xd0\xc0\x4a\xe4\x15\xf2\xed\x4d\xc6\x14\x7e\x39\x7f\xfb\xe1\xf2\x33\x5d\xee\x85\x38\x12\x55\xdf\x69\xfc\xfc\xe6\xea\xed\xe5\x67\x0a\x73\x9d\x90\xec\x20\x1f\xa2\xe0\x9f\xb7\xd7\x3f\x0f\xa3\x66\xab\x9a\x14\xd2\x92\x2f\xce\xf7\x45\xf7\x75\x41\x17\x31\xcd\x68\x62\x77\x20\x5b\x20\x2d\x28\x1d\xa3\xee\xca\x60\x36\xfd\xd4\xb7\xef\x7b\x18\x7d\xa4\xdc\x83\x91\xee\x3c\x0e\xa6\xbf\x0a\xcf\xd0\x71\x23\x4c\x4d\x6c\xfe\x2c\x54\x81\x95\xbe\xac\xe8\x3e\x3f\x1f\x1f\x1f\xa7\xf4\x79\xbb\xbd\x9f\x78\xc7\xe8\xf1\x71\x6a\x75\x65\x52\xdc\x6e\x47\xe1\xf4\x1b\x36\x84\x93\x13\x10\x61\xaf\x2c\xba\xe7\xe1\xaa\xc5\x33\x84\x6d\x47\x8e\xc4\x62\xfd\xc3\xf3\xf9\x2c\xe5\x62\x9d\x38\x54\x42\xb9\x44\x66\x63\x64\xfc\xa3\x70\x48\xae\xe2\x1d\x2f\x82\xab\x8b\x48\x4d\x55\xc9\xec\x2b\x09\x11\x9c\x99\x4e\x9c\x7e\x40\x75\x0c\x2d\x7e\x1d\xf0\xba\xe7\xed\x45\xa5\x0a\x61\xec\x52\xe4\x49\xae\x53\x91\x77\x46\x6d\x61\x56\xcb\xd1\x0e\x96\x39\x38\xe0\xbc\x3a\x58\x8b\x91\x08\x15\x3a\x0a\x56\x9e\x8d\x52\x2a\x87\x46\xa1\x03\xe1\x88\xdd\xca\xe4\x03\xbc\x36\x6e\x4c\x92\x0a\x95\x62\x9e\x77\x3a\x11\xd7\x3f\x4d\xe1\xb5\x9f\xd3\xe4\xaf\x38\x2c\x1b\x89\x60\x2e\x64\x37\xf4\x56\x7e\x3c\x93\x59\x30\x0d\x45\x99\xa3\x43\xb0\x15\x6d\xe9\xbc\xca\xf3\xcd\x14\x6e\x2a\x05\x9f\x9f\x06\x80\x9f\x39\x5e\xe1\x00\x9a\x4c\xb5\x93\x22\xcf\x37\x4d\xb4\xec\x03\xa3\xb1\x94\xfa\xe4\x5d\x62\x9d\x70\x55\x97\xf3\x7a\x72\x72\x72\xf2\xea\xd5\xab\x57\x87\x73\xfc\xb7\xbc\x14\x68\x02\x4d\x1c\x85\x95\x4b\x35\x98\x8d\x11\x51\x14\x4d\x06\xa1\xbe\xe3\x85\xd3\xaf\x64\xcf\xdf\xeb\xf6\xda\xf1\x48\x7a\xf7\xfb\x43\xdb\x83\xee\xdd\xf1\xd1\xf8\x86\xe4\xb7\x83\xf2\x19\x12\x0c\xa5\x97\x84\x73\x6a\xec\x3c\x90\xd1\x4d\x84\x4b\xc8\xfd\xeb\x40\xfa\xf8\x38\x4d\x8b\x6c\xbb\x0d\x99\xb8\xc7\xc7\x29\x2d\x74\x9b\x12\xb7\x5b\x36\x95\xb4\x76\xbb\xbd\x9f\x4e\x7b\x71\xb3\xcf\xbe\x49\xa2\x3e\x0f\x94\xf5\x1e\x1f\x29\x82\x08\x08\x88\xc8\xed\xf6\x1e\x96\xc2\xc2\x0c\x51\xed\x30\x5c\x9f\x90\xf1\xd8\xbb\xeb\x80\x17\x71\x1c\x0e\x12\x30\x9d\xf6\x64\x50\x03\x8a\x26\x19\xfe\xed\x58\x6c\x60\x8e\x61\x32\xce\xee\x66\xf3\x43\x33\xe3\x20\xa3\xbd\x7c\x66\x58\xa2\xca\x50\xa5\xc7\x88\xb3\x59\xf4\x7c\x3c\xcd\x11\xe9\x94\xe9\xc5\x41\x34\x5f\xa3\x38\x87\xa9\x20\xc3\x50\x99\x2e\x37\xf1\x62\x27\x05\x7e\x98\xf5\xff\xc3\x3b\x22\xf2\x73\x9c\x9e\x7c\xdd\x0e\x3e\x35\x73\xdf\x66\x0f\x47\x9e\x8c\x2e\x4a\xfa\xf7\xf1\xc3\x5e\x31\xe3\x39\x3b\xd9\x47\x55\x48\x58\x3c\xf7\xce\x61\x8a\xfc\x0d\x50\x27\x44\xfa\x68\x81\xac\x32\xb4\x93\x31\xe5\xda\xba\x11\xff\x38\x7d\x8b\x3c\xce\x75\xa5\xb2\x24\xd0\x1b\x2c\x55\xa7\x02\x84\x24\xff\x41\x0b\x19\x2a\x09\xdc\x0f\x41\x74\xb5\xea\x08\xb1\xd6\xbf\x9f\x53\xe6\x4b\xca\x7f\x26\x08\xc2\x32\x2f\x5c\xad\x1f\xeb\x16\x84\x14\x5f\x12\xaa\x58\x5d\x85\x40\x3f\xca\xb1\x0d\xb4\xd2\x8f\x06\x39\xad\x92\x4d\xb8\x2c\xdc\xb8\x5b\xf5\xb6\x11\x1d\xa6\x5e\x11\x90\x80\x68\x55\x4b\xda\x45\x56\xdf\xcb\x10\xb4\xdf\xf8\x32\xe0\x50\xe3\xc7\xe5\xcd\xcd\xf5\xcd\x6d\x07\xdd\xaf\xf6\xff\x81\x9f\x0e\x4f\x06\x5e\xbd\xea\xb9\x7e\x8c\xd9\x3d\x68\x0f\x4a\xaf\x55\x42\x9e\xc2\xf0\x51\xa7\x59\x24\xaa\xb0\x6a\x0a\xad\x5c\x3d\x97\x40\x6c\x55\xfa\x8a\xc1\x29\x67\xb9\xa7\x76\x63\x1d\x16\x30\x93\x2a\x93\x6a\x61\x41\x1b\x58\x48\xb7\xac\x66\xd3\x54\x17\x75\xb5\xb1\xff\xbe\x34\x26\xde\x99\xa9\x41\xe1\xba\xc8\xe4\x3e\x27\xe0\x29\x3b\x6a\xc9\xdd\x2e\xdc\x20\x15\x5b\x43\xce\x68\x10\x8d\xd9\x6e\xb9\x4c\xe1\xc7\x52\x9d\xf9\x01\xfa\x30\x10\xcd\xb4\x48\xf2\x67\xa5\x97\xa4\xec\xc9\x49\xf9\x83\x48\x9a\x23\x52\x38\xbd\xd2\x0f\x5d\x04\xbd\x61\xb3\x45\xe6\xc2\x4f\xe3\x03\x49\xcb\x60\xbd\xc4\x56\xe1\xce\xf9\x36\xa7\x30\xf4\xc7\x50\xfb\x80\x9b\x3a\xa5\x43\xfe\xae\x70\xda\xf4\xa5\xab\xea\x39\x9c\xfd\xf8\x18\x85\x79\x4f\xfa\x18\xe0\x0c\xe2\x8c\x99\xdd\x44\x69\xe7\x8d\x5d\x07\xc2\x77\xed\x14\x30\xdb\x6a\x9e\x4d\xf1\x2e\xe7\x60\xdb\x1e\xf5\x10\x52\xf6\xde\x0b\x69\x0b\xe1\xd2\x2e\xf7\x9d\x18\xac\xd5\x83\x16\x64\x8c\x22\x8b\xf6\x54\xaa\xfd\x5a\x83\x1f\x0f\x34\x70\xbb\x14\x93\xc9\x48\x78\x5b\xd9\xbc\xd1\xa4\xa2\x05\x64\x27\xb5\xed\x47\x23\x1b\xfd\x4c\x84\xf8\x9f\xd4\x4b\xe4\xb2\x4b\x6c\x57\x7e\x94\x7b\xbc\xfc\x96\xd4\x59\x64\xc2\x15\x3e\x13\x2d\x07\x1b\xc4\xb8\x76\x4a\xb4\x0b\x5f\x37\xa4\x35\xfe\xe3\x18\x39\x47\x12\x07\x44\x7d\x73\x0c\x41\x7b\x72\xe5\xa3\xe0\x29\x7a\x61\xc1\x67\x79\xbc\x28\xf1\x8b\x43\x65\x23\xd1\xf8\x85\xef\x30\x62\xe7\x6b\x58\xb1\xc9\x02\xbb\xf2\xa9\xcd\x51\x5e\xa0\x6f\x6b\x09\xb6\xb7\xc9\xdc\x3f\x29\xd0\xd2\xfd\x26\xd3\xd6\xf1\x1d\x2d\x53\x4f\x7a\xe2\x39\xe6\xd3\x53\x63\xeb\xa0\x6f\x87\x61\xf6\x0b\x49\x8c\x8d\x94\x85\xda\xd4\xba\x41\x46\xa4\xb5\xed\x83\x72\x0d\x39\xdd\x9a\x84\x41\x36\x2a\x93\x1f\xaf\xb9\x3e\xb1\x15\x42\xe8\x0f\x37\x6f\x7d\xc6\xd1\xe4\xe1\x28\x7d\xdc\x89\xb1\xef\x7d\xaf\xd2\x18\x42\x0a\x91\xcf\xb5\x29\x3a\x25\xf7\x2e\x8e\xf7\x51\x30\x85\x3b\xb3\x01\xb1\x10\x52\x0d\x85\xf4\xc6\x24\xff\xb2\x5a\xd5\xc6\x36\x2d\xb2\x9e\x42\x32\xd7\x1a\xa4\x2a\x2b\x07\x99\x70\x02\xde\x05\x69\xbc\x48\x8b\xec\x05\x99\xde\x7e\x4c\xa2\x94\x4d\x41\xc0\x2b\x8d\x36\x89\xc5\x7f\x57\xa8\x3a\x33\xf6\xbe\xbd\xf6\xf4\x36\xcc\xda\x3d\x2c\x2d\xfb\xee\xf5\x79\xaf\x77\xe4\xfc\xfd\x95\x5f\x50\x4a\x9a\x9d\x0a\xe5\x5d\x91\x19\x7a\x67\xa0\xdd\xef\xd6\x28\xd9\x69\x24\xe9\x00\xcc\x29\xbc\xcf\x51\x58\x84\xaa\xcc\x84\xdb\x6b\x56\xf1\x97\x67\x9a\x57\xd9\x3e\x9d\xc2\x82\x80\x35\xce\xf6\x31\x0c\xee\x4e\x90\x53\xbf\x82\x9e\x1f\xb0\x23\x24\x9a\xb0\x6a\x0a\x57\xce\x47\x5f\xda\x2d\xf9\x2e\xde\x6d\xc1\xa8\x0f\xde\xc4\x4b\x47\x2b\x0c\x55\xe0\x82\xa0\xe0\x97\x12\xd3\x31\x27\x29\xd0\x1a\xb7\x38\xda\x07\x32\x8c\x09\x61\xfd\x4a\xea\x99\xf0\xc6\x48\x10\x58\x5d\xb9\xb6\xb1\x98\xc2\xaf\x8d\x11\x8e\xa6\x82\x96\x4d\x6a\x73\x22\x6d\xe3\x2c\x0c\x5c\x6b\x81\x9d\x28\xa6\x84\xa2\x15\x87\x49\x26\xcd\x28\x23\x77\x90\x2d\xe2\xa3\x96\x7b\xa9\xa5\xf2\x2e\x95\x0f\xd1\x1c\xb6\x9a\x9c\x9b\xe3\x3c\xa1\x10\x30\x72\xc5\x4d\xc6\x7b\x16\xae\x9f\x8d\x54\x50\xc0\x2e\x56\x98\x64\x3a\x7d\xc0\xae\xa7\x00\xaf\x85\x62\xa8\x62\x85\x70\xc1\x13\x41\x16\xec\x80\x0f\x38\x96\x32\xc7\x44\xe4\x06\x45\xb6\x49\xf0\x8b\xb4\x9d\xad\x16\x6f\xe8\x84\x84\x99\xe0\x67\x0e\xc0\xce\x62\xab\x60\x13\x95\x48\xb4\x5e\xa1\x2c\x79\x4e\xb9\x98\x61\x57\x71\xe4\x5a\x21\x90\x1e\xe6\xb8\x1f\xf6\x37\x5f\xe3\x96\xb8\xb5\x86\x1a\x19\x17\x4d\xbc\xac\x69\x76\xfc\xe6\x0d\xeb\x52\x5a\x78\x90\x2a\xa3\x03\x12\x74\x31\xd4\x48\x9f\x5c\x3c\x7b\x96\x82\xec\x4b\x8b\x10\x26\xfd\x00\x39\xe1\x41\xc0\x13\xbb\xc2\xca\xc2\xf5\x7d\xf2\xdd\x22\x51\x10\xc3\x1a\x64\x1e\x2c\x96\xc2\xd0\x17\x86\xee\xfb\xcd\x3a\x78\x1b\xa7\xfc\xe1\x90\x25\xc4\xf2\xb1\x7a\xae\xb4\x97\x94\x45\x77\x1c\xb2\x63\x6d\x45\x40\xd6\x3a\xef\x03\xf8\xa2\xf5\x4d\x96\x62\x45\x96\x8a\x75\xc9\x27\xd2\x6d\x20\xa6\xeb\xb1\x4a\xfb\x1a\x8a\x60\x82\xbd\x8a\xaa\x1d\x7b\x24\xc8\xe6\xab\x68\x8c\x7c\xa0\xcf\xae\x18\xed\x5f\x88\x6e\xa7\xf1\xf5\x48\x68\xf1\xf5\xf0\x2c\x5f\x54\xa4\x4c\xfc\xc4\x81\x17\xb0\xc7\x2e\x15\x88\xa8\xd3\x11\xc2\xc0\xe1\xd7\x6a\x9e\xcb\x94\xac\x4c\x12\x02\x37\xe2\xd0\x68\x6b\x63\x26\xa4\xeb\xb8\xb6\xce\x4f\x0c\xf9\x88\xe9\xf0\x39\xf0\x1c\x79\x65\xe7\xb7\xa8\x72\x27\xcb\xdc\x47\x8d\xfe\xf0\xd0\xa7\xe0\x91\x78\xe4\x6c\xbe\xe2\xdd\xbb\x97\x06\x71\xed\xa2\xf2\x04\xa4\xf3\x27\xaa\xd4\xd6\xca\x99\x3f\x05\x2c\x90\xc8\x88\xc7\xda\x88\x67\x46\x7e\x49\xad\xe9\x4c\xc4\x93\x43\x18\x38\x61\x34\x4f\x82\x9e\x23\x84\x69\xaa\x1c\x9f\x21\x49\x5a\x16\xa2\x8b\x1c\x0f\xc9\xb0\xa1\x3f\xda\xfb\x3d\x47\xc2\xbf\x41\xa9\x45\xb0\xbb\x25\x53\xff\xf4\xe8\x5b\x08\x99\x19\x3c\x24\x61\x61\xad\x4e\x25\x83\x3e\x4c\xf1\x69\x24\x6e\x5f\xf8\xcc\xfc\xb3\x24\x2f\x4c\xd3\xe2\xc1\xc5\xec\xce\xd6\xf6\x50\x20\x83\x5c\x2a\x04\x61\x16\x15\x07\xc5\x24\x42\xb3\xd8\x6e\xdb\xfe\x22\xc3\x99\x40\xe9\x49\x8c\xaf\x3e\x48\x1e\x3c\x72\x04\x45\x0f\xb8\xf9\x66\x54\x3d\xe0\xe6\x94\x61\x41\x29\xa4\x79\x42\xde\xee\x30\xdb\x77\xfc\x22\x8a\x92\x9c\xdd\x1a\xdc\x03\x6e\x46\xf1\x10\x1c\xac\xe1\x4e\xa4\x2e\x06\x7e\x88\x28\xff\xcc\x36\x38\xc0\xf3\x6d\x4a\xfe\xe2\xaa\x53\x21\x13\x9f\x90\x6c\x85\x97\x51\x39\xea\xf7\x36\xe0\x57\x73\x90\xd1\x80\x18\xca\x3d\xe0\xbf\x2b\x69\x38\xb7\x55\x56\xce\x8e\xd2\x92\x9b\xb0\xc6\x87\x32\xfe\xb4\xec\x68\x85\x05\x5c\xa1\x02\x31\x77\x68\x40\x94\x65\xce\xf5\x13\x6e\x6c\x28\xb5\x87\x13\x6a\xa9\xa8\x56\x53\x58\x09\x23\xc5\x2c\xc7\x46\xe1\x2d\xba\x1a\xe2\xee\x94\x78\x80\x7d\x14\xd5\xb4\x71\x1d\x7a\x6d\xe3\x5f\x36\x99\xf0\xfe\x88\x37\x7b\xae\xf3\x5c\xaf\x3d\x35\x44\x3b\xcb\xd3\x7f\xdc\x6e\x87\xa3\xaf\x85\x6f\x50\x49\x28\xe8\xe1\x8a\xf1\x50\x60\xd1\x6a\x6a\xa1\x35\x4d\x82\x4b\x94\x92\x7e\x88\x39\xa6\x03\xee\x3a\x4f\xad\x3b\xd6\xe2\x03\x82\x7d\x2f\x29\x84\x1c\x06\x09\xe9\x2a\x20\xa8\x33\xc5\x7b\x30\x46\xe6\xa1\x4a\x61\x2c\x9a\xde\x87\xaf\x4d\x86\xc4\xa0\x33\x12\xd9\xe0\x85\xc4\x48\xad\xa1\x87\xb1\xfd\x7a\x7e\xf3\xf3\xd5\xcf\x3f\x8e\xcf\xc4\xc7\x05\xc7\xe5\xe2\xd7\xc2\xa8\xba\xdc\x4f\x44\x76\x05\xe5\x37\x34\x46\x1a\xf1\x31\xd6\xf9\xef\x83\xe6\xb2\x00\xce\x7c\x72\x84\x18\xba\xef\x0b\xe0\x02\x3e\xee\x7e\x3a\x3a\x1d\xd2\xee\xda\x6e\xa5\x3f\x21\x43\x37\x1c\x3a\x32\x66\xb2\xa1\x19\x96\x06\x53\xba\x59\x12\x83\x65\x2e\xd2\xce\xd8\xea\x6e\xe9\xf1\xe8\x3c\x0b\x89\x5e\xee\x7a\xf3\xae\xf3\x6e\x7f\x03\x3f\x45\xb5\x5a\x2b\x0a\xfa\x1b\x0c\xb5\x65\xad\xac\x77\xcd\xb9\x42\x85\xeb\x1d\x70\xd6\xa1\x18\x49\x7b\x90\xc4\x73\x72\xd4\x76\xa9\xab\x3c\x23\xf2\xc8\x53\x86\x0f\xd6\x17\x6b\x7d\x25\xc9\x1b\x7b\x9a\xcd\x9f\x86\xbb\x34\x6a\x8a\x78\xfe\xc0\x56\x12\x5d\x1e\x03\x19\x97\xa7\xb9\x73\x3a\xaa\xfe\x54\x1f\x81\x92\x83\x63\xb1\xea\xdd\xbc\x21\xa4\xbc\x3e\x6e\x68\xac\x0a\xc6\xb7\x79\xed\x47\x79\xc3\x84\xe5\xb2\x90\x2e\x91\x0b\xa5\x4d\x27\x49\x51\xa5\x83\xb3\xce\x4b\x7c\xf0\x47\x9f\xf6\xf3\xe3\x64\xec\x3c\xb8\xb1\xd8\xd3\xa5\x50\x0b\xa4\x0b\xa0\x3f\xae\x79\x5b\x23\xae\xf3\xf2\x36\xb2\x9f\x6f\x7c\x5d\xb8\x06\x35\x85\x2b\xa2\x42\xaa\xc5\x18\x95\x60\x42\x6c\x92\xeb\x45\x62\xe5\xef\x03\x74\xf0\xe4\x33\xc8\xf5\xe2\x56\xfe\x4e\xaa\xcb\x29\x33\x5d\x39\x2b\xb3\x18\xc9\x7a\xfd\x34\x44\x0d\xed\xc8\xc7\x97\x13\xf8\xcb\xcb\x7b\x78\xf7\xf7\xfa\x16\x5c\xa1\xa1\x8b\x9d\xab\x9b\xa5\x7f\x9e\x6a\x1a\xdb\xce\xaf\xb2\xbd\x9b\x32\x96\xf8\x02\x0b\x6d\x36\xe3\xe9\xf7\xf3\xc7\xb3\xf0\x97\xbf\xfe\x6d\x02\x7f\x7d\xf9\x1f\x7f\xfb\x63\xd9\xa0\x6b\x46\x57\x9d\x4f\x63\x77\x58\x08\x73\x47\xd2\xff\xf2\xe5\x04\xfe\xf3\x25\xfd\xbb\x87\x42\xe6\xb9\xb4\x98\x6a\xd5\x0a\x83\xbe\x1d\x2f\x5c\xc3\x4d\x4a\xa3\x4b\x34\x4e\x76\xc6\x3e\xd1\x52\xb7\xec\xaa\xaf\xfc\xfb\x5b\x37\xd4\xfe\x7d\x41\xb8\x01\x16\x7b\x04\x0e\xdb\xee\x68\xba\x33\xcd\x27\x82\x2c\xb8\x74\xb5\x68\xf4\x1c\xee\x8c\x58\x49\x0b\xb3\x4a\xe6\x59\x7f\x01\x99\x59\xf1\x66\x8b\xc5\x38\xca\x64\xd5\xc7\x73\xc7\x70\xa9\xbd\x8b\x27\x98\x75\x2e\x8b\x53\x90\xe6\x7f\x8d\x2f\x7b\x1f\x1f\xa7\x85\x54\xa1\x48\x4a\x5f\x44\x3a\x50\x72\x61\x52\xa3\x8b\xe3\xad\x40\x97\x39\x8b\x65\xac\x30\x8b\xdc\x9c\xbd\x8a\xd6\x81\xac\x77\x67\xd1\xea\x59\x95\x2a\xa6\x36\xd4\xc1\x39\xb3\xd2\x9b\x1a\x7c\x52\xe2\xdc\xb1\x81\x7b\x39\xc3\xc6\xc9\xce\xf9\xbd\xa1\xd2\x6e\x19\x42\xfa\x61\x92\x62\xa8\x3e\x58\xe5\xbd\x7b\x92\x84\x6b\x3b\x36\xe1\x51\x06\x66\xa0\xf4\xb8\x56\x05\xc6\xde\xea\x12\x62\xa1\x8c\x21\xe2\x60\x0f\x4d\xb8\x19\xf7\x83\x85\x75\x28\xa5\xf9\x82\xf4\xa1\x54\xe2\x08\x09\xb5\x9e\x56\x25\x7a\x85\xc6\xc8\x2c\xc3\xae\x84\x18\x51\xd8\x7e\x69\xd5\x74\x79\x35\x4b\xa3\x4f\xd3\x6e\xe2\x19\xbb\x51\x89\xb4\x49\x59\xcd\x72\xd9\xf5\x9a\xdd\xef\x0a\xcf\x8d\x05\x21\xff\x98\x8c\x42\x10\x5e\xf8\x24\xd9\x30\x21\x73\xc1\xb6\x65\x86\xb0\x92\x3e\xef\x41\xe7\x30\x15\x6c\x69\x7c\xfb\x3e\x66\x30\xdb\x80\x50\x1b\xad\x7a\x1e\x67\x31\xad\x31\x7f\x89\xb3\xf0\x64\x76\xc0\xdd\x78\x9a\xbe\xe4\xca\x0c\xd7\x87\x54\x46\xff\x9f\x84\xd7\xad\xfb\xa5\x19\x3a\x08\xfc\xe7\x49\x70\x36\xf1\x4e\x48\xf8\x16\x16\xf4\x44\x48\x9e\xd2\x56\x09\x8e\xc8\xed\x4d\x76\x76\x15\x66\x48\xc3\xda\xd5\xac\x51\x75\xb6\xf0\x67\x55\xea\x45\x53\x78\xad\xd5\x8a\xcc\x7d\x08\x5d\x1a\x14\x4e\xef\x80\x1f\x56\xd9\x7d\xae\x06\x4a\x8a\x7d\x49\xdc\x86\xb7\x38\x70\x24\x77\x75\x65\x6f\x9f\xbf\x36\xa2\x9a\xc3\x51\x75\xc0\x9a\xc7\x98\xb0\x31\x68\x4b\xad\x2c\xf6\x75\x66\xed\x11\xcd\xa9\xba\xfd\x90\x3c\x8c\xc7\xe0\xbb\x15\xcc\xc7\xb4\x4a\x9d\x0e\x5c\x3a\x57\xfa\x3f\x61\xe4\x51\xf3\xbd\x36\x85\xd7\x74\xc3\x70\x2b\x47\xfb\x77\x7f\xa9\xf3\x95\x13\x7e\x0e\x4c\x33\x14\xba\x4f\x1a\xca\x86\x34\x36\xee\x2b\xaa\x95\x34\x5a\xb1\xed\x8c\xd9\x94\xae\x22\x79\x88\x4a\x2f\x9b\x25\xf0\x4b\x58\xb2\x1b\x4a\x1d\xc6\x7d\x71\xf9\xf7\x0f\x3f\x8e\x0e\xef\x79\xf6\x71\xb1\x7d\x36\x5b\x24\x16\x85\x49\x97\xc4\x59\x34\xb8\x75\xed\xaf\x53\x6d\xc3\x8a\xda\xe0\xee\x56\x0b\xe3\xf6\x45\xf9\x7a\xc7\x64\x20\x36\x20\x52\xf6\x6f\xa5\x6f\x7d\x23\x3d\xf3\x36\x22\xd2\xea\xeb\xda\x77\x9f\xf6\xfc\x45\x99\x8b\x03\x2d\x50\x41\x22\x67\xf0\x86\x29\x68\xfe\x80\x09\x67\xc2\x09\xd8\xb1\x04\xf4\x3f\xc1\x3d\x9e\x86\x76\x83\x6b\x6c\xc8\x3e\xee\x59\xe5\xde\x33\xb5\xbe\xd7\x81\x34\xf9\xc9\xdb\xb4\xe3\x1f\x40\x86\xb8\xa1\xee\xa8\xfd\xe6\x44\x4c\xd8\xa5\x7f\xf1\xf8\x38\xcd\xaa\xa2\xd8\xf0\xac\xed\xf6\x05\x99\x9f\x76\xdc\xa3\x55\xbf\xfe\x84\x27\xc0\xc9\xef\xb2\x4c\xf0\x0b\x77\x65\xf8\x6a\x75\xcf\x53\x99\x4b\x9e\x47\x67\xec\xbd\x70\xcb\xb3\xf6\x0e\x8e\x45\x25\xb2\x2c\xbe\xcd\xe9\xc3\x74\xce\xd3\x76\x0e\xae\xd3\xf0\x3f\xb2\x84\x37\x43\x07\xa3\x8d\x2d\xb4\x9b\xc4\xee\xab\x1e\x84\x6f\x42\xff\xdc\xad\x77\xf2\x9f\xcd\xdf\x01\x8c\x49\x86\xd6\x49\xc5\xa8\xbe\x86\x04\xf6\x7e\x2e\x1a\x58\xad\x19\x2d\x0c\x23\x69\x8d\x97\x65\xa4\x17\x55\x77\x0e\x35\x26\x52\xe0\x2a\x74\xef\x5c\xd2\x64\x52\x38\xe9\x5a\xb9\x6d\xa6\x24\xc0\xe3\x6a\x5b\x9c\xce\xb0\xd9\x31\x40\xc9\xc1\x08\xdf\x99\x1f\x3d\x9f\xf7\x40\x06\xd9\x7f\x9e\xb4\xd9\xeb\x3f\xea\x91\x8f\xd8\xb5\xcc\xc2\xef\x29\xd2\xbc\x8e\xdd\xcd\x24\xe1\xa8\x47\x47\xef\x70\x2e\xad\x4b\xf4\x9c\x11\xd9\x84\x3b\x1b\xf9\x8e\x12\xce\xa1\xe9\x3a\xd8\xde\xb4\x71\xbf\x70\x5d\x9f\xf0\x7f\xfb\xc9\xd7\x85\x03\x94\xb8\xef\xdc\x08\xf2\xde\xfb\x22\x0c\x36\xca\xe1\xbb\xfb\xef\xfe\x37\x00\x00\xff\xff\xf8\xdf\xc5\xc7\xca\x52\x00\x00")

func wski18nResourcesEn_usAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesEn_usAllJson,
		"wski18n/resources/en_US.all.json",
	)
}

func wski18nResourcesEn_usAllJson() (*asset, error) {
	bytes, err := wski18nResourcesEn_usAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/en_US.all.json", size: 21194, mode: os.FileMode(420), modTime: time.Unix(1571334180, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesEs_esAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesEs_esAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesEs_esAllJson,
		"wski18n/resources/es_ES.all.json",
	)
}

func wski18nResourcesEs_esAllJson() (*asset, error) {
	bytes, err := wski18nResourcesEs_esAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/es_ES.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesFr_frAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8a\xe6\x52\x50\xa8\xe6\x52\x50\x50\x50\x50\xca\x4c\x51\xb2\x52\x50\x4a\xaa\x2c\x48\x2c\x2e\x56\x48\x4e\x2d\x2a\xc9\x4c\xcb\x4c\x4e\x2c\x49\x55\x48\xce\x48\x4d\xce\xce\xcc\x4b\x57\xd2\x81\x28\x2c\x29\x4a\xcc\x2b\xce\x49\x2c\xc9\xcc\xcf\x03\xe9\x08\xce\xcf\x4d\x55\x40\x12\x53\xc8\xcc\x53\x70\x2b\x4a\xcd\x4b\xce\x50\xe2\x52\x50\xa8\xe5\x8a\xe5\x02\x04\x00\x00\xff\xff\x45\xa4\xe9\x62\x65\x00\x00\x00")

func wski18nResourcesFr_frAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesFr_frAllJson,
		"wski18n/resources/fr_FR.all.json",
	)
}

func wski18nResourcesFr_frAllJson() (*asset, error) {
	bytes, err := wski18nResourcesFr_frAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/fr_FR.all.json", size: 101, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesIt_itAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesIt_itAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesIt_itAllJson,
		"wski18n/resources/it_IT.all.json",
	)
}

func wski18nResourcesIt_itAllJson() (*asset, error) {
	bytes, err := wski18nResourcesIt_itAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/it_IT.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesJa_jaAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesJa_jaAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesJa_jaAllJson,
		"wski18n/resources/ja_JA.all.json",
	)
}

func wski18nResourcesJa_jaAllJson() (*asset, error) {
	bytes, err := wski18nResourcesJa_jaAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/ja_JA.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesKo_krAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesKo_krAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesKo_krAllJson,
		"wski18n/resources/ko_KR.all.json",
	)
}

func wski18nResourcesKo_krAllJson() (*asset, error) {
	bytes, err := wski18nResourcesKo_krAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/ko_KR.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesPt_brAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesPt_brAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesPt_brAllJson,
		"wski18n/resources/pt_BR.all.json",
	)
}

func wski18nResourcesPt_brAllJson() (*asset, error) {
	bytes, err := wski18nResourcesPt_brAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/pt_BR.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesZh_hansAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesZh_hansAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesZh_hansAllJson,
		"wski18n/resources/zh_Hans.all.json",
	)
}

func wski18nResourcesZh_hansAllJson() (*asset, error) {
	bytes, err := wski18nResourcesZh_hansAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/zh_Hans.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesZh_hantAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesZh_hantAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesZh_hantAllJson,
		"wski18n/resources/zh_Hant.all.json",
	)
}

func wski18nResourcesZh_hantAllJson() (*asset, error) {
	bytes, err := wski18nResourcesZh_hantAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/zh_Hant.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	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){
	"wski18n/resources/de_DE.all.json": wski18nResourcesDe_deAllJson,
	"wski18n/resources/en_US.all.json": wski18nResourcesEn_usAllJson,
	"wski18n/resources/es_ES.all.json": wski18nResourcesEs_esAllJson,
	"wski18n/resources/fr_FR.all.json": wski18nResourcesFr_frAllJson,
	"wski18n/resources/it_IT.all.json": wski18nResourcesIt_itAllJson,
	"wski18n/resources/ja_JA.all.json": wski18nResourcesJa_jaAllJson,
	"wski18n/resources/ko_KR.all.json": wski18nResourcesKo_krAllJson,
	"wski18n/resources/pt_BR.all.json": wski18nResourcesPt_brAllJson,
	"wski18n/resources/zh_Hans.all.json": wski18nResourcesZh_hansAllJson,
	"wski18n/resources/zh_Hant.all.json": wski18nResourcesZh_hantAllJson,
}

// 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{
	"wski18n": &bintree{nil, map[string]*bintree{
		"resources": &bintree{nil, map[string]*bintree{
			"de_DE.all.json": &bintree{wski18nResourcesDe_deAllJson, map[string]*bintree{}},
			"en_US.all.json": &bintree{wski18nResourcesEn_usAllJson, map[string]*bintree{}},
			"es_ES.all.json": &bintree{wski18nResourcesEs_esAllJson, map[string]*bintree{}},
			"fr_FR.all.json": &bintree{wski18nResourcesFr_frAllJson, map[string]*bintree{}},
			"it_IT.all.json": &bintree{wski18nResourcesIt_itAllJson, map[string]*bintree{}},
			"ja_JA.all.json": &bintree{wski18nResourcesJa_jaAllJson, map[string]*bintree{}},
			"ko_KR.all.json": &bintree{wski18nResourcesKo_krAllJson, map[string]*bintree{}},
			"pt_BR.all.json": &bintree{wski18nResourcesPt_brAllJson, map[string]*bintree{}},
			"zh_Hans.all.json": &bintree{wski18nResourcesZh_hansAllJson, map[string]*bintree{}},
			"zh_Hant.all.json": &bintree{wski18nResourcesZh_hantAllJson, 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, "/")...)...)
}

