diff --git a/frequency.go b/frequency.go new file mode 100644 index 0000000..2cc2cee --- /dev/null +++ b/frequency.go @@ -0,0 +1,276 @@ +// Code generated by go-bindata. DO NOT EDIT. +// sources: +// lists/frequency.txt + +package main + + +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 fileInfoEx +} + +type fileInfoEx interface { + os.FileInfo + MD5Checksum() string +} + +type bindataFileInfo struct { + name string + size int64 + mode os.FileMode + modTime time.Time + md5checksum string +} + +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) MD5Checksum() string { + return fi.md5checksum +} +func (fi bindataFileInfo) IsDir() bool { + return false +} +func (fi bindataFileInfo) Sys() interface{} { + return nil +} + +var _bindataListsFrequencytxt = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\xbc\x4f\x9a\xe3\xaa\xef\x3d\x3c\x67\x97\x38\x96\x6d\xda\x18\x7c\x05\x24\xdd\xde\xcc\x9d\xd4\x1a\x6a\x54\x33\x6f\xec\x7d\xce\x11\x4e\x52\x75\xfb\xfb\x79\x9f\xdf\x20\x47\x02\x63\xfe\x0a\x21\x01\x8e\x1f\x24\x8d\x8e\x28\xa5\x48\xfa\xc9\x56\x69\xa2\xce\x0f\x93\x5f\xb4\x82\xc6\x56\x8a\xf3\x43\x94\x81\x29\xa2\xa4\xb5\xa5\xd9\xf9\x61\x93\x52\x8c\x2b\xe1\xb6\xd4\xbf\xd1\x1a\x84\xcf\x6b\xd3\xc3\xf9\xa1\x4a\x88\xf6\xc6\x43\x8a\xa4\x45\x02\x52\x1d\x12\x6e\x0b\xf3\x3e\xda\xec\xfc\x6d\x29\x12\x8f\x76\x5b\x11\x35\x4a\x74\x7e\xfc\xd5\xaa\x4f\xd5\xf9\x31\xa2\x6a\xe3\x16\xd4\x23\x5a\x51\x6b\xe7\xa7\xe9\xfc\x50\xd2\x0b\x66\x41\x6a\x60\x53\xe7\x97\xac\xc9\xf9\xd5\x8f\xb2\x05\x71\x7e\xad\xf8\x49\xaa\xbe\xdc\x16\x86\x2d\x36\xe4\x44\x72\x0f\xf5\xfc\x40\x9a\x83\xb9\xc4\xa1\xaa\x6f\x1b\x18\x62\x40\xb5\xe2\x9a\x97\x1c\x9d\x8f\xd5\x2b\x50\x3a\x26\x5f\xc3\x5d\x9c\x8f\x6d\x0b\x29\x20\xfd\x26\x01\x75\xdc\x44\xc3\xea\x13\xd2\x25\x1f\xff\x20\x2a\x4d\x1e\x5d\xf1\x24\x59\x47\x51\xf6\x4e\x9a\xfd\x80\x04\xb3\x0c\xb9\x7e\xa3\x91\x58\xaa\xc4\x58\x2d\xc5\x23\x2f\xbd\x1f\xd3\xac\x61\x9a\xde\x69\xa9\x3f\x70\x39\x3f\xd2\xcc\x3a\x2c\xe7\x67\x2f\x6b\x65\x78\x3d\xbf\xd2\x18\xe6\x1e\xd5\xd2\x54\xdf\x68\x94\x50\xed\x89\xb6\xc9\x90\x2f\x15\x3f\x77\x5a\x0f\x90\x5d\xdb\x6d\x01\x63\xc3\x9e\x30\xec\x9b\xf3\xa9\x4a\x4a\xa8\x6d\x55\x3f\xbf\x91\x47\x86\x80\xfd\x87\x3e\x7c\x7c\x27\x92\xc6\x96\xe6\x32\x88\x42\x4c\x18\x43\x51\x4d\x87\x5f\xd0\x1d\x87\x84\x19\x99\x53\x76\xf6\x09\x5d\xb4\xef\x52\xd1\x23\xfb\x1e\x7d\x2b\xee\xfc\x50\xef\xbc\x0e\xec\x25\x12\xd4\x9a\xcc\x2c\xc3\x93\x4f\xb2\x6c\xa2\x48\xcd\x56\xe9\xdc\x36\x0a\x00\x9a\xa0\xdb\xe0\x31\x6b\x74\x13\x01\x36\xc4\xe7\x0d\xd9\x96\xdb\x12\x33\x2a\x86\xca\xdb\x4f\x26\x0a\x99\x56\xd4\x53\x6b\x58\x51\x29\x3d\xaa\xeb\x12\x07\x4c\x83\xdc\x16\x94\x53\x76\x41\xe2\xb2\x2f\x6c\x30\xe6\x5a\x29\xa1\x54\x96\x5d\x4a\x3e\x82\x37\xd1\x24\x1f\x44\x31\xf0\x18\xcd\x52\x45\x73\x18\xc1\x68\x4e\x1e\x55\xaa\xb2\x5d\xb0\xe5\xb2\x2f\x36\x2f\x2a\xf2\x3a\x3f\xd8\xea\x5a\x43\x3d\xbf\x46\xc6\xea\x25\xf4\x6d\x0c\x35\x2b\xc5\x15\xe3\xdb\x26\x49\xd5\x6a\xd3\xa6\xae\x06\xda\x64\x32\x09\x0a\x49\x68\xd3\x26\xba\x16\xbf\xad\xec\xd5\x36\x25\xbf\x6c\x7c\xde\xbb\xd1\xb7\x69\x57\x1f\x23\x18\x15\x13\xac\x6f\x5c\x5b\x98\xc8\x64\xa7\x4d\x45\x16\x7b\xeb\xc1\x8e\x7e\x51\x8e\x6b\xc3\x10\xb7\x59\xd2\xa0\xbe\x75\x36\xa2\xed\xad\x8c\xda\x6e\x2b\x98\x5e\xc1\xd2\x2b\x58\xe2\xf9\x91\x46\xe6\x59\x36\x7f\xfe\x0b\x7a\x55\xb2\xe8\xf9\x55\x4c\xa4\x5b\x81\x14\x93\x0a\x95\x50\x3b\xff\x95\x54\xba\x90\xb4\xd2\x55\x59\x2b\xd5\xb7\x82\x61\x6e\xe5\x41\xc1\x6b\x85\x7a\x2b\x59\x2e\x35\x13\x06\xbf\xa4\xef\x8c\x1a\x76\x9d\xf2\xbb\xba\xc1\x0f\x7f\xdc\xe0\x6f\x8b\x1b\xce\x8f\x1b\x66\x5f\xa7\x12\x10\xbd\xe6\x49\x92\x1b\xfc\x78\xfd\x64\xc3\x04\x8a\x0e\x39\x2e\x79\x72\x83\x8f\x3e\xdd\x04\x74\xcd\x48\x19\x23\x81\x7c\xf2\x09\x4f\xd2\xf8\x03\xd0\xc4\xc1\xa7\xf5\x09\xd0\x44\x83\x67\xd9\x64\x56\x91\xdd\xa2\xb6\x45\xf4\x08\x33\xc7\x75\xf0\xca\x6c\x55\x83\x28\x72\x50\xc4\x15\xe9\x85\x96\x50\x5e\xb8\x4a\xbd\xa2\xab\x57\x14\x5b\xab\x68\xc0\x5b\xd0\x0a\x4f\x64\x29\x4f\x4c\x0b\x66\x68\x67\xd9\xba\xb6\x11\x1e\x39\x46\x71\x83\xf8\xea\xfa\x4c\x19\x84\x4b\xc2\x20\x23\x53\x83\x91\xc6\x41\x1c\x64\x0c\x69\xee\x9c\xe6\xa5\x73\xe7\x97\x4e\x09\x95\x13\x56\x5e\x26\x59\x22\x88\x4a\xb0\x14\xb3\xcc\xe9\xe2\x30\xe3\xb4\x07\xa2\x8d\xfe\x37\x2e\xf9\xae\x1e\x07\x99\xf5\xfc\x18\x2c\xe3\x6f\x2c\xb4\x2e\xa3\xbe\xce\x7f\x2d\xe5\xe2\xd3\x18\x8d\x0d\x4b\x88\x1c\x59\x09\x84\xb2\x07\x0c\xaa\xac\x3e\xa5\x5a\x6e\x8b\x9f\xd0\xd0\x55\x52\xaa\x96\xdf\x1a\x25\x8c\xf6\x2e\xb8\xab\xf0\x28\xed\xb6\xf4\x56\x5b\x0f\xc5\xbc\xf4\x56\x60\x4a\x1a\x97\x21\x60\x3d\xd5\x3f\x4d\xb6\x18\x6e\x8b\x8d\x68\x57\xa3\x83\xe8\xfc\x82\xcd\x27\x54\x4a\x29\xeb\x83\x40\xcb\x3f\xf1\xfc\x5a\xb6\xba\xf4\x77\xcf\xaf\xa5\x77\x12\xe6\x6d\xe7\x6e\x8b\x4a\x18\x9e\x81\xf3\xab\x1e\xec\xb3\x72\x5b\x1e\xa2\xa3\xfc\x60\xd9\x09\x85\x06\x47\xcf\xb6\xc8\x33\xaf\x50\x0f\x90\xac\xbd\xb9\x5c\xea\x2e\x36\x6c\xdb\xc5\x9e\x5f\x7a\xbd\x42\xb9\x22\x61\xa9\x15\x12\x2b\x15\x55\xb2\x30\x4a\x68\x55\x0c\xe3\x8b\xdc\xcf\xcf\xb8\x5e\x63\xfe\x90\xf9\xff\x66\x38\x1e\x17\xc9\x0b\xe7\x8e\x3c\x5a\x1a\x9f\x6f\xb7\x52\x6a\xb1\x91\x7d\xe7\xb1\x44\x59\x8a\x23\x88\x89\x65\x18\x50\x78\x18\x62\xc8\x75\x91\xd5\x0d\xa1\x97\x13\x04\x53\x37\x20\xef\x20\xa5\xba\x21\xc4\xf1\x05\xe5\xb6\x04\xdd\xfe\x07\x6b\x79\xc0\x90\xab\xca\x01\x0e\xa9\xc7\xe9\x8a\x7c\x0b\x7e\x37\x4e\xb1\x50\x10\xa8\x6e\x88\xbe\x08\xb0\xd6\x17\x36\xc4\x60\x36\x04\x08\x64\x94\x9e\x4b\x0c\xb7\xf5\x27\x52\xbb\x0e\x91\x43\xd6\x31\xf3\x49\xc3\x44\x88\x6d\x43\x56\x8d\x45\x34\xe4\x75\x7e\x61\x14\xde\x49\xba\x8a\x6d\x55\x74\x86\x9d\x39\xe4\x11\xf2\xf1\x8e\xe7\xa7\xb8\x21\xcf\x8c\xf8\x81\x97\xb4\xb9\x01\xa3\x02\x54\x54\x29\xc7\x83\x29\xb6\x01\x71\x79\x03\xd4\x0e\xe7\x27\x2a\x94\x2b\xe1\x9a\x77\x17\xc7\x97\x5b\x94\x3b\x15\x58\xfe\x8d\xb0\xfa\x84\x45\x1b\xd4\xba\x42\x3d\xd6\x75\x2c\x44\xd5\x0d\x2a\x1b\xf2\x53\x49\xe9\x9e\x95\x4b\xcf\xa0\x94\x39\x0d\x32\x19\x6e\x9e\x43\xa0\x81\xf3\x55\x03\x5f\xc8\xe9\x20\xa9\x17\x9c\x5f\x37\xa6\x6a\xec\x55\x6d\xdb\xc6\x52\x5a\x4a\x46\x21\x12\xef\x48\xb1\x3f\xbf\x20\xf5\xd1\xb3\xa3\x1a\x67\x2f\x56\xc3\xe1\xfc\x9a\x60\x09\x0d\xe7\xd7\x0c\xed\xc1\x39\x77\x7e\xb1\x8f\x1a\x6b\xd1\x62\x2c\x0b\x64\xa0\x6d\x05\x8f\xd2\x68\xc9\x8d\x36\x5a\x85\x43\x83\x7a\x38\xbf\x68\x0f\x75\xba\x99\xa2\xfc\x3f\x82\xa5\x4a\x98\xff\x1b\xc8\x17\x42\xd5\x73\x15\x1d\x1a\xab\xd4\xec\xe5\x56\xa3\x11\x84\x6e\x7e\x12\x02\x56\x0f\xef\x6e\x7e\xdb\x09\xad\xb8\x9b\x2f\x21\x65\x77\x5b\xfc\xb6\xfb\x19\xd3\xf0\xb6\x70\x2d\x34\x92\x40\x73\x01\xc2\xb4\xb1\xc7\xba\xb9\xdb\x22\xd3\x13\xe0\x02\xdc\x96\x10\x03\x30\x79\xe0\x0e\x50\x34\xf6\xb6\x64\x04\xb2\x76\x88\x3e\xb9\x5b\xcc\x0f\x60\x1b\xdc\x2d\xdf\xd6\x3d\x54\xd2\xea\x43\x74\xb7\x3c\x8a\xbb\x61\xa5\x9a\x41\xb7\xbd\xb1\xd4\x9c\xaa\x0f\xac\x5e\x6e\x25\x24\x77\xcb\x8f\x21\xff\x71\x37\x95\x4d\xdc\xcd\x9a\x39\xc2\x02\x78\x82\x89\xfa\xe8\x37\x21\x90\xdd\xdc\x78\x7e\x6c\x9b\xe9\x18\xb0\x99\xd1\xfb\xe4\x46\x2c\xe2\x00\x2e\xdc\xa1\x92\x2f\x9e\x7a\x64\xf4\x1a\x69\xc8\x8c\xbe\x4a\x20\x1a\x6f\x56\xfa\xe8\x6b\xdb\xdc\xe8\x1b\x0b\x11\x1f\xdd\x28\x5c\xa9\xdd\x28\xb7\x95\x20\xff\xc5\x68\x44\xdd\x28\x53\x48\x81\x56\xe3\x88\xa5\xcb\x8d\x12\xa7\x00\x92\x56\x31\xb2\x31\xcf\x1d\xbe\x99\x25\x2b\x61\xbe\x08\x73\x28\x45\xb4\xba\x51\xd8\x83\xa3\x54\x81\xcf\xe5\xb0\x96\x17\xaa\xf0\x31\xf8\x59\xd9\xfc\xe0\x61\xe1\x8c\xc1\xc7\x3c\x83\xc0\x12\x72\x63\x80\x25\x35\x86\xbe\xbe\x8d\x50\x46\x63\x90\x01\xc0\x02\x82\xa4\x52\xb7\xf3\x63\xa4\x53\x39\x06\xa4\x61\xc2\x94\x8b\x6f\xb0\x64\xdc\x18\xf6\x98\x51\x80\xca\x0a\x13\xed\x8d\x29\x6b\xeb\x15\x0f\xa5\xfa\x74\x80\x1e\x61\x8f\x68\x64\xbe\xe1\xb7\xba\x31\x5b\xe2\xbc\x9a\x8b\x30\xe6\x88\x71\xcc\x31\xfe\x71\x63\xa6\x6d\x35\xe6\x7d\x97\x38\x77\x7f\x6b\xcc\x3a\x11\x9e\xeb\xc7\x08\x9f\xb4\x43\x91\x27\x84\xe2\x46\xf5\xd0\x37\x46\x12\xe8\xe6\x81\x68\x82\x8a\x1f\x81\xa8\x83\x4a\x30\x1a\xd2\xfc\x5c\xde\xcd\x18\xee\x58\x6e\x58\x72\x30\x78\x6d\xaa\x6e\x6c\xdb\xb6\x66\x48\xcf\xf9\x95\xc4\x8d\x98\xe3\xb1\x13\xae\xc3\xdf\x58\xbd\x2d\x54\x66\x3f\xb8\xe5\xc9\x95\xdb\x92\x42\x45\x52\xfa\x34\x32\x60\xf9\x92\xdb\x92\x1d\xc5\xc6\x60\x92\xe6\x64\x9a\xe0\xe0\xc8\x9c\x9d\x20\xe1\x22\x93\xfa\x06\x4a\xab\x43\x16\xd9\xbd\x57\x27\x8b\xe2\xa1\x4e\xc8\xbc\x82\x9b\x25\x1c\x4e\x82\xe3\xee\x00\x11\x4e\x6b\x62\xaf\x48\x18\xe5\xb6\x14\x44\x4f\xa2\x85\x9a\x0f\x7e\x60\xea\x1a\xfd\x3b\x1f\x91\x0e\x4e\x89\x84\xd4\xfb\x2b\xcd\x16\x40\x47\x49\x40\xd5\x43\xb2\x9d\x0e\x30\x34\x77\x51\x4a\x62\xd3\x41\xb1\xfe\x8f\x4c\xb6\x48\xd8\x82\x89\xaa\x85\x50\x44\x5a\xe1\x3a\x75\x5a\x16\x1f\x59\x66\x5a\x33\xd5\xb8\x84\x14\x3d\x57\x0f\x70\xdd\x9b\x96\x90\xf4\x92\x62\x09\xe9\xf2\xa5\x7e\xb2\xf5\x20\x0d\xd6\xc4\x54\x76\xaf\xd7\x1b\x97\x6d\x24\x21\x55\x8c\x2c\xa8\x62\x50\x24\x24\xba\x4f\x12\xd2\x21\x91\xad\x43\xc3\x8a\x24\xfa\x25\x30\x6a\xa3\x95\x00\x19\x90\x28\x13\x66\x96\x44\xa1\x38\x0b\x56\x7d\x27\x71\xc2\x0f\x8e\x6a\x48\x4e\x62\xb4\x75\x57\xb8\xcd\x51\x25\x44\x27\x9b\x27\x66\xea\x03\xd9\xf6\xa9\x8b\xbb\x24\xf4\xd4\x1b\x88\xce\x01\x74\xf6\x73\x2f\x82\x72\x29\x18\x09\x2c\x07\x42\x59\xfc\x8e\x15\x2f\xd4\x78\x7e\x4d\xd6\x43\xb4\x92\xbb\x49\x6c\x81\x16\xbb\x55\xfc\xdf\x60\x3d\x3f\x9a\x89\x3f\x42\x8f\x70\x5b\xe3\xc5\x37\x9d\x9c\xec\xa1\x40\x75\x8b\x0e\x04\x08\x92\x8e\x03\x77\xb8\xc8\xc0\x61\xa0\xbd\x7a\x41\xa2\x68\xa8\x84\x19\xd6\xb9\xe8\x94\xe3\xec\x44\x67\x19\x2c\xbc\x64\x2b\x40\x03\xa6\xbf\xb1\x30\xe6\x3b\x17\xcf\x8f\x1e\x19\x7d\xeb\xaf\xc4\xeb\xdd\x2d\x54\x2e\x80\x9d\xb3\x74\xdb\xf9\xc5\x7d\x0f\xc7\xde\x76\xa2\xe7\xe7\x34\xf5\xec\xd8\x11\x2f\xfe\xfc\xdc\xa7\x1e\xa8\xbe\x25\xb6\xe1\xc1\x6d\x34\x8c\xfc\x93\x45\x01\x8f\xf3\x63\xe9\x2f\x3e\xbc\xd6\xce\xd1\xc9\x31\xfe\xc0\xef\xfc\x58\x58\x9f\x82\x81\x30\x58\xb3\xa2\x16\xdc\x25\x7c\xc3\xc3\x49\x85\x6f\x29\x35\xac\xb0\x7a\xa4\x41\xee\x1f\xdd\x7d\x94\xdf\xb2\x36\x6e\x88\xc9\x6f\xee\x68\x1c\x4e\x7e\xef\x32\xda\x02\x02\x96\x99\xfe\xde\x63\x2e\x3d\xa6\x73\x93\x1f\x34\xac\x6e\xc2\xfa\x38\x79\xae\x40\x4f\x82\x95\x72\x3a\x3f\x96\x5e\x08\x58\x15\x37\x79\xda\x7e\x6f\x44\xfd\xf8\x8d\x96\xbd\xd9\x83\xfa\x86\x87\xb4\xd9\x4d\x9e\xfa\x7c\xf2\x6b\x8b\xf4\xd3\x27\x38\xb2\x4f\x40\xe6\xb1\x76\x44\xdd\xb6\x10\x03\x82\xe0\x53\xf5\x85\x01\x1d\xe8\x6d\x83\x91\x37\xac\x6c\x0d\x2c\xb6\xc9\xdf\xb3\xa2\xc2\xfe\x00\x0a\xec\xbc\x49\xc4\xc1\x2d\x25\x1b\x0c\x4d\x3b\x4d\x50\x4f\x6e\x92\x48\x88\x80\xe2\x26\x2c\x6d\x4c\xa5\x69\x8e\xbe\x90\xb1\x7d\x0b\xa8\x41\xe4\x85\x82\xa4\xd4\xe7\x8a\x80\xc0\xe6\x97\x48\xc6\xf6\x3f\xc0\x35\x16\x51\xeb\x05\x8d\xb9\x36\xe9\x1d\x12\xb8\x2f\x36\x85\x19\x5d\x16\x6c\x9b\x68\x0a\x71\xbb\x80\xd3\xfc\x1b\x49\x1e\x33\x7a\x0a\xba\x79\x37\x71\x52\x4f\x5d\x49\x4e\xa1\x26\x29\xe5\x86\x29\xad\x6e\x8a\x7e\x9e\x05\x64\xdb\x48\xb8\x7c\x4c\x11\x6b\xd9\x14\xd1\x29\x9b\x6f\x05\xac\x65\xf2\x1f\x1a\x04\xed\x8c\x01\x96\x51\x72\x53\xcc\xea\x81\xe7\xbf\x6e\x8a\xe7\x27\x86\x29\xe6\xfa\x4e\x1a\x5f\xe3\x12\x31\x45\x18\xcc\xd5\x3a\x38\xb6\xef\x40\x5b\x99\x81\xc5\xc3\x53\x07\x67\xbd\xf1\x37\x26\x8c\x40\xb4\x07\x9a\x01\x6f\x97\x72\x49\x24\x02\x95\xb5\xcb\x2b\xda\x92\xb9\x41\x3c\xe5\x34\x22\xa0\x23\x80\xce\xfb\x94\x75\x7b\x81\xed\xf3\x4d\x59\xbb\xe6\x9a\xb2\x42\xaf\x51\xa3\x4f\xb9\x66\xc2\xac\x7e\x7a\x32\x10\xbc\xfc\x07\x79\xc3\x5a\xa8\x20\xe8\x5b\xf5\x33\xb5\xec\x74\xed\xf0\x4d\xea\xd3\x01\x13\x83\x4b\xef\xa4\xe2\x57\x60\xe0\x96\x19\x18\xae\x62\xdf\x98\x47\x88\x31\x70\x78\x55\xb6\x91\xa9\xda\x77\x02\xf1\x7c\x27\x21\x75\xe6\x25\x7b\x0c\xf6\x65\x18\x8b\x2a\xa7\x2e\x28\xfc\xd0\x77\xa6\x9c\x9f\x28\xe9\xfc\x5c\xde\x5e\xce\x6c\x42\xe6\xb0\x6b\x86\x60\xeb\xf9\xb5\xd8\xe0\x81\x2b\x15\x3e\x93\x9b\xe0\x0f\x69\xef\xbc\x76\x5b\x8a\x9b\xce\x2f\xd3\x02\x17\x6d\x8b\xd2\xd8\x98\xae\xfd\x8b\x89\xd5\x86\xc1\x43\xec\xef\x42\x86\xda\xf9\x2f\xb7\xb1\x26\x33\xd3\xd1\x43\xd1\xcd\x3e\xfa\xdf\x41\x40\x23\xf7\xb4\x68\x16\xcc\x3e\x15\x07\x13\xaf\x88\x79\xbb\xb3\x87\x53\x37\x7b\x8e\xc2\xec\x75\x84\x61\x31\xdb\x3e\xf0\xec\x0b\x7e\x05\x11\xa5\x12\x6c\xf3\x19\x1c\x37\xc1\x66\x19\xce\x0f\x74\x2e\xe2\x2b\x30\x18\xd1\xf3\x2b\x46\x3e\xfe\x5a\x14\xb4\x69\xed\xa4\x54\x3f\xbb\x59\xc6\xf3\xe3\xb6\x70\xdf\x68\x16\xf8\x02\xc8\x83\x16\x32\x68\x8b\xa3\x9b\x05\xca\x8e\x24\xcd\x58\x16\x66\xe1\x62\x6d\xaf\x7c\x67\x0b\x69\x14\x7b\x1d\x0b\x9d\x25\xff\x5a\xe2\x1b\x9d\x25\x71\x9b\x00\xbd\xc9\x50\xd9\x55\xe0\x87\x45\x36\x9e\x31\x15\x0a\xb1\xb3\xdc\x8c\x45\x00\x0b\xd1\x2c\xdc\x5e\x9e\x05\xb6\x94\x15\x0c\x1d\x36\xcb\x12\x94\xe4\x21\xc8\x35\x30\xa7\x80\x15\x88\x1b\x74\x4f\x8c\x6c\x2f\x33\x8a\x57\xc6\xd7\x76\xef\x2c\x6c\x6f\x87\xbe\xdb\xf3\x9d\x15\xa6\x47\xbd\x28\xee\xe0\x17\xed\xd9\x05\x19\x8c\xdb\xce\x8f\xc8\x8c\x37\x68\xe2\xef\xcc\xf9\x85\x71\x64\x8d\x93\x74\xd1\xeb\x6c\xc6\xbb\x29\xf0\x71\x2e\xe5\x49\x2f\x6b\x74\x86\x51\x03\xd3\xd7\xcd\xb2\x9f\x1f\xb7\xf5\xa2\x55\xcf\x8f\x99\x25\x2b\x96\x20\x12\xfa\xca\x73\xdf\x97\xfb\x41\xcb\x9b\xbc\xf0\xdc\xe5\x45\xa8\xe4\xdc\x2c\x85\x52\xca\x3d\xb9\x0f\x16\xfd\x3f\xb8\x72\x4d\x96\x57\x0c\xa7\x0c\x83\x92\xd6\x1f\x0c\x6a\x20\xff\x61\x2f\xa1\x29\xb7\x65\xf3\xb7\x9e\xf4\x11\xd2\xd8\x35\xe3\xff\x11\x2e\xd6\xe3\x45\x62\x7c\xf6\x52\x91\x7a\x80\xf4\x26\x97\x1d\x42\x44\x46\x31\xf8\xe0\xaa\xb7\xda\x58\xe9\x2d\x8d\x7d\x34\xd1\x93\x7c\x52\x15\xeb\x98\x9b\xe5\x61\xd2\xf6\xe8\xa1\x8b\x70\x46\x3c\x7a\x09\x8f\xc0\xd6\x3e\x68\xc0\x91\x51\x23\xb4\x76\x8c\xe9\x05\x1c\x30\x98\x92\x9b\xc3\x50\xdd\x1c\x50\xdd\x30\xc3\x80\x9e\x03\x22\xab\x57\x15\xc7\xe5\x79\x86\xb5\x27\x2f\x12\x64\x04\x72\x7f\x74\x8e\x79\xc0\xac\x8f\x19\xae\xd2\x1c\xa9\xcb\xde\xc8\x32\x04\x4d\xf6\x80\x73\x23\x79\x0c\x75\x86\x5c\xe7\x38\xb9\x39\xd7\x7a\x41\xbb\x8b\x26\x69\xea\x66\xf5\xc3\x0b\xf0\xd6\x93\x8c\x8e\x2b\xc7\xac\x3e\xa1\x0d\x8a\xda\xa9\x27\xd7\xc4\xcd\x2a\xe9\xb8\xf6\x86\x19\x90\x17\x09\x82\x25\xda\xf6\xb7\x7f\x20\xf4\x92\xed\x6b\xcd\x1a\x12\x3b\x4a\x33\x23\xcf\xcf\xf3\x5f\xc4\xe6\xf3\x5f\x73\x19\x8c\xdf\xba\x5a\x05\x4f\x27\x82\xdc\xdd\x5b\x24\x7b\x49\xcf\x2f\x24\x86\x86\xfe\x0f\x9a\x72\xd1\x96\x0e\x16\xd5\xf6\x5d\x9e\xa4\x6d\x5b\x70\x73\xa3\x98\x50\x43\x9e\x5f\xca\x09\xdf\x20\x20\xdc\x75\x5c\xe0\x69\x02\x2e\xef\x75\xf1\x03\x87\xdf\x56\xfc\x0b\x03\x7e\x60\x56\x04\xcf\x8f\x38\xf1\x5d\x34\x73\xf1\xb1\xbc\x00\x36\x2f\xe3\xea\x0f\x10\x25\x81\x72\x5c\xfc\x36\x34\x6e\xa1\x2d\x30\x79\x40\xd2\x48\x90\x48\x02\xf5\x93\x56\x94\x93\x78\xbe\xfd\x62\xae\xd3\x03\x30\xb0\x09\x16\x72\x15\xb3\x1c\xcc\x43\x74\x75\xf4\xc8\x17\xaf\x5b\x86\xd2\x59\x7c\x21\xa0\x7a\xe8\xcc\x85\x87\x79\x20\x7b\x35\xfc\xa7\x79\xad\x81\xb9\x37\xa6\x2a\xd7\xd9\x1e\xf8\xde\x80\x56\xae\xe2\x5a\xb9\x12\xd7\x0e\x9c\xe2\x0b\xcc\xb5\x85\x4e\xfe\x22\x01\x86\x02\x29\x2b\x0b\xd5\xbb\x48\xdc\xdc\x22\x1b\xb8\x94\xf0\x50\x7d\x2b\xaf\x23\xee\x05\x4e\x57\x7d\x23\xe3\x0b\xe4\x85\xfa\x02\xb1\x93\x22\xb0\x4f\x13\x61\x81\xbf\x02\xc8\xcc\xf1\x80\x06\xf2\x60\x1b\x7e\x11\x0d\x97\xdf\xe2\x78\xf2\xf2\xc4\x6d\x43\xbf\x5f\x84\xdb\x56\x4b\x80\x69\x6a\x62\x66\x3c\xe3\xb8\xe3\xbf\x04\xf8\x28\x0b\xe6\xac\x5b\xf2\x6d\x79\x60\x0d\x57\xb2\x07\xeb\x90\xb9\x31\x06\x3b\xa6\xff\xcc\x4b\x5b\xce\xcf\xe9\x55\xd1\xf3\x73\x11\x62\xfc\x0b\xa1\x5c\xe5\x48\x2d\xb8\xe4\x78\xb8\x25\x53\x4e\x72\x0a\xb3\x5b\xb2\x86\x03\x96\x10\x6f\x31\x2c\x59\x35\xe3\x11\x86\xd9\x00\x22\xbe\xb4\x01\x3f\x18\x8b\x18\x76\x75\x4b\x9b\xdc\x02\xd7\x19\x05\xd0\xae\xbd\x48\x5b\x20\xd2\x5f\x11\xef\xb6\x0d\x79\xb1\xd5\x1d\x28\xa6\x4d\xf1\x4c\x79\x61\xc1\x2d\x0d\x8e\x9b\x5b\x30\xf4\xe7\x57\xb5\x0c\x41\xc2\x28\x84\x54\xed\x6c\x33\x8c\x21\x57\x17\x62\x6c\xf4\xe0\xc8\x5c\x66\x59\xd8\xf6\x18\xd6\x27\xdf\x62\x79\x92\x34\xca\x6f\x20\x9d\x05\x17\xd2\xcb\x10\x86\x5b\x91\x02\xd4\x5a\x48\xf3\x43\x40\x28\x9e\x50\xd0\x89\x57\x32\xa8\xaa\xf1\x52\x91\xb5\x92\x44\xe0\x2e\x6b\xcf\x80\x6c\x56\x72\xe1\xaa\x0b\xed\x12\x26\xaf\x21\xad\x9d\xa9\xed\xc5\x5c\xa9\xd4\x76\xf7\x20\x10\xb4\x85\xd3\x41\x3e\x95\xde\x60\x08\x0a\x6f\xa0\x98\xc8\x48\xfd\xc1\xdc\x61\x47\x1a\x17\xe4\x01\x2e\x6c\xd7\xab\x77\x41\x59\x2c\x49\x43\x71\x41\x39\x7d\x43\xe5\xfd\x12\x51\xf7\x0b\xde\xae\xfb\xe5\xe7\xf1\x1d\xcc\x42\xf8\x05\x53\x0e\x20\x34\xff\x8c\xa3\x30\x82\x5d\x78\x2e\x65\xfc\x21\x4b\x02\xb7\x7b\xcb\xb3\x6c\x21\xb9\x5f\xfe\x38\xdc\x2f\x81\xf1\xfa\x4b\x64\x77\xbf\xa4\x1e\x98\xc0\xbf\x72\xd3\xe4\x23\x2c\xac\x5f\x6d\x96\x34\xba\x5f\x10\x08\x22\xfd\x86\x5f\x2d\xad\xee\x57\xd3\x3f\xee\x17\xd4\xc2\xe1\x7e\xb5\x87\x44\xb7\xd2\x44\x7e\x43\x9e\xe1\xae\x7e\x08\x09\xbe\xe5\x7a\x7e\x4c\xa2\x4f\xe2\x27\xf8\xbc\x08\x85\xd9\xad\x3e\x14\x46\xfe\xa2\x7a\x5e\x7d\x1c\x00\x42\x43\x6e\xf5\x71\x45\x42\xb8\xde\x17\xf1\x1b\x0b\xd9\x44\x3d\x48\x48\xc0\x8d\xc0\x37\xec\x5c\x80\xcc\xf4\xff\x87\xe7\xc7\xb6\x5b\x95\x92\x8f\x2f\x1c\xc3\xe8\x2b\x98\x60\x5b\x8d\xab\x4f\x99\x59\xa6\xe6\x56\xbf\xc3\x79\xc7\x10\xae\x7e\xa7\x0b\xb7\xfa\x1d\xa3\x66\xf4\xfc\x48\xc6\xb0\x96\x58\x95\x56\x8f\x69\x54\x1b\x8a\x51\x3a\xa4\xeb\x75\x9a\xbe\xc2\x31\x78\xc3\xcc\x23\x1b\x72\x09\xb5\x2b\x88\xae\xac\x60\x5d\x64\x54\xcf\xd2\xa0\x87\xbe\x63\x9b\xdc\x2a\x6b\xb9\x00\x1e\xca\x3b\x49\x2f\x8a\xee\x12\x8d\x4f\x60\x10\x79\x70\x19\x5b\xa5\x59\x83\x03\xdc\x76\xd2\xd5\xad\x41\xd8\x47\x4f\x52\x2e\x48\xe3\x0f\x10\xe5\x61\xab\xb1\xdd\xeb\x41\x80\x46\xd3\x0a\xeb\xaa\x83\x62\xa6\xaf\x81\xdb\x58\x6e\x35\xfb\xea\x45\xaa\x5c\x18\xb1\xb4\xad\xd1\xfa\x31\x7a\xb5\x8c\x22\x9d\xa8\x6f\x24\x99\x44\xc0\xbb\xec\x11\x47\x30\x81\xe0\x79\xe6\x1a\xfd\x3d\x30\x24\x61\x7c\xc7\x2b\x8e\xbb\x68\x0a\x6b\xf2\x79\xe8\x7e\x31\xa5\x3b\x99\x08\x27\x6b\x2a\x8f\x3f\x57\xcc\x53\xd4\x06\x5a\xaa\x93\x98\xc8\x04\x3e\xb5\x4a\x67\x08\x5a\x6c\x13\x52\xb6\x6d\x67\x05\x3b\x4d\x58\x73\xd7\x04\x1d\xb1\x62\xee\xaf\xe9\xfc\xbc\x2d\x90\x80\x94\x6d\x1c\x12\xdf\xbe\xb0\x20\xc3\x94\xd9\xab\xa9\x61\x41\x74\x6b\x1e\x60\x0f\xae\xf9\xb6\x10\x18\x35\x71\xa0\x48\xa8\x24\xd7\x8c\x65\x66\xcd\xbf\x32\xfa\x34\x43\x46\x72\x8c\x7e\x37\x2a\xa8\x7d\x8e\xd4\x3e\x6b\x8e\x6d\x83\xa8\xe7\x6d\x08\xc9\xb4\xe5\x9a\xb7\x29\x6b\x05\x0d\x55\xf8\x6c\xf3\x69\x84\x02\xb5\xbd\xed\xea\x95\x5c\xb0\x53\x13\xb0\x79\xb4\x74\x2d\x5d\x3a\x7f\xcd\xdb\x1e\xe5\xb7\xd1\x40\xad\xba\xe6\x34\x09\x2c\x4c\x72\x31\xac\x8c\x9a\xa1\x50\xdd\x7a\x7e\x62\xe9\x33\x02\xa1\x25\x63\xc6\x29\xf8\xc4\x86\xa6\x22\xff\xb4\x9e\x41\xc9\x6c\x23\x95\xf6\xda\x8b\x4c\xd5\x5b\xa6\x55\x7e\x1b\x0d\xa9\x97\x5c\x33\x51\xe1\x89\x93\xe1\x65\x93\x35\xa7\x3b\x96\x33\x7b\xfb\x90\x74\x2d\x5f\x0c\xed\xd5\x28\x3b\x03\x43\x92\xf7\x89\x16\x11\x98\x14\x78\x37\x05\x2c\x7c\x1f\xd8\x25\x6b\xde\xd9\xa7\x3a\x00\xd8\x08\xdd\x39\x34\xca\xbe\x57\x0d\x63\x46\x90\xeb\x2b\xc8\xf9\xb5\xb9\x55\xfd\x00\xb9\x50\x78\x41\xc4\x02\xc5\x00\x16\xfe\xe6\xaa\xe7\xc7\xc2\xc7\x89\xb0\x76\xb3\xa8\xf3\xbc\x66\x41\x3b\xa2\x47\x3c\xfa\x5b\x3e\xad\x36\x7b\xfe\xce\xf5\x37\xea\x01\x44\x93\x54\x7a\xcb\xc1\x40\x79\xa9\x0c\x28\x45\x46\xbe\x00\xc3\xe8\x0d\x23\x75\x90\x4a\x3b\x0c\x99\x5b\x90\xd9\xd0\x42\x5b\x48\x5d\x27\xa9\xcd\x0d\x9e\x83\x03\x2b\xa7\x80\x86\x1a\x56\x3e\xa6\xb6\xd5\x36\x3f\x81\xca\x80\x27\xdd\x6e\xed\x2a\xaa\x13\x46\x26\x1e\xed\xae\x0d\xe6\xcd\x85\x90\x93\x2f\x6e\xab\x92\x3e\xa7\xf7\x8f\x00\xc7\xac\x45\xb6\x10\xd3\x32\xbe\x48\xa2\x36\xa1\x37\xb1\x9e\x5f\xa9\x70\x87\x9e\xe1\x3e\x20\xcd\x16\x0f\xf8\x1e\x11\x49\x74\x40\x77\x34\x25\xdc\x51\x55\x4a\xf2\x57\xaf\x3d\x48\xf4\x43\xd6\x17\xfe\xd1\x90\xea\xe2\xb8\x99\x01\xe5\x11\xed\xc4\xef\x8d\x14\xd7\x8f\x8d\x9e\x64\xdb\x00\x3b\xf2\x4a\xe3\x0b\x84\xe7\x3a\xd1\x3f\x77\xdb\x7e\xb0\x7c\x99\xa7\x33\x08\x1e\xc0\x7d\x67\x21\x7b\xcd\xbb\x8b\x1e\xcb\x70\xc4\x74\xe8\x40\x3b\xc6\x71\x60\x0d\xce\x0f\x5e\xfa\x8c\xbe\x55\xdb\xe9\x61\xe0\xee\x01\x42\x5f\xc6\x2e\x08\x13\x0b\xaf\x68\x75\x7e\x0b\xb5\xf6\xc7\x16\xf5\xc8\x0b\x82\x23\x83\x58\x09\x2f\x9c\x79\x5c\x14\x65\x51\x66\xc4\xed\x88\x27\x09\xc3\xe3\xda\xf5\x89\x76\x24\x48\x52\xfb\x56\x02\xf5\x78\xea\xe4\x6a\x39\x4f\xf6\x88\x7c\x62\x87\x62\xdc\xb6\x12\xf7\xdc\xbd\xea\x77\xbc\x22\x6f\x26\x01\xc1\xb7\x9a\xa0\xe3\xa2\xdc\x51\x75\xfa\x88\x91\x9b\x09\x6f\x58\xec\x0e\x17\xf8\xc5\xb3\x71\x41\x06\x6e\x4f\xd2\xd1\x8f\x5c\x33\x59\x42\x40\x65\xc2\xec\x5d\xe4\xc9\x41\x84\x1d\x08\xe4\xf5\x00\xf9\xc6\x25\x3e\x4f\x2b\xb1\x00\x31\x5b\x88\xc9\x2e\xe5\x44\xab\x3e\x2a\xcd\xb9\x19\xc3\x01\x2d\x18\xf3\x80\xdf\xf0\xc7\xf1\x3a\xaa\x6d\x2b\xc4\xf3\x93\x56\x45\xcc\x73\x58\x81\xd9\xc5\xbc\xfa\xf8\x44\x1d\x04\x15\xcf\x05\x49\x8b\x89\xc9\xe7\x03\x2f\xf2\x3a\x0a\x97\x2e\x00\x37\x77\x5a\xe1\x83\xd9\x10\x86\x45\x6c\x4c\x44\xb9\x6a\x10\x9c\xf6\xbb\x15\xb7\xf9\x1b\x7e\x10\x91\x8d\xfb\xd2\x9b\xe7\xd5\x86\xe7\xa1\xfc\xe6\x67\x7f\x04\xd2\x20\x86\xfa\x22\x4b\xa4\x31\xbb\xf9\x80\xac\x7e\x49\xa1\xc1\xb5\xf9\x55\xda\xee\x36\x1f\x99\x68\xf3\xff\x85\x74\x1d\x2f\x6e\x76\x57\x9a\x1b\x58\x4f\xe8\x42\xb1\x79\x70\xb4\x78\xfa\xcd\xca\x17\x69\x05\xda\xa9\xa2\xa2\xda\x2b\xaa\x18\x96\x17\x59\x3b\x2a\x09\x72\xd3\x4d\xa2\x1f\x19\x0d\x77\x6a\xe3\xe6\x82\xdb\x7c\xb9\x2d\xf6\x8e\x31\xc8\xab\xf0\xed\xf3\x5f\xb0\x05\x6c\x65\x4a\x5e\x74\x41\xf9\x75\x11\xf8\x3e\x2b\x58\xa5\x75\xb7\x79\xab\x67\x63\x81\x2d\xd6\xd0\x19\x1e\x63\x6e\xbe\xa9\x85\xd1\x51\xbf\xc3\xd6\x36\xb7\x71\x13\x96\xaa\x74\x93\xd1\x73\x6f\x66\x93\x31\xa0\x02\x32\x06\x58\x4a\xe8\x20\x19\x03\x07\x40\x98\x6e\x89\x6e\xeb\x27\x8a\xd7\x8d\x9e\x4d\x62\x1e\x31\x38\x4f\x8a\x41\xde\x38\xb7\x3a\x79\xba\xb7\x9b\xa4\xf3\xcb\x6d\xbc\xd9\x61\xc4\xb6\x7e\xc1\xf6\xed\xcc\x4d\xa8\xe6\x41\x76\xca\x85\xd4\x05\x76\xc2\x1b\x3d\xb0\x52\x6c\x41\xd0\xe0\xb0\x6a\x9e\x72\x72\x5b\x88\x28\x8e\x1d\x19\x52\xaf\x59\x48\x8d\x69\xfa\x31\x09\x4c\x8f\x41\x79\xbd\xf4\xb2\x42\x36\x38\x31\x5b\xa8\xcf\xeb\x16\x5b\xa8\xd7\xd6\x35\x58\xce\xcf\x2d\x54\x9a\x82\xd0\x4f\x7e\xb6\x43\x4d\xe3\x0b\xa9\x18\x5a\xa4\x68\x82\x24\xe3\xc9\x6f\xb7\xe5\xc1\x6d\xe7\x27\x1c\x1e\x1a\x3b\x00\xb2\x18\x87\xf3\xf3\x75\x1d\x63\xcb\x4b\x72\x5b\xb6\x2e\xcf\xc9\x43\xb2\x3e\x13\x2a\x9a\xd1\x3d\xd9\xce\x4a\xf8\xcc\x9a\x96\x53\xeb\x89\x73\x71\x5b\xd6\x11\x2f\x28\x34\xe5\x93\x66\x1d\xdf\xec\xad\x2d\x2b\x56\x78\x23\x6f\xf7\x85\x36\xee\x0b\x6c\xb9\x86\x3b\x10\x82\xf9\x42\xf5\xc8\x97\x13\x7c\xe3\x32\x09\x82\xd1\xf9\x89\x2c\xf7\x2b\xc6\xc5\x47\x34\xb3\x25\xbe\x87\xf5\x63\x6b\x90\xfb\xe4\x36\x5e\xff\x88\xa0\x02\xe9\x6b\x05\xe2\x0b\xc4\xbb\xad\xac\xc2\xac\x4a\x0c\x08\x55\x8b\x34\x52\x5d\xdf\x0c\xbc\xc8\x1f\x3c\x08\xc8\xe5\x4f\x5d\x72\x71\xe8\x71\xbf\xf0\xca\x27\xd8\xc1\xeb\x45\xfb\x54\x46\xc8\x8e\xbc\xc0\xd9\xd8\x91\xb5\x8d\xf2\xef\xdc\x37\xe4\xd6\x54\xe2\xd7\x25\x76\x70\x99\x3c\x1f\x6d\xc8\x6a\x77\x89\xc7\xb7\xc9\x17\x83\x44\x8d\xda\x2d\xe2\x44\xa5\x9b\x04\xa3\x7f\xe1\x34\x89\x4b\x62\xb7\x0f\x92\x20\x91\xe8\x9d\x20\x69\x0d\xf5\x60\xa2\x52\x5d\x92\x7a\x10\xb8\x75\x97\xa4\x51\xe3\x25\x69\x5c\x35\x92\xed\xa4\x93\x14\x97\x02\x56\x48\x6e\x78\xa6\x30\x63\x6e\xa4\x40\x5b\x23\xe5\x94\xc4\xa5\xac\x58\xef\x52\xae\xf8\x09\x61\xc8\x79\x05\xc3\x93\xeb\x94\xe1\xa2\x3f\xf1\x21\xcf\x5d\xf7\x3c\x88\x4e\x66\x75\x90\xe7\x2e\x7c\x2e\x85\x01\xdb\xe4\x97\x68\x01\x24\xfe\x25\x2b\x48\x31\xe8\x8e\x1d\xfc\x8b\x34\xd8\x55\x14\xae\x31\xe9\x75\xe4\x9c\xa7\x29\x1c\x68\x58\x5e\xf8\xd3\xc0\x44\xd1\xe5\x18\xee\xe2\xf2\xe6\xed\x67\xc5\xec\xde\x65\xd8\xc5\x00\xeb\xe1\x77\x6e\xe2\x13\x43\x8b\x52\xe8\x76\x97\x75\xc4\xbc\xe6\x95\xcb\x50\x7a\x6a\xc5\x48\xc2\x5b\xe1\x8f\x76\x75\xb6\x83\xd8\xdc\xea\x84\x9a\x1d\xe2\x93\xe3\x7d\xa3\xdd\x8f\x6e\xf7\xab\xd4\x27\xd2\xf2\xd9\x7d\xdc\xc4\xed\xd0\xa0\x40\x98\xb2\xbb\xdf\xfd\x13\x82\x45\x30\x25\x3c\x4e\x23\xf0\x88\x77\xaf\x13\x2c\xf8\xdd\xeb\xfa\x04\xfb\xf6\x03\x4c\xe2\x8b\x5a\xff\xb8\xdd\x97\xf2\x02\x5b\xf4\xc8\xa5\x4a\xca\xf3\xe0\xdd\x17\x4c\xd7\xdd\x57\xfa\x99\xbb\xaf\x9a\x1b\x95\xf9\xee\xb1\x0c\x77\x94\xc0\x5b\x31\xef\x0c\x8f\x2f\x76\xd1\xa9\xef\x82\xed\xa2\x01\x4a\x6a\x17\x8d\xc4\x62\x91\x25\x27\x1f\xbf\x33\xe7\x67\x7a\x0e\x22\xc2\xdc\x48\xbb\xf3\x25\xd3\x16\x3b\x84\x78\x9f\xd0\x75\x1d\x20\x8a\x24\xdd\x24\xdf\x27\xaf\x58\x93\xf6\x49\xe8\x88\xee\x93\x84\x49\x48\x22\x50\x47\x43\x1e\xfc\xf8\x74\xb8\x7d\x0a\x5a\xe0\xd8\xed\x93\x59\xa6\xa0\x6d\x23\x85\x73\xba\x4f\xa6\x22\xf7\x09\x52\xbe\x4f\x0a\x69\x40\x39\x50\x46\xfb\x64\xd7\x7f\xf7\xe5\xfc\x48\x50\xb3\x6e\x5f\xae\x1b\x19\x3b\xf7\xc2\xf7\x25\xc4\x5c\xf2\xbe\x30\xe6\x0f\xb4\xd3\x1e\x6e\x2b\xfc\x35\x67\x83\x19\xe2\x6c\x04\xbd\x13\x62\xae\xc0\xc3\xed\x21\xcd\x2d\x24\xd0\x82\x21\x0c\xea\xf1\x04\xa6\x17\x30\x33\xf5\x71\x78\xb7\x47\x1f\x46\xe0\x8a\x04\x11\xf2\x15\x7d\x12\xf2\xd5\xc6\x32\x72\x15\xff\x46\xb8\xa7\x88\x72\x23\xbc\xae\x0b\x5b\x71\xbb\xf9\xf1\x7b\x1e\xf1\x83\x36\xdc\xb3\xb0\x3d\x19\x79\xd2\x6c\xdb\x33\xb4\xeb\x9e\xc1\x45\xf8\x4d\x17\xb5\xd8\x70\x48\x30\x8a\x65\xf0\x9d\xe1\x5c\xd8\x73\xfa\xe3\xf6\xac\x26\x1d\x59\x2b\x17\xe8\x3d\xa3\xb7\x72\x09\x3d\x9a\x2f\x74\xe0\x35\x1c\x30\xb6\x59\xb5\xeb\xf9\xa1\xc1\x68\xe1\x0e\xb0\xdb\xe1\x19\xb2\x1f\xe9\x15\x3e\x11\x66\xce\xae\xc1\x7c\xd2\x5d\x03\x06\x1c\x28\xa5\xa0\x6f\xc1\x86\x1d\xf4\xee\xeb\xf5\xbd\x12\x42\x21\xca\xec\x76\xcd\x83\x10\xa3\x6c\xa0\x63\x5b\xeb\x45\x59\x4b\xb0\x87\x95\x9f\x27\x29\x05\x33\x46\xf3\x04\x51\xd3\x6c\x97\x48\x77\xcd\x54\x60\xbb\x66\xfb\xd2\x6a\xd7\x5c\x29\xc6\x9a\x6b\x5e\x73\x64\x5a\x54\xe8\xa2\x96\xf3\xf9\xc5\x3b\x55\x2f\xa6\xfc\xb9\x2d\x81\x9e\xf2\xde\x86\x18\x56\x8c\x4c\x9b\x26\xb7\xb7\x18\xf3\x9d\xd1\xd1\x08\xdc\xb3\xbd\xa5\x95\x50\xdf\x91\x9f\xac\xed\x3c\xae\xda\x1b\x46\xbc\x1d\x07\x04\xe9\x8f\xfa\x2d\x8c\xe2\xfe\x69\x7e\x84\x9c\xfd\xd3\x7c\x24\xd8\x5e\xe3\x3f\x8d\x5b\x8d\xea\x87\x21\x00\xc1\x62\xb2\x63\x1d\x57\x3f\x7a\x05\x86\xec\xd4\x2f\x98\x03\x0a\x85\x26\x2f\x82\xfa\xf0\x16\x3b\x10\x6f\xa4\xd9\x29\x96\x35\x60\x10\xed\x86\x1b\x77\x43\x50\xba\x7a\xbe\xd6\xef\x27\xa8\xaf\xfd\x5c\x45\x29\xbf\x66\x69\x71\x6b\xc9\x40\xfa\x25\x13\x95\xab\xbe\x8a\x65\x31\x3a\x78\x89\xb4\x29\x95\x67\x46\x2a\x37\x9e\xff\x38\x95\x51\x08\x78\x47\x46\xa7\xd2\x77\x82\x54\xa6\x28\xbf\x2d\xaf\xd9\xc7\x17\x4a\x47\xcb\x6c\xe6\x8b\xb3\x24\xbb\x91\x48\xb6\x7f\x09\xa1\x02\x75\xda\x93\xf5\x8c\xcc\x6a\x54\x59\x9c\xed\x20\xbd\x61\x65\xfd\xc3\x6d\xe1\x15\x38\xc7\xfb\x2f\x2f\x4c\x94\x68\x63\x2c\xcb\x50\x08\xf2\xbf\x31\xb1\x79\xe1\xfc\x17\x78\xd8\x9b\xd1\x3e\x0c\x55\x81\x57\x48\xd2\xab\xc7\xcd\xac\x17\x61\x2d\xb0\xa6\xc0\xc8\x50\xc1\xf4\x64\x1d\x4c\xe6\x9c\xc2\x3d\x65\x3e\x85\xa7\x0a\xbd\xa9\x9c\x85\xe8\x3f\x13\x71\xcc\xbb\xdc\xf4\xc6\x74\xd5\x37\xc5\xd2\xa2\x52\xab\xa5\xbe\xe8\x3d\xc7\xd6\x47\xee\x9e\x29\xbb\x2a\xdc\xe7\x32\x62\x4f\x3a\x07\x05\xa2\xcb\x9f\xba\x6c\xad\x38\x1a\x55\x48\x1e\xec\x32\x55\x10\xf7\xbc\xc9\xaa\xbc\x23\xc1\x25\xdf\x36\x7a\x34\x94\xb0\x66\x10\xbc\x58\xed\xbd\x0a\x01\xe7\xf4\xd6\x3c\x64\xc6\xe5\xdb\xea\x14\x16\x43\x07\x4a\xfc\x13\x4b\x6d\x0b\xde\xd8\x7c\x32\x84\xd6\x53\xe8\x2c\xcd\x75\x95\x25\x52\x6b\x6a\x86\x67\x00\x84\xc7\xa0\x6d\x08\xc9\xf1\x8a\xaf\xad\x5f\xc9\xe8\x2a\x28\xa0\xdd\xd6\xe2\xaf\x47\xfc\xee\x88\xdc\xd1\x66\xa7\x0d\x86\xa1\xb6\xc9\x69\x83\x28\xb4\x65\x73\xda\x2c\xcb\x6d\x9f\x9e\xc8\x96\xda\x4e\x91\x36\xa8\xba\xe7\x67\x85\x6a\x97\xd9\x5d\xf1\xbe\x3a\x16\x53\x60\xb0\x96\xf3\x63\x46\x64\x64\x6c\xcc\x09\x78\xb8\xe2\xb7\x0d\x8b\x01\x29\x5e\x2f\x98\xa7\x00\x1f\x85\xf4\x01\x91\x2d\xfd\x7a\x6d\xf1\x8a\x24\x3c\x95\x42\x3e\x35\x20\x1f\x6e\xb2\xf0\xba\xf0\x3b\xb4\x1b\x32\x68\x30\xe5\xf2\x34\x21\x8b\xc6\x2c\xdb\x46\x5e\xc5\x95\x9b\x4f\x0e\x06\x35\x4a\xb8\x2d\xe7\x07\xda\x8e\x30\x9a\xf5\x4e\x27\xa2\x3d\x43\x1e\x6f\x04\x03\x68\x0c\x6b\x7f\xe3\xe9\x36\xa9\xa6\xd0\x9f\xd1\x95\x32\xa6\xcb\x2d\x03\xc7\x3b\x69\x53\x2f\xbb\xad\x17\xb3\x19\xb1\xad\x96\x17\xdb\x33\x7d\x0f\x48\x18\xe4\x3b\x1d\x7b\x29\x12\xd2\x03\x06\x51\x4f\x76\xfe\x6b\xcf\xb5\xa7\x53\x23\x2d\x91\xd2\xda\x20\x5d\x8b\xb5\xf6\x8d\x93\x9e\x09\x3f\xd6\x02\x9d\xa6\x77\x12\xc7\xef\x64\x55\xde\x48\xe4\x0e\xc0\x6a\xcd\x8f\xd6\x8f\x2f\xe2\xd3\xc1\x2d\x15\x0b\xf5\x83\x8b\xae\x71\xff\x46\x7a\x36\x76\x14\x68\x51\x07\xaf\xb8\x93\xdf\x36\xa3\xe9\xca\xb1\xd9\xb0\x46\xe9\xe3\x10\x69\x8f\x91\xd9\xf7\x1e\x15\xe4\xfc\x77\xea\xe3\xcf\x0f\xb9\xf8\x4d\x73\x29\xa4\xad\xf7\x47\x6c\x3a\x5d\x65\x7f\x95\x62\xa3\xf1\xc6\x72\xd3\xfb\x1b\xc5\x5c\xa7\x63\x83\x10\x66\x61\xb9\x2d\x89\xc7\x84\x60\xce\x8f\x7d\xe7\xa4\x65\xec\xce\xc2\x92\xb0\x6a\xbc\x9a\xd1\xa9\xad\x9e\x08\x34\xfd\x4e\x94\x9f\xa3\xc2\x75\xb1\xac\xb1\x98\x7b\x13\xbb\xf3\xd3\x6e\x76\x21\x56\xe1\x5a\x07\x16\x93\x6b\x17\x54\xee\xff\xbe\x53\xfb\xb4\xd4\xbe\x64\xfc\x2b\x19\xfa\xf7\xe3\x3d\xf4\x4c\x3c\x54\x5e\x4b\xbd\xae\x69\xfe\x8d\xe6\x3a\xc5\x90\x4c\x0c\x34\x5b\x64\x1b\xae\xaa\x36\xbe\xdc\xa2\x1f\xd8\xc7\xd6\xe9\xcd\x24\xe8\x49\xac\x51\x5f\x5d\xd0\x9f\x4c\xbb\x26\xde\xf9\xa5\x87\xe5\xd6\xdf\xb7\x31\x7c\x98\x8f\x47\x53\x3b\x0e\x9d\x49\x9d\xcc\x72\xb9\xd1\x0c\xeb\xd6\xa9\x65\xf4\x90\x30\x75\x9a\x2e\x2a\xd7\x25\x5c\x0b\x9f\xff\x1a\xa3\x76\x58\x61\x7c\xa7\xa5\x57\xec\x11\x44\xbb\xd7\xf9\x97\xd0\xb6\x0d\xcf\x8e\x7f\x3c\x05\xff\xc1\x11\xce\xad\xba\x02\x71\x10\x89\x44\xee\xe3\x15\xda\x02\x85\x26\x00\xef\x3d\x97\xc7\xf9\xa5\x97\x63\x5b\x64\x49\xf6\x2d\x48\xe1\xc7\x1a\xc5\x64\x1d\xae\x07\x3f\xe8\x7e\xc7\xd4\xb7\x81\x8b\xac\x2a\xf5\xfc\x50\x70\x5c\xf3\x8a\xc4\xa1\x54\x6e\xbe\x14\xd9\x7a\x53\x24\xf1\x6a\x5f\xe1\x67\x54\x96\x2a\x15\x46\xd8\x19\x14\x97\x63\xe8\x5a\x2e\xcb\x95\x19\xdb\xcc\x90\x36\xc1\x8b\x2c\x8b\x5f\xc5\x95\x45\x78\x75\xaa\x2c\x59\x6b\x01\x79\xb8\xb2\xb4\x5a\xd1\x46\x9e\xbb\x9a\xdc\xfe\x64\xf9\x25\x80\xdd\x85\x2b\x41\xec\x56\x50\x09\x62\x80\xdc\xc3\x0c\x27\x0e\x24\x4c\x61\x85\x63\x55\x02\x87\x1c\x88\xe7\x71\xc9\xcd\xea\x15\xd0\x8f\x41\xa9\xc1\xb0\x10\x5b\x73\x82\x7d\x82\xfb\xa4\xab\x8f\xde\x95\x55\xa2\x40\x62\xd7\x80\xdf\x01\xd9\xb0\x1d\xd2\xb2\xb6\xb8\xc3\x46\x29\xd1\xdf\xc5\x95\x18\x76\x57\x36\xaf\x7e\x1e\x5d\x49\x5c\xf0\xb8\x01\x5d\xf2\xe8\x5d\xc9\xd3\x0b\xea\xc3\x43\xe1\xe6\x25\xb9\x92\xe3\x88\x95\xf0\x22\x26\x01\xdc\xde\x20\xa6\xeb\xef\x06\x2c\xd4\xbf\xa0\xb4\x80\x79\x85\xc6\x9b\x8a\xef\x81\xc6\xbb\x3c\xf6\x96\x42\x0b\x1a\xee\xde\x3e\xc6\x28\xbb\x87\xe0\x5e\x88\x89\xb2\x0b\xaa\xbb\x0b\x0a\xdf\x79\xb4\x60\x4c\x91\xe2\xd1\xa9\x7b\x30\xa9\xb3\x25\xe8\x85\x4c\x16\x24\x9a\xf7\x46\x96\xb7\xc3\xc1\x31\xf7\xc0\x96\xec\xec\xdf\x9d\x37\x88\xfe\x42\xb8\xe9\x54\x60\xe8\xb9\xb2\x9b\x5d\x0f\xfa\x07\x08\xcb\xb4\x3f\xa0\x5a\xde\x6d\xdd\xfc\x41\x30\x0a\x95\x86\x46\xf5\xe3\x1b\x4e\x93\x59\xcc\xa5\xc2\xed\xb0\x73\xb6\x52\xb9\x44\x7c\x47\x18\x1b\x40\x0f\x91\xe7\x4d\xdd\x80\x2e\x43\x14\x4b\xaf\xb6\x9c\x54\xbf\x4b\x7c\x23\x2c\x16\x63\x89\xe9\xb3\x32\x81\xa5\xae\x4d\x8c\x14\x90\x36\xb8\xeb\xbb\x94\x52\xc5\xaf\xc0\xdb\x62\x1b\x2d\x60\x57\x7e\xfc\xd6\x95\xf4\x85\x11\xf6\x68\x55\xa9\x76\x17\xc4\x76\x71\x8a\xfd\x37\xcd\x37\x62\x6a\xa1\xd2\x3e\xe2\xf1\xc8\x13\x23\x01\x02\xf3\x24\xdb\xd6\x89\x75\xcb\x8b\x61\xe6\x4f\xe4\xfd\xc2\x88\x00\x97\x96\x8e\xe7\xe7\x62\x6d\x78\x32\x19\xb6\x5b\xcd\x18\xeb\xca\xfb\x8e\x28\x52\x3d\x74\x0e\x48\xe5\x90\xa8\x75\xfe\x7f\x89\x15\xad\xd6\xfb\x74\xca\x40\x68\x9c\xfc\x85\x56\x78\x36\xe0\x78\xca\x06\xca\xe9\xf5\x46\xc3\xd4\x1f\xfc\x85\x59\x49\xb0\x38\x54\xcd\xcb\xe2\xe3\x46\xee\x0d\xcf\xcf\xde\x17\xda\x56\xce\xeb\x6a\x56\x6e\xbf\xff\x50\x6a\x1b\x59\x7e\x83\xa3\x49\x02\xd3\x8c\x56\xf9\x13\x2d\x3d\xcd\x62\x23\x89\xfb\x21\xf6\x37\x30\x4f\x84\x0e\x6a\x83\x7d\x5c\xc9\xaf\xf6\x5d\x39\xbf\x68\x64\x36\x8e\xcf\x85\xc8\xec\x1d\xf9\x71\xb2\x2b\x6d\xc7\xa0\x2b\x8c\x02\x3a\xd2\xe5\xfc\x62\x1f\x81\x5c\xeb\xc0\x3b\xff\x67\x1b\x72\x04\xd9\x7d\x5d\xd0\x84\x3f\xdb\x5e\xd1\xe6\x3f\xa5\xca\xe6\xca\x21\xc9\x2b\xda\x74\x40\x23\x56\x3f\xf8\xd5\x55\x0f\x43\xb4\xfa\xf9\xfa\x09\x3f\xb7\xfe\xc6\x14\xd3\x40\xd5\x8e\x58\xaa\x47\xfa\x28\x09\x31\x58\xec\xd9\x3c\x80\x24\x87\x29\x85\x35\xa0\xff\xe3\x90\x91\x64\xe7\xb8\x3d\x50\x2d\x5b\x38\x11\xd5\x73\xee\x20\x79\xc5\xab\x35\x3f\xba\xc1\x5c\x7d\x2d\xde\x72\x68\xc3\x0b\x79\xfb\xd7\x55\xff\x3b\x74\x10\xbf\x39\xcc\xb1\x14\xd6\x8b\xa2\x74\x70\x39\x66\xc8\x51\x15\xfe\x12\xff\xc0\xe7\x8d\xc1\x34\xe2\x67\xdb\xbc\x9b\x0b\x40\xf5\x25\xca\x94\xbf\xd3\xb2\xe6\xdd\xf5\x3d\xac\x2a\x3c\x33\x27\x31\xc7\xb5\x4a\x4a\xa1\x38\xfe\xc9\xd2\xca\x47\xfb\x6e\x59\x5f\x54\xb7\x90\x3a\x41\xcf\x89\xaa\xb5\xfd\x9d\xb9\xfe\x94\x06\x7c\x56\x78\xa0\xdc\xb8\xa9\x42\x37\xe1\x27\xf9\x5d\x5d\x5d\x84\x1b\x34\x3c\x47\xfb\x3b\x66\x45\xeb\x17\x51\xbf\x4b\xab\x9d\x63\x94\xa2\x65\xe1\xb6\x4a\x75\x15\x76\xbe\xe3\x59\x1b\x80\x7f\xdd\x03\x86\xbb\xba\x95\xbb\x02\x95\x37\x01\x9d\x59\x7f\x95\x17\xbe\x88\x66\x61\xd4\xec\x51\xd1\x6c\x6e\x72\xcd\xa3\xab\x39\x44\x2e\xbf\x35\x6f\x9e\x24\x5d\x3f\xbb\x1c\xca\x0f\x38\x61\x62\x54\xb8\x0c\x78\xd0\xac\xc9\xea\xfb\xf7\x72\xd7\x07\x02\x55\xfd\x7c\x7e\x62\x36\x56\xb5\xcf\xcc\x49\x61\x68\xf3\x2f\x7d\x32\x23\x52\x99\xa4\x33\x5c\x5b\xaa\xed\xe3\x80\x52\x6a\x94\x67\x8a\x6f\x64\xb2\xc8\x8d\x78\x99\x69\x55\x65\x82\x12\xa9\x2a\xbc\x2f\xd0\x29\xef\x9c\xfc\x0f\xbe\x21\xaf\x70\x5b\x81\x6b\x46\x36\x21\xad\x86\xfc\x32\xc3\xbe\x52\xad\x18\xdd\x1d\x55\xca\x31\x02\x79\x27\xb7\xea\xf9\xc5\x3f\x13\x01\x43\x8b\xe0\x8d\xe1\x8c\xaf\xda\xea\xe2\x97\xe4\x6c\xd2\xd8\x5d\xc5\xca\xdb\x46\x20\x09\x99\x9c\x5f\x4a\xe8\x37\xb3\x1c\x95\x4f\x6d\x9a\x68\x72\x0b\x9f\x3d\xbf\xa8\xac\x7f\x76\x77\x7e\x0d\xa2\x43\x94\x30\xc0\x6a\x63\xc8\x2e\x34\xbc\x58\x2c\x44\x0c\x3d\x37\x05\x19\x52\xdf\x0f\x22\x2d\x04\x11\x25\x57\x84\xf7\xfc\x9f\xfc\x33\x09\x06\xf0\x19\x78\xf8\xb7\x97\x61\x3e\xbc\x02\x8d\x4c\x0f\x83\xb4\x45\xed\xb7\x79\xa5\xb6\x7e\x63\xf8\x2f\x62\x6d\x83\x82\xfa\xce\x2c\xf6\x20\xfa\x36\xf1\x92\x48\xdb\xb8\x15\xd3\xb6\xee\x55\xb6\xed\xaa\x5c\xdb\xcc\x16\x68\xc9\x0f\xfc\xa7\xb0\x2e\x04\x2d\x0d\xb2\xd0\xf1\x6c\x89\x47\x4b\x2d\xf5\x2f\x1a\xc0\x70\x79\x68\x29\x70\xab\xbb\x25\x48\x6a\x4b\xe1\x2e\xda\xaf\xc9\xf6\x40\xc3\x43\xbb\x5d\xd4\x52\xd6\x91\x1d\xdf\xf8\x0f\x1e\x1f\x3a\x89\xb1\x70\x78\x5a\xa2\x85\x4a\x33\xce\x33\xcb\x2a\x7a\x6d\x2d\xfc\x37\xc0\xbf\x9b\x4a\xff\xaf\xfc\xf3\xef\xc4\x18\x67\x87\x84\x64\xe9\xdb\x8f\x4f\x5e\x61\x4b\x58\xa0\x9e\x5f\xbd\x9b\x18\x6c\x36\x6c\xff\x0d\x98\x12\x27\xfb\x38\x3f\xa8\xf0\x5b\xb2\xaf\x48\x68\xd0\x37\x5d\x84\x72\xc2\x32\xf9\x3d\xf0\x5f\x49\xc1\xac\x6d\xda\xad\xbc\x37\x86\xaa\xf9\xee\xd7\xd6\x36\x77\xf7\xdb\x1e\xd4\xdd\x7d\x11\x67\x1f\x51\x74\x94\x78\x97\xea\xee\x58\xd2\xee\xa2\xd7\x9f\x01\x81\xb5\xff\x59\xeb\x21\x7e\xb2\x0a\xda\xff\x2d\xe6\x07\xcb\x7b\x3e\xa9\xb3\xe1\xf9\x12\x57\xe2\xca\x9c\x47\x9e\xa9\x82\xe1\xe5\x1c\xea\xc6\x3b\xfa\xf6\x3a\x1c\xfc\x19\xe0\x07\xba\xc9\x38\x6e\x3b\xdf\xcd\x5a\xef\xbd\x83\x10\xef\xf5\x90\x4b\xe7\x17\xe6\x43\xa1\xe2\xbd\xdb\xc8\xdb\xcb\xcb\xf9\x11\xf9\xc1\xdb\x5d\x94\x57\x60\xdf\x69\xbf\xab\x04\x56\x16\x52\x08\x3a\x09\x0a\x22\x27\x6f\x25\xc6\x3e\x01\xc0\x06\x51\x7b\x35\xe6\xe1\x8a\x6b\x85\xc9\xb6\x20\x57\x17\x6c\xed\xe2\xfa\xf9\x54\x0f\xa9\x67\x4a\xee\x24\xd6\x2b\x7b\x56\xb2\xf8\x5e\xf2\x73\x93\xef\x27\x0f\xc9\x1b\x5e\x01\xee\x05\x70\x1a\x75\x07\xd0\x02\xd9\x32\xe9\x7f\x90\x04\x76\x7f\x8d\x92\x19\xef\xbd\x5b\xf8\xc7\x48\x6f\xb4\x3e\xff\x45\xea\x6e\x3a\xa8\xd3\x66\xef\xbe\xb8\x47\x9f\x5f\x60\xe5\x29\x0c\x8f\xa0\x57\x2d\x8e\xf3\x73\x7e\x56\xe9\x78\x48\x98\xe2\x7f\x03\x61\x94\xec\xee\x41\x16\x40\x9c\x7c\xac\x60\xf8\x45\xce\x8b\xc6\xe8\xdd\x3d\x64\x3a\x99\xf7\xa0\xad\xb8\x7b\x86\xba\xbe\xe7\xb8\x12\x10\x11\xf9\x67\x25\xf7\xac\xf6\xd7\x95\x60\xae\x7f\xf1\xbb\x67\xe5\x4c\xb6\xfa\x66\x93\x2e\x63\x62\x24\xb5\xef\x55\xef\x59\xed\xfb\x1d\x32\xb0\x4c\xf9\x0f\x4d\xf7\xac\xfd\xbe\xce\x3d\x2b\xe6\xdb\x9d\x1f\xdf\x52\x5a\x32\x14\xd8\x61\x5a\x1f\x81\xeb\xcf\x16\xee\xb9\xcf\xc0\x37\xaa\xf6\x02\x2f\xe5\xdc\x5b\x5c\x7d\x72\xfc\xea\xde\xb0\xb6\xcd\x3d\xef\xae\x21\xa6\x5e\x97\x6c\x1e\xfc\xbb\xca\x0b\x21\x20\xdf\x71\x89\xdf\xc1\xb6\x04\xc0\x40\x8d\xa1\x36\x0f\x1f\x0a\xde\xc5\xe3\x38\x12\xae\xab\x7a\x0f\x1f\x0f\x3c\x42\x0b\x18\x04\x83\x5c\xe1\xcc\x11\xd3\x75\xd5\xf8\xc1\x73\xdc\x87\xdd\x09\x84\x7f\x6e\x2b\xf9\xe3\xfc\xd0\x0d\xf1\x9a\xac\x2c\xad\x62\xc8\x54\xd5\x22\xcb\x6d\xe9\xdb\x38\x97\xbe\x7b\x52\x9b\xe1\x46\xb8\x62\x1b\xcb\xbb\xca\xea\x1e\xfc\x0b\x8f\x08\xba\x32\x38\xbb\x87\x84\xc1\x6a\xc4\x0d\x9c\x27\x2e\x76\xfb\x86\xf7\x76\xb8\x25\xf5\xb0\x4b\x7d\x6f\xc4\xdc\xb4\x07\x8f\x61\x80\xd6\x55\xdc\xa6\xb2\xd3\x9d\x87\x84\x83\x69\x21\x07\x2f\xec\x8b\xdc\x43\xe2\xce\x08\xb0\x89\xa5\x5e\xc8\x66\x8a\xae\x74\xee\xb9\xc7\xd5\xa1\x30\x57\xde\x33\x78\x48\xad\x83\x3c\x44\x87\x9f\xac\x18\xaa\x7b\x2c\xa1\xac\x7f\xdc\xe3\xed\xd2\xe2\x83\x77\xcf\xb9\xe8\x3e\x82\x60\x58\xf8\x75\xfb\x23\x44\x4e\xe2\x07\x5d\x0b\x60\xff\x1f\x91\x47\x60\x4a\x5e\xb7\x04\xb1\xad\xbe\x6b\xcf\xfb\x11\x78\xa3\xe2\xc1\x4f\x4e\xdc\x23\xe8\x20\xb1\x6f\xf8\x3f\x82\x5e\x7f\x76\xd5\x3f\x68\x34\xf2\x2d\xce\x02\x91\xef\xd6\x07\x5e\xaa\x47\x87\xcc\xe1\xa4\xb0\x58\xb7\xe4\x71\xf5\x8e\x17\x39\x01\xf6\x7f\x0a\xfd\xaf\x48\x37\x32\xec\xb4\x37\xda\x37\xb6\xbf\xb1\x71\x02\xac\xc8\x8e\x0d\xcd\xba\x96\x25\xef\x8e\x7b\x1e\x8f\xf3\x53\xab\x28\xfd\xad\x87\x7a\x8c\x6d\x8b\xa5\x3a\xfe\xef\x9a\xa1\xbe\x11\x4c\x62\xee\x05\xe2\x99\x4e\xe4\xe1\x18\x3c\x29\x0c\xc0\x47\x53\xe4\x60\xdb\xa5\x0f\xbb\x94\xfb\x68\xf5\xf9\xfb\xc3\xbb\x41\xfc\x0a\xf0\xfa\x13\x8c\xeb\x2f\xdc\x18\x26\x03\x39\x06\xd0\x2d\x38\x3c\xaf\x23\x1c\xf6\xd9\x95\x11\x63\x18\x99\xfa\x55\xf6\x83\xb7\x5d\x0f\x59\xc4\xbd\xfe\x35\x92\xff\x5c\xda\xff\x44\x81\x37\x1e\x8f\xae\xc8\x0e\x0a\xe7\x13\xf1\x80\xb7\xc2\x78\x25\xbd\x6d\xee\x10\x15\xfb\xde\xef\xa0\xce\xb7\xbf\x72\xa5\x78\x02\x84\x08\x01\x3a\x28\x54\x87\xed\x5f\x1d\xe1\x6f\x30\x4d\x30\x7b\x7d\xad\xee\x08\xb3\x57\x0a\x2c\x39\x25\x95\x06\x07\xc3\x46\x8c\x5b\x2d\x47\xd0\xb5\x21\x67\xba\xad\xee\x08\x95\x17\xb6\x0f\xbb\x23\xe7\x8e\x70\x0f\xf1\xba\x90\x63\xeb\x44\x72\x07\x53\x34\xce\xf2\xa3\xf5\xff\x62\x78\x67\xec\xaf\x01\x38\x63\x61\xf5\x1e\x6d\x96\xe5\xfc\xbc\x9c\x90\xa3\xd9\xf7\xa6\x47\x5b\x78\xeb\xe5\x68\xf6\xc7\xb4\x47\x8b\xde\xfe\x81\xf8\xe0\x0d\xd4\xa3\x5d\x76\xe5\xd1\xb0\xb2\xa2\xb7\xcc\x7d\x39\x5a\xdf\x1b\x3f\xda\xc1\x59\x82\x4a\x61\xa9\x42\x17\x3c\xe0\xef\x1e\x0f\x51\x60\xe0\x8d\x2e\x50\x73\xef\x0f\xfe\x0f\x42\xe2\x23\xb6\xd8\x06\xea\x4f\xff\xf7\xbb\xff\x2f\x00\x00\xff\xff\x9d\x97\x1c\x94\x4d\x59\x00\x00") + +func bindataListsFrequencytxtBytes() ([]byte, error) { + return bindataRead( + _bindataListsFrequencytxt, + "lists/frequency.txt", + ) +} + + + +func bindataListsFrequencytxt() (*asset, error) { + bytes, err := bindataListsFrequencytxtBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{ + name: "lists/frequency.txt", + size: 22861, + md5checksum: "", + mode: os.FileMode(420), + modTime: time.Unix(1590740075, 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, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist} +} + +// +// MustAsset is like Asset but panics when Asset would return an error. +// It simplifies safe initialization of global variables. +// nolint: deadcode +// +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, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist} +} + +// +// AssetNames returns the names of the assets. +// nolint: deadcode +// +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){ + "lists/frequency.txt": bindataListsFrequencytxt, +} + +// +// 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, &os.PathError{ + Op: "open", + Path: name, + Err: os.ErrNotExist, + } + } + } + } + if node.Func != nil { + return nil, &os.PathError{ + Op: "open", + Path: name, + Err: os.ErrNotExist, + } + } + 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{Func: nil, Children: map[string]*bintree{ + "lists": {Func: nil, Children: map[string]*bintree{ + "frequency.txt": {Func: bindataListsFrequencytxt, Children: 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 + } + return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) +} + +// 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, "/")...)...) +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..b720367 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module github.com/shibumi/mnemonic + +go 1.14 diff --git a/main.go b/main.go new file mode 100644 index 0000000..5222015 --- /dev/null +++ b/main.go @@ -0,0 +1,50 @@ +package main + +import ( + "bufio" + "bytes" + "flag" + "fmt" + "log" + "math/rand" + "time" +) + +func newWordList() (list []string, err error) { + asset, err := Asset("lists/frequency.txt") + if err != nil { + return nil, err + } + scanner := bufio.NewScanner(bytes.NewReader(asset)) + scanner.Split(bufio.ScanWords) + for scanner.Scan() { + if scanner.Text() != "" { + list = append(list, scanner.Text()) + } + } + return list, nil +} + +func generatePassword(n uint, d string, list []string) (pw string) { + seed := rand.NewSource(time.Now().UnixNano()) + for i := uint(0); i < n; i++ { + generator := rand.New(seed) + pw += list[generator.Intn(len(list))] + if i < n-1 { + pw += d + } + } + return pw +} + +func main() { + list, err := newWordList() + if err != nil { + log.Fatalln(err) + } + numberOfWords := flag.Uint("n", 3, "the number of words") + delimeter := flag.String("d", " ", "delimeter as split element for the password") + flag.Parse() + + fmt.Println(generatePassword(*numberOfWords, *delimeter, list)) +}