diff options
34 files changed, 2768 insertions, 50 deletions
@@ -14,7 +14,6 @@ files/ *.so _obj _test -*.[568vq] [568vq].out *.cgo1.go *.cgo2.c @@ -3,7 +3,7 @@ Gogs - Go Git Service [ -##### Current version: 0.8.29 +##### Current version: 0.8.31 | Web | UI | Preview | |:-------------:|:-------:|:-------:| @@ -96,6 +96,7 @@ There are 5 ways to install Gogs: - [Portal](https://portaldemo.xyz/cloud/) - [Sandstorm](https://github.com/cem/gogs-sandstorm) - [sloppy.io](https://github.com/sloppyio/quickstarters/tree/master/gogs) +- [YunoHost](https://github.com/mbugeia/gogs_ynh) ## Software and Service Support diff --git a/README_ZH.md b/README_ZH.md index 9ab48891..5bbfeb33 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -67,6 +67,7 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自 - [Portal](https://portaldemo.xyz/cloud/) - [Sandstorm](https://github.com/cem/gogs-sandstorm) - [sloppy.io](https://github.com/sloppyio/quickstarters/tree/master/gogs) +- [YunoHost](https://github.com/mbugeia/gogs_ynh) ## 软件及服务支持 diff --git a/conf/app.ini b/conf/app.ini index 69829fca..34259b77 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -41,6 +41,9 @@ ORG_PAGING_NUM = 50 [markdown] ; Enable hard line break extension ENABLE_HARD_LINE_BREAK = false +; List of custom URL-Schemes that are allowed as links when rendering Markdown +; for example git,magnet +CUSTOM_URL_SCHEMES = [server] PROTOCOL = http diff --git a/conf/locale/locale_en-US.ini b/conf/locale/locale_en-US.ini index f157cbf4..17cb8c51 100644 --- a/conf/locale/locale_en-US.ini +++ b/conf/locale/locale_en-US.ini @@ -591,7 +591,7 @@ settings.transfer_notices_2 = - You will conserve access if new owner is an orga settings.transfer_form_title = Please enter following information to confirm your operation: settings.delete_notices_1 = - This operation <strong>CANNOT</strong> be undone. settings.delete_notices_2 = - This operation will permanently delete the everything of this repository, including Git data, issues, comments and accesses of collaborators. -settings.delete_notices_fork_1 = - If this repository is public, all forks will be became independent after deletion. +settings.delete_notices_fork_1 = - If this repository is public, all forks will become independent after deletion. settings.delete_notices_fork_2 = - If this repository is private, all forks will be removed at the same time. settings.delete_notices_fork_3 = - If you want to keep all forks after deletion, please change visibility of this repository to public first. settings.deletion_success = Repository has been deleted successfully! diff --git a/docker/README.md b/docker/README.md index ac453623..63d4a51e 100644 --- a/docker/README.md +++ b/docker/README.md @@ -20,6 +20,8 @@ $ docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs $ docker start gogs ``` +Note: It is important to map the Gogs ssh service from the container to the host and set the appropriate SSH Port and URI settings when setting up Gogs for the first time. To access and clone Gogs Git repositories with the above configuration you would use: `git clone ssh://git@hostname:10022/username/myrepo.git` for example. + Files will be store in local path `/var/gogs` in my case. Directory `/var/gogs` keeps Git repositories and Gogs data: @@ -17,7 +17,7 @@ import ( "github.com/gogits/gogs/modules/setting" ) -const APP_VER = "0.8.29.0204" +const APP_VER = "0.8.31.0205" func init() { runtime.GOMAXPROCS(runtime.NumCPU()) diff --git a/models/admin.go b/models/admin.go index 1d6bf629..7756cd6a 100644 --- a/models/admin.go +++ b/models/admin.go @@ -5,12 +5,17 @@ package models import ( + "fmt" + "os" + "os/exec" "strings" "time" "github.com/Unknwon/com" "github.com/gogits/gogs/modules/base" + "github.com/gogits/gogs/modules/log" + "github.com/gogits/gogs/modules/setting" ) type NoticeType int @@ -47,6 +52,25 @@ func CreateRepositoryNotice(desc string) error { return CreateNotice(NOTICE_REPOSITORY, desc) } +// RemoveAllWithNotice removes all directories in given path and +// creates a system notice when error occurs. +func RemoveAllWithNotice(title, path string) { + var err error + if setting.IsWindows { + err = exec.Command("cmd", "/C", "rmdir", "/S", "/Q", path).Run() + } else { + err = os.RemoveAll(path) + } + + if err != nil { + desc := fmt.Sprintf("%s [%s]: %v", title, path, err) + log.Warn(desc) + if err = CreateRepositoryNotice(desc); err != nil { + log.Error(4, "CreateRepositoryNotice: %v", err) + } + } +} + // CountNotices returns number of notices. func CountNotices() int64 { count, _ := x.Count(new(Notice)) diff --git a/models/issue.go b/models/issue.go index 6188da5c..32645463 100644 --- a/models/issue.go +++ b/models/issue.go @@ -1179,6 +1179,7 @@ func (m *Milestone) AfterSet(colName string, _ xorm.Cell) { if m.Deadline.Year() == 9999 { return } + m.Deadline = regulateTimeZone(m.Deadline) m.DeadlineString = m.Deadline.Format("2006-01-02") if time.Now().After(m.Deadline) { diff --git a/models/repo.go b/models/repo.go index 868498bc..f838de7e 100644 --- a/models/repo.go +++ b/models/repo.go @@ -1123,16 +1123,22 @@ func ChangeRepositoryName(u *User, oldRepoName, newRepoName string) (err error) return ErrRepoAlreadyExist{u.Name, newRepoName} } + repo, err := GetRepositoryByName(u.Id, oldRepoName) + if err != nil { + return fmt.Errorf("GetRepositoryByName: %v", err) + } + // Change repository directory name. - if err = os.Rename(RepoPath(u.Name, oldRepoName), RepoPath(u.Name, newRepoName)); err != nil { + if err = os.Rename(repo.RepoPath(), RepoPath(u.Name, newRepoName)); err != nil { return fmt.Errorf("rename repository directory: %v", err) } - wikiPath := WikiPath(u.Name, oldRepoName) + wikiPath := repo.WikiPath() if com.IsExist(wikiPath) { if err = os.Rename(wikiPath, WikiPath(u.Name, newRepoName)); err != nil { return fmt.Errorf("rename repository wiki: %v", err) } + RemoveAllWithNotice("Delete repository wiki local copy", repo.LocalWikiPath()) } return nil @@ -1295,30 +1301,16 @@ func DeleteRepository(uid, repoID int64) error { // Remove repository files. repoPath := repo.repoPath(sess) - if err = os.RemoveAll(repoPath); err != nil { - desc := fmt.Sprintf("delete repository files [%s]: %v", repoPath, err) - log.Warn(desc) - if err = CreateRepositoryNotice(desc); err != nil { - log.Error(4, "CreateRepositoryNotice: %v", err) - } - } + RemoveAllWithNotice("Delete repository files", repoPath) wikiPaths := []string{repo.WikiPath(), repo.LocalWikiPath()} for _, wikiPath := range wikiPaths { - if err = os.RemoveAll(wikiPath); err != nil { - desc := fmt.Sprintf("delete repository wiki [%s]: %v", wikiPath, err) - log.Warn(desc) - if err = CreateRepositoryNotice(desc); err != nil { - log.Error(4, "CreateRepositoryNotice: %v", err) - } - } + RemoveAllWithNotice("Delete repository wiki", wikiPath) } // Remove attachment files. for i := range attachmentPaths { - if err = os.Remove(attachmentPaths[i]); err != nil { - log.Warn("delete attachment: %v", err) - } + RemoveAllWithNotice("Delete attachment", attachmentPaths[i]) } if err = sess.Commit(); err != nil { @@ -1333,7 +1325,7 @@ func DeleteRepository(uid, repoID int64) error { } for i := range forkRepos { if err = DeleteRepository(forkRepos[i].OwnerID, forkRepos[i].ID); err != nil { - log.Error(4, "updateRepository[%d]: %v", forkRepos[i].ID, err) + log.Error(4, "DeleteRepository [%d]: %v", forkRepos[i].ID, err) } } } else { diff --git a/models/user.go b/models/user.go index 23ed5ae8..09ad74d7 100644 --- a/models/user.go +++ b/models/user.go @@ -598,11 +598,19 @@ func ChangeUserName(u *User, newUserName string) (err error) { return ErrUserAlreadyExist{newUserName} } - err = ChangeUsernameInPullRequests(u.Name, newUserName) - if err != nil { + if err = ChangeUsernameInPullRequests(u.Name, newUserName); err != nil { return fmt.Errorf("ChangeUsernameInPullRequests: %v", err) } + // Delete all local copies of repository wiki that user owns. + if err = x.Where("owner_id=?", u.Id).Iterate(new(Repository), func(idx int, bean interface{}) error { + repo := bean.(*Repository) + RemoveAllWithNotice("Delete repository wiki local copy", repo.LocalWikiPath()) + return nil + }); err != nil { + return fmt.Errorf("Delete repository wiki local copy: %v", err) + } + return os.Rename(UserPath(u.Name), UserPath(newUserName)) } diff --git a/modules/base/markdown.go b/modules/base/markdown.go index 265deffa..dac51ebc 100644 --- a/modules/base/markdown.go +++ b/modules/base/markdown.go @@ -31,16 +31,10 @@ func isalnum(c byte) bool { return (c >= '0' && c <= '9') || isletter(c) } -var validLinks = [][]byte{[]byte("http://"), []byte("https://"), []byte("ftp://"), []byte("mailto://")} +var validLinksPattern = regexp.MustCompile(`^[a-z][\w-]+://`) func isLink(link []byte) bool { - for _, prefix := range validLinks { - if len(link) > len(prefix) && bytes.Equal(bytes.ToLower(link[:len(prefix)]), prefix) && isalnum(link[len(prefix)]) { - return true - } - } - - return false + return validLinksPattern.Match(link) } func IsMarkdownFile(name string) bool { @@ -157,6 +151,8 @@ func (options *CustomRender) ListItem(out *bytes.Buffer, text []byte, flags int) var ( svgSuffix = []byte(".svg") svgSuffixWithMark = []byte(".svg?") + spaceBytes = []byte(" ") + spaceEncodedBytes = []byte("%20") ) func (r *CustomRender) Image(out *bytes.Buffer, link []byte, title []byte, alt []byte) { @@ -172,7 +168,8 @@ func (r *CustomRender) Image(out *bytes.Buffer, link []byte, title []byte, alt [ if link[0] != '/' { prefix += "/" } - link = []byte(prefix + string(link)) + link = bytes.Replace([]byte((prefix + string(link))), spaceBytes, spaceEncodedBytes, -1) + fmt.Println(333, string(link)) } } diff --git a/modules/base/tool.go b/modules/base/tool.go index f98ae28b..ad39db89 100644 --- a/modules/base/tool.go +++ b/modules/base/tool.go @@ -31,16 +31,19 @@ import ( "github.com/gogits/gogs/modules/setting" ) -func BuildSanitizer() (p *bluemonday.Policy) { - p = bluemonday.UGCPolicy() - p.AllowAttrs("class").Matching(regexp.MustCompile(`[\p{L}\p{N}\s\-_',:\[\]!\./\\\(\)&]*`)).OnElements("code") +var Sanitizer = bluemonday.UGCPolicy() - p.AllowAttrs("type").Matching(regexp.MustCompile(`^checkbox$`)).OnElements("input") - p.AllowAttrs("checked", "disabled").OnElements("input") - return p -} +func BuildSanitizer() { + // Normal markdown-stuff + Sanitizer.AllowAttrs("class").Matching(regexp.MustCompile(`[\p{L}\p{N}\s\-_',:\[\]!\./\\\(\)&]*`)).OnElements("code") + + // Checkboxes + Sanitizer.AllowAttrs("type").Matching(regexp.MustCompile(`^checkbox$`)).OnElements("input") + Sanitizer.AllowAttrs("checked", "disabled").OnElements("input") -var Sanitizer = BuildSanitizer() + // Custom URL-Schemes + Sanitizer.AllowURLSchemes(setting.Markdown.CustomURLSchemes...) +} // EncodeMD5 encodes string to md5 hex value. func EncodeMD5(str string) string { diff --git a/modules/bindata/bindata.go b/modules/bindata/bindata.go index a0449c63..827b6f23 100644 --- a/modules/bindata/bindata.go +++ b/modules/bindata/bindata.go @@ -282,7 +282,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _confAppIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x7a\x4b\x8f\xe3\xc6\x76\xff\x9e\x9f\xa2\xdc\xfe\xfb\xef\x99\x40\x52\xbf\x3c\x0f\xb7\xdd\x89\xd5\x12\xd5\xcd\x3b\x7a\x99\x94\x66\x3c\x1e\x34\x38\x6c\xb2\x24\xd1\x4d\x91\x1a\x16\xd9\x3d\x6d\x64\x71\x8d\x2c\x02\x64\x9b\x20\xd9\x04\x41\xb2\x08\x02\xdc\x3c\x90\x8b\x6c\xee\x4d\x90\x95\x91\xfd\xf8\x3b\x5c\xf8\x26\xdf\x22\xbf\x73\xaa\x28\x51\x3d\xed\x46\x2e\x90\xf8\xd1\xa2\x8a\x55\xa7\xaa\x4e\x9d\xf3\x3b\xbf\x73\x4a\x1f\x8a\xa1\xfd\xdc\x76\x05\xff\x19\x8c\xba\x4e\xef\xa5\x98\x9c\x39\x9e\xe8\x39\x7d\xdb\xfa\x50\x8c\xfb\x76\xdb\xb3\xc5\xa0\xfd\xcc\x16\x9d\xb3\xf6\xf0\xd4\xf6\xc4\x68\x28\x3a\x23\xd7\xb5\xbd\xf1\x68\xd8\x75\x86\xa7\xa2\x33\xf5\x26\xa3\x01\x1a\x87\x3d\xe7\x54\x8f\xb4\x3e\x13\xed\xd5\x4a\xa4\xc1\x52\x8a\x62\x11\x14\x42\x2d\xb2\x6b\x25\xb2\x54\xc8\x2b\x99\xdf\x88\x55\x30\xc7\x8b\xb8\x48\xa4\xd5\x1e\x8f\xfd\x61\x7b\x60\x8b\x63\x71\x9a\xcd\xd5\x11\xfe\x8a\xd3\xb8\x10\x9e\xcc\xaf\xe2\x50\x42\x52\x67\x11\xa4\xe8\x8e\xb6\x78\x26\x6e\xb2\x52\xe4\x65\x2a\x92\x2c\x0c\x92\xe4\xc6\x72\xa7\x43\x7f\xea\x61\xf5\xc7\x62\x1e\x17\xe8\x6d\xc7\xc5\x42\xe6\x62\x27\x92\x57\x3b\x0d\xb1\xb3\xca\xb3\x68\x47\x64\x68\x28\xa4\x2a\xd0\x12\xc9\x59\x50\x26\x90\xa5\x74\x1f\x96\x80\xad\xd3\x02\xf0\xdd\xb2\x5e\xe5\x72\x95\xa9\xb8\xc8\xf2\x9b\x73\xcb\x1d\x8d\x26\xe2\xd8\xf2\x3a\xae\x33\x9e\xf8\x93\x97\x63\xea\x76\x11\xa8\x05\x66\xea\x1a\x49\xed\xa1\xe7\x88\x70\x11\xe4\x4a\x16\x16\x7d\xf1\xa1\x2a\xd7\xb3\x31\x50\xa0\x5b\x2f\xcb\x43\x69\xf6\x9d\xca\x6b\xb1\x11\x2f\x8a\x4c\x5c\x48\xb1\xca\xe3\xab\xa0\x90\x56\x6f\xe4\x76\x6c\x7f\xec\x3a\xcf\xdb\x13\x9a\x66\x16\x24\x8a\xf6\x7f\x9a\x64\x17\x41\x22\x96\xc1\xdb\x78\x59\x2e\x45\x98\xcb\xa0\x88\xa1\xca\x24\x5e\x42\x27\xd9\xac\x2e\x71\x85\xad\x97\x4a\xe6\x0d\xd1\xdc\x17\x4b\x19\xa4\x4a\xa4\x99\xee\x69\x0d\xda\x5f\xf9\x1d\xd7\x6e\x4f\x9c\xd1\xd0\xef\x3b\x03\x87\x16\xd8\xdc\xc7\x0c\xe3\xa0\x08\x17\x82\x14\x24\xde\x94\xb2\x94\x22\x91\xe9\xbc\x58\x34\x30\xe7\x25\x2b\x3e\x50\x22\x09\x72\x1c\x02\x1e\x30\x97\x8a\x2f\x70\x72\xe3\x69\xbf\xef\xbb\xf6\x97\x53\xdb\x9b\xf8\xf8\x3b\xb5\xfd\xbe\x3d\x3c\x9d\x9c\x41\xec\xfe\x1e\xfe\x81\x2e\xcb\xf8\x1c\xf2\x87\xe5\xf2\x02\x0b\xab\x2f\x35\x96\x4a\x5b\x46\x90\x4b\xb6\x0e\x19\x89\x38\x85\x85\x40\x55\x6f\x57\x49\x86\x56\x32\x12\xcb\xfe\x6a\xdc\x1f\xb9\x50\x4b\xfb\x14\xb6\xe6\x0f\xa7\x03\x48\x3f\xd8\xdb\x12\x1a\x2b\x55\xfe\xb4\x38\x16\xe3\x78\xde\xf4\x96\x90\xfd\x6d\x21\x6b\xf5\x66\x4b\x28\x4b\xdd\x12\x12\x84\x45\x7c\x15\x17\x37\x62\x26\x65\x64\xf5\x6c\xbb\xeb\xb3\x3a\x47\x03\xa8\xd1\x08\x7c\xc4\xfb\x6d\x05\xd1\x32\x4e\xb7\x77\x4d\x27\x72\xff\xfa\xc8\x84\xb7\x97\xf7\x68\xef\x7d\xc5\xdd\x2b\xc2\xb5\xc7\xa3\x7b\x45\xa4\x59\x01\x87\xba\x5f\xc8\x70\x34\x71\x3a\xb7\xb5\xfd\x68\x4b\x4c\x96\xcf\x83\x34\xfe\x56\xdb\xe0\x7d\xb2\x46\xee\xe9\x7b\xeb\xb1\x5e\x2d\x83\xfc\x32\xca\xae\x59\x43\x76\x1a\xc0\x90\x04\x5c\x27\x82\x8d\x62\xdc\x05\x6c\xfb\x12\x06\x50\xc8\x54\x41\xbc\x65\x0f\xdb\x27\x7d\xdb\x87\x3b\x75\x61\xb1\x43\xdb\x3f\x81\xfd\x3e\x5b\xfb\x86\xf5\x0a\x8a\x85\x63\x9d\x5b\x63\x77\x34\x19\x75\x46\x7d\xbc\x5a\x14\xc5\xca\xea\x8e\x06\x6d\x67\x88\x6f\x8c\x13\x8b\x4c\x15\xec\xca\xfe\xd4\xa5\x2e\x1f\x3d\xa8\xfa\x3f\x54\x47\xbb\xbb\x1f\x3d\xd0\xdd\xf1\xe5\xa3\x07\x67\x93\xc9\xd8\x1f\x8f\xdc\xc9\x43\xb5\x6b\xf1\x97\x76\xb7\x0b\x78\xb1\xd6\x2f\x20\xe0\x90\xac\xfb\x33\xd1\x27\xe1\xe2\x41\x77\xf0\xf5\x43\x41\x92\x67\xc0\x19\x02\x31\x71\x9d\xe5\x97\x74\xe4\x0f\x54\x09\xc7\x82\xd3\x78\xde\x99\x28\x57\x11\xdc\xfc\x21\x6c\x09\xa7\xa0\xe2\x74\x2e\xae\xe5\x85\x50\x1a\xe7\x5a\x10\xe7\xa4\x62\x89\x95\x8a\x30\x50\x38\x26\x42\xba\x28\xa3\x53\x03\x6c\x40\xb5\x00\x8b\x50\x23\x21\x00\x6e\x0d\x63\x57\x41\x52\xf2\xe0\x76\x52\xe0\x7c\x08\x10\xd2\xe4\xc6\x20\x65\xce\xf3\x6a\x1d\x41\x50\x24\x09\xf5\x48\x20\x49\x50\x04\xce\x58\x1a\xed\x8b\x5f\xb6\xac\xfe\xa8\xd3\x86\x4b\x6f\x14\x45\xba\x84\x82\xd6\x4a\xbc\xad\x1f\x80\x60\xac\xf8\x0c\x69\xa2\x19\x80\xa9\x84\x2d\x5c\x2f\x64\xca\xd3\x04\x57\x41\x9c\xd0\x6b\xab\xeb\x78\x7c\x92\xd4\x6d\x83\x6c\x2f\x16\x92\xc1\x1a\xfe\x21\x2e\xca\x38\x29\x60\x3e\xb5\x15\x67\xb4\xe8\xa2\x65\x79\x93\xb6\x3b\xa1\xa1\x3e\xbc\xe4\x39\x63\xbd\x96\x40\x4d\xe6\x44\x0e\x0e\x20\xcf\xcd\x30\xe9\x2a\x28\x16\x64\xa7\x24\x28\x8a\x73\x19\x12\x30\x72\x57\xde\xd8\xb8\xcd\x00\x55\x5b\x7a\xa7\x3b\x24\x78\x4e\xc9\x78\x4d\xbc\x58\x42\x1d\xd6\xa8\xd7\x63\x9b\x33\xc1\x41\x4f\x59\x6d\xc4\x1d\x4d\x27\x70\xd9\xfe\xe8\xb4\x8e\xd4\x32\x95\x39\xce\x58\xa8\x42\xae\xd4\x11\x5a\xfe\x9f\x68\xed\xce\xc9\x22\x42\x99\x17\xa2\x19\x06\xc7\x45\x0e\x7c\x6d\x46\x65\xce\x0e\x74\xfc\xf4\xc9\xe3\xbd\xc5\xde\x72\x4f\x89\x26\x29\xf8\x78\x79\x43\x1f\x2d\xf9\x36\x58\xae\x12\xd9\x02\x1a\x59\x9f\x41\xce\x28\x17\xb3\x3c\x5b\x8a\x40\xb4\x56\xb3\xb7\x62\x16\x27\x8c\x93\x59\x5e\xc0\x32\xf8\x0d\x1d\xe9\x8b\x38\x8d\x28\xce\xd2\x64\xf1\x2c\x0e\xf5\x52\x08\x4b\x1f\x44\x19\xa4\xd0\x99\xc0\x46\xe7\xb2\x20\x6b\xd2\xe3\x79\xa0\x09\x41\xe2\x52\xde\x3c\xd4\xcb\xce\x56\x70\x41\x95\x88\xd5\x65\xa8\xf6\x0f\x44\x13\xba\x21\xa9\x3c\x7b\x33\x2b\x0b\xf3\x4d\x2e\x45\x33\xcd\x30\x4c\xfd\xcf\x46\xa1\x67\x35\x88\x5e\x28\x7a\x88\xa4\xb2\x3a\x36\x4e\x98\xa8\x03\xb4\x19\x96\x58\xf3\x72\x97\x6c\x4f\xed\x56\xd3\x58\xcf\xec\x97\x77\x76\x30\x12\x31\xfd\x74\x45\xd1\x2f\xc1\x51\x26\x74\xfe\x85\x84\x06\x69\x53\x41\x1a\x41\x0b\x50\x77\xa8\xf5\x46\x06\x82\xee\x35\x22\xc0\x2a\x20\xb3\x81\xe5\x42\x59\xec\xc2\x68\x96\x6f\x65\x58\x42\xc1\x64\x80\x80\xc5\xba\xfd\x68\x82\x93\x90\x8a\x39\x14\xf3\xa4\xa7\x5f\x3b\x63\xa1\xca\x15\xa9\xb5\x82\x2e\x6e\xdb\x58\x48\x1f\x8b\x21\xcf\x67\x02\x34\x63\x03\x4f\x9b\x49\x36\x9f\xe3\x18\x39\x4a\x34\xe0\xfd\x29\xb1\x82\x9d\x45\xb6\x94\x9a\xb9\x98\x80\xb8\x63\xf5\xdb\xcc\xb8\x08\x55\x49\x0f\xd4\x03\x18\x08\x54\x09\x40\x49\xe4\x79\x8d\xfd\x2c\x6f\xd4\x9b\x84\xf9\x0f\xac\x69\x9e\x4b\xa5\x25\xa1\x31\x2e\xe4\x21\x5e\xc4\xc5\xc7\x4a\x43\x44\xb8\xc8\x88\x67\x75\x4f\x2a\x7a\xc3\x63\xad\xb3\x91\x47\x7e\xb5\x7f\xf0\xa4\xb5\x87\x7f\xf7\x8f\x0e\x0f\xf7\x1e\x5b\x86\xa9\x91\x49\x5b\x86\x76\xe5\x70\x3a\x6b\xdc\xf6\xbc\x17\x5d\xd6\x4b\x8f\x26\xaa\x4d\x0b\x38\x6a\x08\x59\xb1\x32\xed\x73\xb4\xb2\x5c\xbe\x29\xe1\x9e\x7a\x61\x70\xf7\x78\x76\xd3\x9c\x95\x49\xb2\x03\x5f\xed\xaf\x19\x99\xee\x5f\x89\xad\xd6\xcf\x67\xba\x53\xc4\xd1\xc5\x8e\x65\x1c\x9a\xb4\xc0\xae\xd6\x8a\x2e\xa0\x14\x13\x85\x29\x42\x84\x65\x8e\xc8\x7d\x6e\x39\x43\x9c\x23\x28\x0b\x50\xee\x59\xed\x48\x3e\xf8\x40\x33\x5b\x4d\x7c\x27\x23\xf1\xcc\xb6\xc7\xe2\xe5\x68\xea\x0a\xde\x61\xb7\x3d\x69\x0b\xaf\xdd\xb3\x3f\xf8\xc0\xf2\x6c\x10\xa8\x89\x0f\x5b\x84\x80\x0f\x3e\xfc\xa2\xd7\xb5\x5f\xb8\xf8\xef\xff\xff\xde\x03\xb2\x88\xb2\xc8\xe8\x30\x61\xf5\xb9\x5c\x4a\x0e\x98\x51\x00\xd7\x00\x4a\x38\x43\x50\xa5\x81\x3d\x38\x01\x68\x74\xdb\x2f\x3d\x8c\x7f\x62\x75\x46\xa3\x67\x8e\xcd\xfc\xb5\xa6\x58\x3f\xb8\x96\x8a\x8e\xd6\xbc\x5e\x8f\xab\xf7\x89\x53\xf0\xc0\x28\xd6\xba\x71\x89\x5d\x2a\x72\xe3\xec\xed\x8d\x08\x4a\xe8\x3a\x2d\x2a\xdb\x5c\xc8\x20\x22\xf8\x27\xb8\x37\x5c\x84\xbf\x80\x30\x00\x4b\x3d\x62\x9c\xa3\xaf\x5e\xfa\xed\xe9\xe4\xcc\x1e\xc2\xcc\x35\x3f\x34\x87\xfb\x55\xf3\x85\x7d\x42\xaf\x9a\xd4\x60\x02\x2e\xcc\xe5\xdc\x6a\x77\x26\xce\x73\x1b\x0c\xa8\x0b\xda\x47\x4f\x03\x67\x08\x48\xa4\x8d\xed\x3f\xdd\x83\x70\x10\x60\x5f\x9b\xc5\x4f\x76\x82\xcf\xf2\x6a\xaa\xf0\x96\xa5\xb3\x38\x5f\x0a\xd9\x5c\x22\x6e\xb0\x7b\xe4\x72\x1e\xab\x42\x63\x25\x64\x9e\x3a\x1e\xa1\xae\x8d\x68\xdd\xf7\x39\xe1\x70\x07\xb5\xa3\xec\x66\x52\xc7\x37\xa4\x06\xd9\xb5\x19\x8c\x09\xc8\x5a\xd8\x20\x34\x79\x26\x3a\x17\x66\x65\xaa\x63\xe5\x06\xd2\x59\xbc\xcb\xfb\xaf\x09\xe5\x25\x2e\x01\x39\x42\xc5\x73\x0e\x12\x58\xea\x55\x0c\x26\x1f\xa4\x37\xc5\x02\xde\xdc\xb2\x88\x05\x3b\x60\xa9\x9e\x73\x3a\xc4\x49\x3f\x77\xec\x17\x35\x09\x9d\x20\x04\xc0\x20\x18\x16\x41\xce\x0c\x3a\x0e\x29\x4e\x56\x10\xd1\x69\x77\xce\x6c\xbf\x0d\xd6\xdf\x76\x6b\xa3\x06\xa4\x03\xe2\x6c\x33\x73\x92\x55\x7f\xe2\x68\xbd\x97\x3e\xe9\xa0\xde\x9d\x60\x3e\x92\x05\x46\x1d\x71\xdc\x26\x66\x83\x94\x68\x51\x5e\x50\x14\x21\xd7\x00\xad\x65\x0f\xd9\xd5\x84\x79\x77\xff\xf1\xa3\x4a\xe6\x7d\xb6\xb0\x9e\xe4\xa7\xfa\x8e\x7e\x4a\x75\x86\xdf\x85\xc1\x0a\xf9\x45\x40\x5c\x25\x8e\xb4\x51\xbe\x77\xb6\x6b\x5d\x8c\x27\x70\x47\xc8\xa0\x38\x09\x7b\x03\x45\x5a\x64\xd9\x25\x61\xdb\x19\x3e\x45\x11\xa8\xcb\xad\x24\xc5\xba\x23\xf3\xe0\xe4\x2c\x89\x89\x43\x14\xf1\x52\x52\xe0\xc1\xb1\x01\x09\xb2\x34\x52\x56\xd7\x26\x53\x74\xfd\x89\x33\xb0\x11\xc5\x99\xb9\x13\x7f\x22\x93\x89\x53\xc6\x0b\x59\x0b\xa1\xb4\x3a\xef\x99\x33\xf6\x27\x7d\xcf\xc7\x38\xca\x91\x37\x5b\xdc\xf0\xe2\x45\xac\x38\x05\x8b\x53\x6c\x6e\xa9\xb7\x89\x59\x25\x0e\x5f\xf3\xe1\xdb\xd9\x07\x71\x61\xc4\x23\xb0\x57\xbd\xf9\x6e\x4d\xec\x49\x39\x9b\x71\x30\xa3\x2d\x92\x74\xa2\x7e\xa9\x4c\x1a\x88\xa0\x72\x65\x52\xb2\x98\x83\x97\x49\x8a\xa3\x2c\xfd\x18\xf1\x35\xc5\x26\xae\x89\x94\xf3\x4b\x70\x27\x7b\xd8\xf5\x4f\xa6\xbd\x1e\x91\x15\x7b\xa8\x15\x44\xeb\x26\x38\x00\xba\x22\x44\xde\x68\xde\xce\x3e\xa7\x73\x72\x6f\x7a\xf2\x33\xbb\x33\x61\xa6\x5c\xe5\xe7\x0f\x55\x65\x93\x9a\x9d\x11\xdd\x59\xb2\xb1\xa9\x65\xb1\x6a\xcd\xe9\x99\x0c\xed\xe8\xd1\xd3\x27\x78\xf7\xe5\x97\xe6\xc5\x9b\x37\xdc\xaa\x93\x88\xac\x90\x0d\x5a\x30\x07\x5c\x22\x1f\x12\x07\x22\xae\x61\xa5\x62\xe7\x93\xc7\x8f\x10\x16\xbc\xc1\x64\xec\xa1\x25\x49\x28\x08\x02\xac\xa2\x16\x3c\x90\x42\x26\xb3\x40\x9c\x01\x55\x11\x78\x2c\x26\xa2\xfd\x83\xe1\x21\x65\x83\x20\x6c\x83\x08\x80\xdb\xeb\x88\xc7\x9f\xec\x7d\xda\x12\x8e\x9e\xc8\xb0\x49\x13\x98\xd5\x46\x10\x54\xc4\x13\x05\xc9\x35\x50\x7a\x3d\x5f\x15\xfa\x6a\x14\xf1\xcc\xee\x8f\x88\xdc\x68\x63\xd5\x04\x97\x78\x1a\x83\x2a\xa5\x3f\x51\x4c\xe7\x05\xd4\x6d\xad\xe1\x84\xc7\xb0\x94\x0e\xf3\x95\xcd\x00\x32\xfe\x6d\x89\x5b\x65\x09\xa6\x73\xea\x06\xc8\xb5\xc4\x5a\xd0\xcf\xa7\x05\x19\xf0\x67\x94\x63\x8c\xd3\x21\x93\x77\x58\xe7\x7b\x59\x7d\xd3\x2d\x31\xa2\x6c\x80\xf8\x35\x90\x4a\xf1\xcc\x4a\x26\xb3\x26\x41\x19\xf4\x55\x1b\xa8\xb4\x91\xaf\x0d\x5c\x23\x9f\x08\x93\x18\xbb\xaa\x77\xa4\xb8\xef\x13\x5f\x73\x7a\x04\x10\x1b\x6a\x7c\x07\x87\xd3\x06\x7e\x1f\x89\x33\x3d\x36\x2c\x8e\x4d\x4c\x73\xdd\x28\x02\x83\x00\x23\xa2\x13\x7d\x74\x78\x70\xd0\x12\x13\xda\x84\x21\x48\xdf\x10\x24\xe3\x51\xb2\xe1\xae\x3b\x63\x87\xb4\xff\xd7\x3b\x64\xe1\x3b\xe2\x73\x7e\xfd\x45\x8d\x4f\xff\xfe\x6b\xa1\x1d\x54\x58\x3d\x77\x34\x60\xce\x32\xe0\x55\x6c\x62\x23\x47\x8c\x55\xa0\x14\x12\xb9\xc8\x10\x9d\x0d\xc7\xb1\x5e\x85\x84\xe8\x5b\x7c\x4b\x2e\xe1\xfb\x9a\xd6\xc0\xab\x76\x78\x1d\xd4\xca\x3d\x6f\x95\x9d\x4c\x67\xab\xdd\x05\xda\x71\x98\xd5\x2d\x15\xcb\x31\xef\x0d\x75\x3a\xed\xc0\x3b\x11\xc5\x80\x9e\x35\x14\xdb\x92\xf8\x78\x0f\xe4\x06\x92\x9e\xb7\x29\x22\x3c\xde\xab\x04\xe9\xb5\x68\xb2\x54\x5b\x0b\x04\xa4\x48\x8b\x98\x1c\x50\xbe\x69\x74\x87\x51\x3c\xe0\x08\x01\xb9\xa0\x0c\xf6\xb8\x08\x57\x0d\x7a\x79\x7c\xf4\xf8\xf0\xc9\xa7\x8d\x4a\x21\xc7\xcb\x20\x0c\x72\x58\x6d\x74\x71\xbc\xd7\x58\x65\x59\xe2\xab\xf8\x5b\x79\x0c\x64\x69\xc4\x51\x22\x7d\x03\xba\xc7\x3a\xc6\x57\x33\x1f\x89\xd7\x1b\x36\xb9\xbf\x7f\xb0\xbf\xff\xda\xb8\x1a\xf3\x0a\x45\x19\xff\xdd\x3a\x25\xda\xbe\xd1\xad\x56\xad\x21\xb8\x77\xe9\x15\x81\xe9\xb9\xd3\xdd\x56\xec\x38\xcf\xae\x62\xe2\x41\x4c\x32\xe6\x70\x3d\xda\xbf\xd2\xcb\x43\x97\x23\xf6\xa9\x45\x70\x45\x67\x7f\x53\xf5\xba\x91\x54\x52\xa4\xe9\x81\x66\x7a\x85\x9b\x1c\x02\xac\xb6\x35\x6f\x89\xd7\xcc\x3c\xcd\x5b\xf5\xfa\xff\x4c\x8b\xb4\xe1\x23\x90\xbf\x26\x3e\x9b\x51\x4e\xd1\x6d\x97\x1b\x45\xa4\xd2\x6a\xc1\x88\xa7\xc0\xca\x6a\x65\x44\xcd\x8f\xaa\xf9\xbe\xa8\xd6\xe8\x17\x84\x69\xaf\xd7\x6a\xf2\x4d\xe5\xd6\x70\xe8\x6a\x27\x98\xd3\x33\x5b\x0e\x11\x79\x63\xa9\x59\xa3\x21\xa5\x06\x8e\x62\x3f\x89\x2f\xa5\xaf\xc9\x05\x95\x30\x74\x30\x22\xc0\xa9\xf4\x05\x9b\x65\x3a\x62\xcc\xb9\x0e\x74\x1a\x36\xb4\x40\x50\xeb\xa9\x6b\xbf\x4f\x1e\x14\x92\x55\x3d\xff\xd6\x58\xa6\x07\x86\x34\x10\xd3\xd4\x52\x2a\xde\xb0\x59\x3a\xbc\x87\xf4\xb8\x76\xa1\x2d\x21\x4f\x11\x27\xf6\xac\xd3\x8e\x5f\x79\x0f\x73\x02\x08\xd1\x2f\x36\x52\x92\x78\x26\x59\xce\x1d\xc3\x3d\xdb\xf3\x74\x45\xb5\x67\x6f\x8f\xb7\x5e\x19\xa6\x47\x56\x3d\xa1\x90\x97\x04\xa1\x24\xfa\x68\xda\x59\xe1\x9b\xe4\x48\x63\xb6\xb6\xef\x37\x71\x1a\x97\xb7\xec\xdb\xbc\xb7\xa8\x0a\xe2\x74\x68\x1e\x13\x8a\x35\x77\xf4\xa7\xe3\xfe\xa8\xdd\xf5\xeb\x09\x91\x26\x9d\x8a\xab\xe8\x71\x2a\x95\x34\xb5\x48\xc2\x50\x24\x7e\x19\x1a\x76\xa2\x32\x53\x8b\x32\xdb\x41\x27\xcc\x1c\x18\x64\xae\xf8\xaa\x42\x8e\x18\x62\xdf\x74\xce\x47\x55\x41\x28\x4c\x5b\xf3\x5c\x77\x60\x72\xa9\x1f\x77\xad\x53\xd7\x2c\xc5\x43\xfa\xc4\x2b\xac\xba\xad\xc3\x62\xd5\xa5\x56\xc4\x0b\x8a\x02\xf8\x80\x10\x5e\x9c\xd7\x8a\x42\x9b\x56\xc5\x21\x56\xb2\x3d\x80\x0e\x98\xba\xbb\x22\x45\xbe\xa6\xe3\x7e\x6d\x0c\x61\x73\xfa\x63\x4a\xe6\x29\xd8\xd5\x84\xdc\x1a\xa8\xd5\xb3\x79\xfd\x7a\x2b\x91\xac\xbd\xa0\xea\x4b\x2a\x49\x35\x4b\xa2\xd8\x9c\x5a\x50\xbe\x72\xb3\x92\xca\x38\x5a\xbc\x04\xbf\xdb\xfd\x66\x25\xe7\x7f\xa8\x1f\x57\xe9\xdc\x42\xaa\x39\x7a\x61\x77\x39\xab\xa6\x84\xe7\xce\x4e\x14\x7a\xde\x0a\xf2\x7b\x0a\xdc\xcc\x15\x09\x5f\xb6\xd7\x7a\x78\x30\x38\xe1\xea\xbd\xe7\x7c\x4d\x9b\xfc\xc4\x0c\x4b\xd7\xdc\x93\xc6\x28\x5d\xfc\x5f\x25\x59\x70\x4b\x49\xe0\x9a\x34\x9a\x02\xaf\x67\xea\xd4\x64\xcb\xa4\x6c\x6f\x25\x43\xc4\x75\xa9\x6b\x20\x26\x2e\x92\xe2\x28\x13\xbf\x11\x80\x9f\x15\x55\x40\x48\x29\xf2\x96\x06\x11\x95\x01\xe2\x87\x95\x10\x44\x27\xc3\xb0\xd0\x9d\xab\x92\xfa\xd8\xe8\x42\xa4\xd3\x10\xd3\x34\x7e\xdb\x0d\x88\xfe\xb9\xe5\xc5\x8d\x79\xea\x75\x9e\x1e\x1c\x54\x9f\x5f\xeb\x87\x47\x7b\x8d\x4a\xf4\xfa\x41\xbf\x3a\x3c\x3c\xfc\x74\xfd\x30\x0c\xd2\xac\x21\x9e\xc5\x48\x2c\x24\xe8\x93\x57\x20\xbe\x9b\x8f\x01\x38\x5d\xbc\x7e\x0e\xf3\x8c\x03\x20\x7f\xa5\x51\x26\x38\xf2\x61\xd6\xb9\x7a\x70\x41\x79\x42\x4d\x0d\x4a\xca\xca\xde\xe7\x59\x12\x20\xcf\xcb\xf2\xf9\xee\xea\x72\xbe\x4b\xda\xdb\xfd\x10\x4f\x4d\xc0\xae\x2a\x02\xb2\x92\xde\xc8\x1d\xb4\x75\x2c\x4b\xb2\xb9\xbe\x39\xda\x14\x8b\xaa\x98\x46\xfd\x33\x1d\xcc\xaa\xa0\x46\xd1\x98\x3e\x89\x2d\x6b\xdf\xaf\x0a\x3a\xb7\xdc\xbf\x1a\x5b\x31\x33\xb0\xde\x80\x0e\x42\xc9\x55\xc0\x55\xc7\x25\x7a\xc6\x60\x39\x5c\xbe\xac\x6c\xb3\x1a\xd6\x60\x23\xd9\xb1\x4c\x61\xc5\xb4\xfe\x6f\xa6\x1a\xb7\xb3\x0c\x46\xd0\x6a\xe3\x93\x1c\xd0\x47\xdb\xec\xca\x8b\x72\x4e\x0f\x0e\x74\x4f\x9f\x2f\x82\x9c\xf7\x6f\xe7\x79\x96\xd3\x43\x27\x8f\xa9\x78\x71\x3b\xba\x6b\x09\x56\x1f\xd9\x27\xb1\x1c\xfe\x6a\x55\x4c\xa7\xd2\x0d\x6f\x5d\xa7\xf5\x74\x0c\x2d\xd3\x7e\x5e\x0d\x5b\x0f\x60\x65\xdc\xee\x4d\x8d\x9b\xae\x9f\x69\xba\xa9\x71\x47\x51\x59\x25\x83\x59\xc0\xba\xd1\x55\xe4\x59\x81\xe7\x07\xea\x9a\x2c\x90\x5d\x30\x23\x60\xa0\x44\xc5\x50\x8b\x87\xef\xc7\xab\xfe\xe8\xd4\x77\x47\x13\x4d\x9a\x0d\x54\x91\x23\xf3\xdd\xc7\xc6\x9b\x29\xdd\xc1\x29\xd2\x6a\xb6\x64\xb0\x4e\xf7\xb4\x33\x53\x65\xda\xab\xf4\xcc\x9a\x5e\x03\x89\x5a\xc4\xb3\xe2\x3e\x39\x07\x4f\xcd\xd5\xe0\xbe\xf8\xfc\x73\x7c\x6b\x88\x83\x47\x8f\x6b\x10\xe3\x7b\x67\x4e\x8f\x8b\xea\x4f\x39\x06\xce\x09\x07\x79\xd7\x11\x78\xf2\xcd\xfb\xfb\xea\xb6\x9d\xfe\xcb\xf7\x76\x66\xbf\x5d\xc5\x39\x63\x07\x92\x2b\x2c\x87\x04\xd0\x5a\x1e\x44\x32\x91\x54\x84\x99\x51\x6d\x66\x89\x65\x53\x8f\x6d\x75\x3d\xe1\xc5\xac\x0b\x65\xb5\x63\x4e\xef\x3a\xe3\xb4\x7e\x6a\xae\x34\x04\x57\xb3\x5b\x42\x33\x7d\xfb\x6a\xf4\xb1\x44\x50\x07\xfe\xde\x41\x45\x5c\x1b\x54\x68\x88\xcc\xd7\x47\x3c\x1f\x78\xf5\xd2\xfe\x44\x5f\xd7\xe6\x6b\xd9\x9c\x03\xd6\x98\x34\x84\x24\x98\xee\x3e\xa9\x75\x72\x63\xdc\x02\xdc\x90\x4c\xbe\x04\x3a\x6a\xdf\x2f\xa3\xd5\x2d\xbb\xa7\x2e\xf5\xfb\x2d\x7c\xe7\x62\x48\x8d\xb8\x9b\x1b\xaa\x75\x95\x94\x91\xe4\x96\x96\xa8\xb1\xae\xa5\xfb\x0a\x00\xdb\x0b\xe8\xc6\xc1\x3c\xc5\x74\x71\x58\xa9\xce\xa4\xa8\x15\x1d\x59\x57\x0b\xee\xef\x79\xab\x7e\x60\xa8\xff\xef\x9a\x7c\xf1\xf9\x4a\x62\xbf\x9b\x5a\x79\xb6\x89\xcf\x06\xf5\x5e\xed\xec\xd7\x73\xbe\x9d\xc6\xce\xc1\xd6\xf7\x73\x3a\x15\x9b\xca\x40\x5e\x4d\x71\x6b\xe0\xbd\xad\xbc\x4d\x89\x7d\xa3\xc0\xed\x52\xbb\xd8\xaa\x7a\x5b\x5d\xd7\xe1\x8b\x2a\xc2\x57\x8c\x8b\xa8\x68\xf1\x16\x61\x45\x2f\xef\x88\x8b\xe6\x47\xf4\xe7\x8b\xf5\xdd\x1a\x97\xe6\xfe\xc0\xfc\x8e\xe0\xb8\x2c\x66\x4f\x2d\xb2\x1b\x9d\x6f\xe6\x59\xfd\xc2\x34\x2f\xd3\x94\x90\x86\x9a\xb9\x22\xc6\xb1\x3f\xce\xa2\x98\x7f\x14\xd1\xaa\x15\x94\x8c\x2f\xba\x65\x5a\xef\xcd\xc6\xcb\xd7\x1c\x88\x5e\x39\xb8\x11\xff\x0a\xa2\x3d\xf1\xb9\x36\xb2\xa1\x66\x74\xa9\x12\x71\x68\x89\x09\x9d\x95\x5e\x49\x4b\xdf\x64\xfa\xa6\xf1\xdc\xf2\x3a\x67\x76\x77\xca\x04\xec\x0b\xed\x6a\xfb\x0b\x8b\x4f\x6a\xfd\xc3\x84\x85\x0c\x12\x84\x17\x44\xeb\xf0\xd2\x48\xa1\x2b\x6d\x5f\xb7\xfb\xdc\x7e\x97\xa0\x83\x4f\x16\xd6\xa6\x50\xf7\x78\x8f\xe8\x58\x3b\x9f\x97\x9a\x17\x92\x6f\x73\x1c\x84\xc5\x7c\x8c\x14\x44\xcc\x54\x78\xf9\x71\x15\xf9\x9a\xcd\x32\xcd\x89\x53\xb1\xd2\x9a\xcd\x22\x98\x2b\x8a\x9e\x14\xd8\x39\xfc\x67\xe9\x3a\xc0\xc7\x45\x53\x85\x4b\x26\xb3\x51\x16\x2a\x6e\x20\x61\xbb\xfb\xad\x27\xad\x47\x56\xdb\x3d\x25\x24\xb2\x98\x48\x63\xa9\xf5\xdf\x5c\xf0\xdd\x12\x19\x7d\xa5\x1e\xde\x8c\xcf\xdb\xa3\x77\x50\xd0\x2d\xed\xf2\xa1\xdc\xbd\x57\xeb\x15\x66\x3e\x67\xf4\x3b\x75\x26\x7e\xd7\xe9\xf5\xb6\xb1\xfe\xfe\xfd\xcf\xc3\xda\xee\x83\x39\x19\xa3\x82\xaf\x60\xf3\x14\xbe\x7e\x97\xcd\xcf\x43\xb3\x75\xa4\x47\xeb\xdd\xbf\x8a\xf7\x9f\x12\xd6\xb6\x87\xdc\x20\xd3\xe6\xd4\x6b\x7c\xbb\x68\x76\x86\xf4\xf7\xec\x59\x23\x92\xcd\xae\xdd\x98\xe5\xcd\x9e\xdb\x48\x93\xe6\xb0\xdf\x48\xae\x9a\xfd\xe7\x8d\xbc\x6c\xba\xd3\xc6\x37\x41\xf3\x67\xe3\x86\x54\x4d\xdb\x6b\xac\x8a\xe6\x89\xdb\x58\x25\xcd\x71\xbf\x71\x31\x6f\x9e\x9c\x36\x30\xa9\x33\xe1\x1b\x26\x92\x6d\x03\xab\x63\xb5\x68\xfc\xf6\x9f\x7e\xfe\x9b\x7f\xff\xd3\xdf\xfc\xea\x1f\x7f\xfc\xf3\x3f\x6e\xfc\xf6\xd7\xdf\xfd\xd7\xdf\xff\x99\xf9\xd2\x95\x65\xa1\xc2\x45\xa3\x97\x07\xe9\xf7\x7f\x17\xc4\xaa\x31\x94\xc8\xf0\xc1\xd4\x22\xd5\xe8\x07\xc5\x55\x2c\xff\xe3\x6f\xca\xc6\xbb\xbf\xfe\xe1\x8f\x7e\xf8\xee\x87\xef\xde\xfd\xeb\xbb\x5f\xbd\xfb\x75\xe3\xc7\xbf\xf8\xdb\x1f\xff\xf2\x1f\xfe\xf3\x17\x7f\xd5\xb0\xd5\x2a\xf8\xfe\x97\x59\xd2\x18\x83\xb4\x96\xf3\xf2\xfb\x5f\x28\xba\x70\x3f\xc9\x03\x15\x53\x63\xa2\x2e\xe3\xc6\xbb\x5f\xfe\xf0\x27\xef\xfe\xed\xdd\xbf\xbc\xfb\xe7\x1f\x7e\xae\x65\x34\x9c\x22\x48\x62\x22\x92\x9a\x88\x45\x7c\x0a\xe4\x10\x44\x0b\x91\xd9\x5d\x02\xdc\x58\x51\x04\x1b\x92\x88\xe3\xb9\xc5\x9a\x62\x8d\x59\xac\x2e\x3c\x7e\xbb\xb0\x58\x67\xfc\xd8\x9c\xbc\xb0\x58\x77\xfc\x2b\x24\x8b\x15\x48\x6e\x98\x5b\xac\x45\x3c\xa6\x89\xc5\xaa\xa4\xdf\x34\x5c\x59\xac\x4f\xba\x7c\x2b\x2d\x56\x2a\x1e\xbf\x09\x2c\xd6\x2c\xcd\xa2\x2c\x56\x2f\x1e\xf9\xd3\x62\x35\xd3\xb7\xc4\x62\x5d\xd3\x8f\x98\xe6\x16\x2b\x9c\x32\x93\xc2\xe2\x70\x6d\x7e\x75\x81\x40\xb0\x5a\x11\xbc\x20\xde\x2d\xe2\xf9\x22\xc1\xff\xc8\xc1\x93\x80\x4b\x44\x6c\x5c\x2d\x50\xa1\xe4\x18\x29\xaa\xf5\x6a\xdd\xa3\x65\x86\xd1\xa5\x5b\x46\xd0\x08\x77\x3e\x1b\xbd\xf0\x7b\x20\xc2\xa0\x85\x27\xae\xbe\xbc\xac\x05\x41\x6f\x01\x06\x49\x40\xae\xcb\x04\xb7\xa9\x38\xdf\x9b\x93\x65\xcf\x33\xbe\x75\x61\x66\x9e\x81\x33\x6c\xc9\x25\x08\xd7\xb7\x0e\xec\x55\xff\x1d\x00\x00\xff\xff\x8f\x31\xb3\x6f\xd2\x26\x00\x00") +var _confAppIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x7a\x4b\x8f\x23\x47\x72\xff\xbd\x3e\x45\xaa\xf5\xd7\x5f\x33\x06\xc9\x7e\x69\x1e\x6a\xa9\x6d\xb1\xc9\x62\x37\x77\xf8\x52\x15\x39\xa3\xd1\xa0\x51\x53\xcd\x4a\x92\xa9\x2e\x56\x71\x2a\xab\x7a\xba\x05\x1f\x56\xf0\xc1\x80\xaf\x36\xec\x8b\x61\xd8\x07\xc3\xc0\xfa\x01\x2f\x7c\xd9\xb5\xe1\x93\xe0\xfb\xe8\x3b\x2c\xb4\xf6\xb7\xf0\x2f\x22\xb3\xc8\x62\x4f\xab\xe1\x05\x6c\x3d\x9a\xc5\xac\xcc\xc8\xcc\xc8\x88\x5f\xfc\x22\x92\x1f\x8a\x81\xfb\xdc\xf5\x04\xff\xe9\x0f\xdb\xdd\xce\x4b\x31\x3e\xeb\xfa\xa2\xd3\xed\xb9\xce\x87\x62\xd4\x73\x9b\xbe\x2b\xfa\xcd\x67\xae\x68\x9d\x35\x07\xa7\xae\x2f\x86\x03\xd1\x1a\x7a\x9e\xeb\x8f\x86\x83\x76\x77\x70\x2a\x5a\x13\x7f\x3c\xec\xa3\x71\xd0\xe9\x9e\x9a\x91\xce\x67\xa2\xb9\x5a\x89\x24\x5c\x4a\x91\x2f\xc2\x5c\xe8\x45\xfa\x56\x8b\x34\x11\xf2\x4a\x66\x37\x62\x15\xce\xf1\x42\xe5\xb1\x74\x9a\xa3\x51\x30\x68\xf6\x5d\x71\x2c\x4e\xd3\xb9\x3e\xc2\x5f\x71\xaa\x72\xe1\xcb\xec\x4a\x4d\x25\x24\xb5\x16\x61\x82\xee\x68\x53\x33\x71\x93\x16\x22\x2b\x12\x11\xa7\xd3\x30\x8e\x6f\x1c\x6f\x32\x08\x26\x3e\x56\x7f\x2c\xe6\x2a\x47\x6f\x57\xe5\x0b\x99\x89\x9d\x48\x5e\xed\xd4\xc4\xce\x2a\x4b\xa3\x1d\x91\xa2\x21\x97\x3a\x47\x4b\x24\x67\x61\x11\x43\x96\x36\x7d\x58\x02\xb6\x4e\x0b\xc0\x77\xc7\x79\x95\xc9\x55\xaa\x55\x9e\x66\x37\xe7\x8e\x37\x1c\x8e\xc5\xb1\xe3\xb7\xbc\xee\x68\x1c\x8c\x5f\x8e\xa8\xdb\x45\xa8\x17\x98\xa9\x6d\x25\x35\x07\x7e\x57\x4c\x17\x61\xa6\x65\xee\xd0\x97\x00\xaa\xf2\x7c\x17\x03\x05\xba\x75\xd2\x6c\x2a\xed\xbe\x13\xf9\x56\x6c\xc4\x8b\x3c\x15\x17\x52\xac\x32\x75\x15\xe6\xd2\xe9\x0c\xbd\x96\x1b\x8c\xbc\xee\xf3\xe6\x98\xa6\x99\x85\xb1\xa6\xfd\x9f\xc6\xe9\x45\x18\x8b\x65\x78\xad\x96\xc5\x52\x4c\x33\x19\xe6\x0a\xaa\x8c\xd5\x12\x3a\x49\x67\x55\x89\x2b\x6c\xbd\xd0\x32\xab\x89\xfa\xbe\x58\xca\x30\xd1\x22\x49\x4d\x4f\xa7\xdf\xfc\x2a\x68\x79\x6e\x73\xdc\x1d\x0e\x82\x5e\xb7\xdf\xa5\x05\xd6\xf7\x31\xc3\x28\xcc\xa7\x0b\x41\x0a\x12\x6f\x0a\x59\x48\x11\xcb\x64\x9e\x2f\x6a\x98\xf3\x92\x15\x1f\x6a\x11\x87\x19\x0e\x01\x0f\x98\x4b\xab\x0b\x9c\xdc\x68\xd2\xeb\x05\x9e\xfb\xe5\xc4\xf5\xc7\x01\xfe\x4e\xdc\xa0\xe7\x0e\x4e\xc7\x67\x10\xbb\xbf\x87\x7f\xa0\xcb\x42\x9d\x43\xfe\xa0\x58\x5e\x60\x61\xd5\xa5\x2a\xa9\x8d\x65\x84\x99\x64\xeb\x90\x91\x50\x09\x2c\x04\xaa\xba\x5e\xc5\x29\x5a\xc9\x48\x1c\xf7\xab\x51\x6f\xe8\x41\x2d\xcd\x53\xd8\x5a\x30\x98\xf4\x21\xfd\x60\x6f\x4b\xa8\xd2\xba\xf8\x69\x71\x2c\xa6\xeb\xfb\x93\x5b\x42\xf6\xb7\x85\xac\xd5\x9b\x2e\xa1\x2c\x7d\x4b\x48\x38\xcd\xd5\x95\xca\x6f\xc4\x4c\xca\xc8\xe9\xb8\x6e\x3b\x60\x75\x0e\xfb\x50\xa3\x15\xf8\x88\xf7\xdb\x08\xa3\xa5\x4a\xb6\x77\x4d\x27\x72\xff\xfa\xc8\x84\xb7\x97\xf7\x68\xef\x7d\xc5\xdd\x2b\xc2\x73\x47\xc3\x7b\x45\x24\x69\x0e\x87\xba\x5f\xc8\x60\x38\xee\xb6\x6e\x6b\xfb\xd1\x96\x98\x34\x9b\x87\x89\xfa\xd6\xd8\xe0\x7d\xb2\x86\xde\xe9\x7b\xeb\x71\x5e\x2d\xc3\xec\x32\x4a\xdf\xb2\x86\xdc\x24\x84\x21\x09\xb8\x4e\x04\x1b\xc5\xb8\x0b\xd8\xf6\x25\x0c\x20\x97\x89\x86\x78\xc7\x1d\x34\x4f\x7a\x6e\x00\x77\x6a\xc3\x62\x07\x6e\x70\x02\xfb\x7d\x56\xf1\x8d\x9e\xd2\xec\x02\xd3\x42\xe7\xe9\x52\x4c\xbc\x5e\xdd\x9f\x2e\xe4\xb2\xba\x4d\xe0\x04\xaf\x8d\x8c\x58\x25\x97\x5a\xbc\x5d\xc8\x04\x0a\x4d\x22\x99\xa9\x64\x2e\xfa\x76\x45\x10\x37\x03\x50\xc8\xeb\x70\xb9\xc2\xaa\x00\x27\xb5\x65\x38\x4f\xe0\xd4\x06\xe1\x02\x48\x0f\xfc\xd6\x99\xdb\x07\x0a\x1e\x63\x2b\x38\x55\x78\xf5\xb9\x33\xf2\x86\xe3\x61\x6b\xd8\xc3\xba\x16\x79\xbe\x72\xda\xc3\x7e\xb3\x3b\xc0\x37\x06\xa9\x45\xaa\x73\xc6\x11\x1a\x8f\xc6\x8f\x1e\x94\xfd\x1f\xea\xa3\xdd\xdd\x8f\x1e\x98\xee\xf8\xf2\xd1\x83\xb3\xf1\x78\x14\x8c\x86\xde\xf8\xa1\xde\x75\xf8\x4b\xb3\xdd\x06\xb6\x39\xeb\x17\x10\x70\x48\xae\x85\xad\x93\x70\xf1\xa0\xdd\xff\xfa\x21\xed\x9b\xd7\x4e\x08\x2a\xde\xa6\xd9\x25\xd9\xdb\x03\x5d\xc0\xab\xb1\x6b\xdf\x3f\x13\xc5\x2a\x02\xc6\x3c\x84\x21\xc3\x04\x34\x6d\xfb\xad\xbc\x10\xda\x80\x6c\x03\xe2\xba\x89\x58\x62\xa5\x62\x1a\x6a\x28\x8f\x60\x36\x4a\xc9\x64\x80\x59\xd0\x1d\x90\x6a\x6a\x60\x18\xe8\xba\xc6\xd0\xab\x30\x2e\x78\x70\x33\xce\x61\x1c\x84\x46\x49\x7c\x63\x61\x3a\xe3\x79\x8d\x8e\x20\x28\x92\x04\xb9\x24\x90\x24\x68\x8a\x0c\x58\x1a\xed\x8b\x5f\x36\x9c\xde\xb0\xd5\x04\x9e\x6c\x14\x45\xba\x84\x82\xd6\x4a\xbc\xad\x1f\x20\xb0\xd2\x6c\x40\x34\xd1\x0c\xa8\x58\xe0\xb4\xf9\x70\x69\x9a\xf0\x2a\x54\x31\xbd\x76\xda\x5d\x9f\xcd\x88\xba\x6d\x4c\xe7\xc5\x42\x72\xa4\x80\x73\x8a\x8b\x42\xc5\x39\x6c\xb7\xb2\xe2\x94\x16\x9d\x37\x1c\x7f\xdc\xf4\xc6\x34\x34\x80\x8b\x3e\xe7\x40\x63\x24\x50\x93\x3d\x91\x83\x03\xc8\xf3\x52\x4c\xba\x0a\xf3\x05\xd9\x23\x09\x8a\x54\x26\xa7\x84\xca\xdc\x95\x37\x36\x6a\x32\x3a\x56\x96\xde\x6a\x0f\x28\x36\x24\xe4\x39\x36\x58\x2d\xa1\x0e\x67\xd8\xe9\xb0\xc1\xdb\xc8\x64\xa6\x2c\x37\xe2\x0d\x27\x63\xe0\x45\x6f\x78\x5a\x0d\x13\x32\x91\x19\xce\x58\xe8\x5c\xae\xf4\x11\x5a\xfe\x9f\x68\xec\xce\xc9\x22\xa6\x32\xcb\x45\x7d\x1a\x1e\xe7\x19\xc0\xbd\x1e\x15\x19\x7b\xef\xf1\xd3\x27\x8f\xf7\x16\x7b\xcb\x3d\x2d\xea\xa4\xe0\xe3\xe5\x0d\x7d\x34\xac\x07\x34\x00\x85\xce\x67\x90\x33\xcc\xc4\x2c\x83\x77\x85\xa2\xb1\x9a\x5d\x8b\x99\x8a\x19\xa4\xd3\x2c\x87\x65\xf0\x1b\x3a\xd2\x17\x2a\x89\x28\xc8\xd3\x64\x6a\xa6\xa6\x66\x29\x04\xe4\x0f\xa2\x14\x52\xe8\x4c\x60\xa3\x73\x99\x93\x35\x99\xf1\x3c\xd0\xc6\x3f\x71\x29\x6f\x1e\x9a\x65\xa7\x2b\xf8\xbf\x8e\xc5\xea\x72\xaa\xf7\x0f\x44\x1d\xba\x21\xa9\x3c\x7b\x3d\x2d\x72\xfb\x4d\x2e\x45\x3d\x49\x31\x4c\xff\xcf\x46\xa1\x67\x39\x88\x5e\x68\x7a\x88\xa4\x76\x5a\x2e\x4e\x98\x78\x0b\xb4\x69\x80\x64\x97\x6c\x4f\xef\x96\xd3\x38\xcf\xdc\x97\x77\x76\xb0\x12\x31\xfd\x64\x45\xa1\x37\xc6\x51\xc6\x74\xfe\xb9\x84\x06\x69\x53\x61\x12\x41\x0b\x50\xf7\xd4\xe8\x8d\x0c\x04\xdd\x2b\x2c\x84\x55\x40\x66\x03\xcb\x85\xb2\xd8\x85\xd1\x2c\xaf\xe5\xb4\x80\x82\xc9\x00\x81\xc9\x55\xfb\x31\xec\x2a\x26\x15\x33\x0f\xe0\x49\x4f\xbf\xee\x8e\x84\x2e\x56\xa4\xd6\x12\x37\xb9\xad\x02\x96\x58\x0c\x79\x3e\xb3\xaf\x19\x1b\x78\x52\x8f\xd3\xf9\x1c\xc7\xc8\x21\xaa\x06\xef\x4f\x88\x92\xec\x2c\xd2\xa5\x34\xb4\xc9\x46\xe3\x1d\xa7\xd7\x64\xba\x47\x90\x4e\x7a\xa0\x1e\xc0\x40\xa0\x4a\x08\x3e\x24\xcf\x2b\xd4\x6b\x79\xa3\xdf\xc4\x4c\xbe\x60\x4d\xf3\x4c\x6a\x23\x09\x8d\x2a\x97\x87\x78\xa1\xf2\x8f\xb5\x81\x88\xe9\x22\x25\x92\xd7\x3e\x29\xb9\x15\x8f\x75\xce\x86\x3e\xf9\xd5\xfe\xc1\x93\xc6\x1e\xfe\xdd\x3f\x3a\x3c\xdc\x7b\xec\x58\x9a\x48\x26\xed\x58\xce\x97\xc1\xe9\x9c\x51\xd3\xf7\x5f\xb4\x59\x2f\x1d\x9a\xa8\x32\x2d\xe0\xa8\x26\x64\x49\x09\x8d\xcf\xd1\xca\x32\xf9\xa6\x80\x7b\x9a\x85\xc1\xdd\xd5\xec\xa6\x3e\x2b\xe2\x78\x07\xbe\xda\x5b\xd3\x41\xd3\xbf\x14\x5b\xae\x9f\xcf\x74\x27\x57\xd1\xc5\x8e\x63\x1d\x9a\xb4\xc0\xae\xd6\x88\x2e\xa0\x14\x4b\x01\x28\x42\x4c\x8b\x0c\xb4\xe1\xdc\xe9\x0e\x70\x8e\xe0\x4b\x40\xb9\x6a\xfc\xfa\xe0\x03\x43\xab\x0d\xeb\x1e\x0f\xc5\x33\xd7\x1d\x89\x97\xc3\x89\x27\x78\x87\xed\xe6\xb8\x29\xfc\x66\xc7\xfd\xe0\x03\xc7\x77\xc1\xde\xc6\x01\x6c\x11\x02\x3e\xf8\xf0\x8b\x4e\xdb\x7d\xe1\xe1\xbf\xff\xff\x7b\x0f\xc8\x22\x8a\x3c\xa5\xc3\x54\x14\xda\x96\x92\xa3\x75\x14\xc2\x35\x80\x12\xdd\x01\x78\x5a\xdf\xed\x9f\x00\x34\xda\xcd\x97\x88\x5e\xe2\x89\xd3\x1a\x0e\x9f\x75\x5d\x26\xcf\x15\xc5\x06\xe1\x5b\xa9\xe9\x68\xed\xeb\xf5\xb8\x6a\x1f\x95\x80\x84\x46\xca\xe8\xc6\x23\x6a\xab\xc9\x8d\xd3\xeb\x1b\x11\x16\xd0\x75\x92\x97\xb6\xb9\x90\x61\x44\xf0\x4f\x70\x6f\x89\x10\x7f\x01\x5b\x01\x96\xfa\x44\x77\x87\x5f\xbd\x0c\x9a\x93\xf1\x99\x3b\x80\x99\x1b\x72\x6a\x0f\xf7\xab\xfa\x0b\xf7\x84\x5e\xd5\xa9\xc1\x06\x5c\x98\xcb\xb9\xd3\x6c\x8d\xbb\xcf\x5d\xd0\xaf\x36\x38\x27\x3d\xf5\xbb\x03\x40\x22\x6d\x6c\xff\xe9\x1e\x84\x83\x7d\x07\xc6\x2c\x7e\xb2\x13\x7c\x96\x57\x53\x86\xb7\x34\x99\xa9\x6c\x29\x64\x7d\x89\xb8\xc1\xee\x91\xc9\x39\xe8\x85\xc1\x4a\xc8\x3c\xed\xfa\x84\xba\x2e\xa2\x75\x2f\xe0\x6c\xc7\xeb\x57\x8e\xb2\x9d\x4a\x13\xdf\x98\x6f\xd8\xc1\x98\x80\xac\x85\x0d\xc2\x30\x77\xe2\x92\xd3\xb4\x48\x4c\xac\xdc\x40\x3a\x8b\xf7\x78\xff\x15\xa1\xbc\xc4\x25\x20\x47\x68\x35\xe7\x20\x81\xa5\x5e\x29\xa4\x11\x61\x72\x93\x2f\xe0\xcd\x0d\x87\x28\x78\x17\x14\xd9\xef\x9e\x0e\x70\xd2\xcf\xbb\xee\x8b\x8a\x84\x56\x08\x3e\x44\xc1\x30\x0f\x33\xa6\xef\x6a\x4a\x71\xb2\x84\x88\x56\x13\x84\x26\x68\x22\xe5\x68\x7a\x95\x51\x7d\xd2\x01\x11\xc6\x99\x3d\xc9\xb2\x3f\x11\xc4\xce\xcb\x80\x74\x50\xed\x4e\x30\x1f\xc9\x1c\xa3\x8e\x38\x6e\x13\xb3\x01\x81\x5a\x14\x17\x14\x45\xc8\x35\xc0\xa9\xd9\x43\x76\x0d\x5b\xdf\xdd\x7f\xfc\xa8\x94\x79\x9f\x2d\xac\x27\xf9\xa9\xbe\xc3\x9f\x52\x9d\x25\x97\xd3\x70\x85\xe4\x26\x24\xae\xa2\x22\x63\x94\xef\x9d\xed\x5a\x17\xa3\x31\xdc\x11\x32\x28\x4e\xc2\xde\x40\x91\x16\x69\x7a\x49\xd8\x76\x86\x4f\x91\x87\xfa\x72\x2b\x43\x72\xee\x48\x7b\x38\x33\x8c\x15\x71\x88\x5c\x2d\x25\x05\x1e\x1c\x1b\x90\x20\x4d\x22\xed\xb4\x5d\x32\x45\x2f\x18\x77\xfb\x2e\xa2\x38\xa7\x0d\xc4\x9f\xc8\x64\x54\xc2\x78\x21\x2b\x21\x94\x56\xe7\x3f\xeb\x8e\x82\x71\xcf\x0f\x30\x8e\x12\xf4\xcd\x16\x37\xa4\x7c\xa1\x34\xe7\x7f\x2a\xc1\xe6\x96\x66\x9b\x98\x55\xe2\xf0\x0d\x19\xbf\x9d\xfa\x10\x11\x47\x3c\x02\x7b\x35\x9b\x6f\x57\xc4\x9e\x14\xb3\x19\x07\x33\xda\x22\xb3\x6b\x50\xbf\x44\xc6\x35\x44\x50\xb9\xb2\xf9\xa0\xe2\xe0\x65\x33\xf2\x28\x4d\x3e\x46\x7c\x4d\xb0\x89\xb7\x44\xbb\xf9\x25\xb8\x93\x3b\x68\x07\x27\x93\x4e\x87\xc8\x8a\x3b\x30\x0a\xa2\x75\x13\x1c\x00\x5d\x11\x22\x6f\x4c\xd2\xc0\x3e\x67\x0a\x02\xfe\xe4\xe4\x67\x6e\x6b\xcc\x4c\xb9\x2c\x0e\x3c\xd4\xa5\x4d\x1a\x76\x46\x74\x67\xc9\xc6\xa6\x97\xf9\xaa\x31\xa7\x67\x32\xb4\xa3\x47\x4f\x9f\xe0\xdd\x97\x5f\xda\x17\x6f\xde\x70\xab\xc9\x60\xd2\x5c\xd6\x68\xc1\x1c\x70\x89\x7c\x20\x03\x00\x5b\x86\x95\x8a\x9d\x4f\x1e\x3f\x42\x58\xf0\xfb\xe3\x91\x8f\x96\x38\xa6\x20\x08\xb0\x8a\x1a\xf0\x40\x0a\x99\xcc\x02\x71\x06\x54\xc2\xe0\xb1\x98\x88\xf6\x0f\x86\x87\x7c\x91\x52\x89\x88\x73\x6f\xaf\xd3\x12\x8f\x3f\xd9\xfb\xb4\x21\xba\x66\x22\xcb\x26\x6d\x60\xd6\x1b\x41\x50\x11\x4f\x14\xc6\x6f\x81\xd2\xeb\xf9\xca\xd0\x57\xa1\x88\x67\x6e\x6f\x48\xe4\xc6\x18\xab\x21\xb8\xc4\xd3\x18\x54\x29\xc1\x89\x14\x9d\x17\x50\xb7\xb1\x86\x13\x1e\xc3\x52\x5a\x26\x33\x5a\x0f\x20\xe3\xdf\x96\xb8\x55\x13\x61\x3a\xa7\x6f\x80\x5c\x4b\xac\x05\xfd\x02\x5a\x90\x05\x7f\x46\x39\xc6\x38\x13\x32\x79\x87\x55\xbe\x97\x56\x37\xdd\x10\x43\xca\x06\x88\x5f\x03\xa9\x34\xcf\xac\x65\x3c\xab\x13\x94\x41\x5f\x95\x81\xda\x18\xf9\xda\xc0\x0d\xf2\x89\x69\xac\xb0\xab\x6a\x47\x8a\xfb\x01\xf1\xb5\x6e\x87\x00\x62\x43\x8d\xef\xe0\x70\xc6\xc0\xef\x23\x71\xb6\xc7\x86\xc5\xb1\x89\x19\xae\x1b\x45\x60\x10\x60\x44\x74\xa2\x8f\x0e\x0f\x0e\x1a\x62\x4c\x9b\xb0\x04\xe9\x1b\x82\x64\x3c\x4a\x36\xdc\x75\x67\xec\x90\xf6\xff\x7a\x87\x2c\x7c\x47\x7c\xce\xaf\xbf\xa8\xf0\xe9\xdf\x7f\x2d\x8c\x83\x0a\xa7\xe3\x0d\xfb\xcc\x59\xfa\xbc\x8a\x4d\x6c\xe4\x88\xb1\x0a\xb5\x46\x22\x17\x59\xa2\xb3\xe1\x38\xce\xab\x29\x21\xfa\x16\xdf\x92\x4b\xf8\xbe\xa1\x35\xf0\xaa\x1d\x5e\x07\xb5\x72\xcf\x5b\x35\x2f\xdb\xd9\x69\xb6\x81\x76\x1c\x66\x4d\x4b\xc9\x72\xec\x7b\x4b\x9d\x4e\x5b\xf0\x4e\x44\x31\xa0\x67\x05\xc5\xb6\x24\x3e\xde\x03\xb9\x81\xa4\xe7\x4d\x8a\x08\x8f\xf7\x4a\x41\x66\x2d\x86\x2c\x55\xd6\x02\x01\x09\xd2\x22\x26\x07\x94\x6f\x5a\xdd\x61\x14\x0f\x38\x42\x40\xce\x29\x83\x3d\xce\xa7\xab\x1a\xbd\x3c\x3e\x7a\x7c\xf8\xe4\xd3\x5a\xa9\x90\xe3\x65\x38\x0d\x33\x58\x6d\x74\x71\xbc\x57\x5b\xa5\x69\x1c\x68\xf5\xad\x3c\x06\xb2\xd4\x54\x14\xcb\xc0\x82\xee\xb1\x89\xf1\xe5\xcc\x47\xe2\xf5\x86\x4d\xee\xef\x1f\xec\xef\xbf\xb6\xae\xc6\xbc\x42\x53\xb9\xe1\x6e\x9d\x12\x6d\xdf\xe8\xd6\xa8\xd6\x12\xdc\xbb\xf4\x8a\xc0\xf4\xbc\xdb\xde\x56\xec\x28\x4b\xaf\x14\xf1\x20\x26\x19\x73\xb8\x1e\xed\x5f\x9b\xe5\xa1\xcb\x11\xfb\xd4\x22\xbc\xa2\xb3\xbf\x29\x7b\xdd\x48\xaa\x67\xd2\xf4\x40\x33\xb3\xc2\x4d\x0e\x01\x56\xdb\x98\x37\xc4\x6b\x66\x9e\xf6\xad\x7e\xfd\x7f\xa6\x45\xda\xf0\x11\xc8\x5f\x1d\x9f\xf5\x28\xa3\xe8\xb6\xcb\x8d\x22\xd2\x49\xb9\x60\xc4\x53\x60\x65\xb9\x32\xa2\xe6\x47\xe5\x7c\x5f\x94\x6b\x0c\x72\xc2\xb4\xd7\x6b\x35\x05\xb6\x6c\x6c\x39\x74\xb9\x13\xcc\xe9\xdb\x2d\x4f\x11\x79\x95\x34\xac\xd1\x92\x52\x0b\x47\x2a\x88\xd5\xa5\x0c\x0c\xb9\xa0\x12\x86\x09\x46\x04\x38\xa5\xbe\x60\xb3\x4c\x47\xac\x39\x57\x81\xce\xc0\x86\x11\x08\x6a\x3d\xf1\xdc\xf7\xc9\x83\x46\xb2\x6a\xe6\xdf\x1a\xcb\xf4\xc0\x92\x06\x62\x9a\x46\x4a\xc9\x1b\x36\x4b\x87\xf7\x90\x1e\xd7\x2e\xb4\x25\xe4\x29\xe2\xc4\x9e\x73\xda\x0a\x4a\xef\x61\x4e\x00\x21\xe6\xc5\x46\x4a\xac\x66\x92\xe5\xdc\x31\xdc\x77\x7d\xdf\x94\x73\x3b\xee\xf6\x78\xe7\x95\x65\x7a\x64\xd5\x63\x0a\x79\x71\x38\x95\x44\x1f\x6d\x3b\x2b\x7c\x93\x1c\x19\xcc\x36\xf6\xfd\x46\x25\xaa\xb8\x65\xdf\xf6\xbd\x43\x55\x90\x6e\x8b\xe6\xb1\xa1\xd8\x70\xc7\x60\x32\xea\x0d\x9b\xed\xa0\x9a\x10\x19\xd2\xa9\xb9\x84\xaf\x12\xa9\xa5\x2d\x84\x12\x86\x22\xf1\x4b\xd1\xb0\x13\x15\xa9\x5e\x14\xe9\x0e\x3a\x61\xe6\xb0\x2c\xe4\x59\xbe\xaa\x91\x23\x4e\xb1\x6f\x3a\xe7\xa3\xb2\x20\x34\x4d\x1a\xf3\xcc\x74\x60\x72\x69\x1e\x77\x9d\x53\xcf\x2e\xc5\x47\xfa\xc4\x2b\x2c\xbb\xad\xc3\x62\xd9\x65\x7d\xd2\xc8\xd5\xf2\x1c\xf8\x80\x10\x9e\x9f\x57\x8a\x42\x9b\x56\xcd\x21\x56\xb2\x3d\x80\x0e\xd8\xa2\xbf\x26\x45\xbe\xa6\xe3\x7e\x6d\x0d\x61\x73\xfa\x23\x4a\xe6\x29\xd8\x55\x84\xdc\x1a\x68\xd4\xb3\x79\xfd\x7a\x2b\x91\xac\xbc\xa0\xea\x4b\x22\x49\x35\xcb\xb4\x52\xca\xcc\x6f\x56\x52\x5b\x47\x53\x4b\xf0\xbb\xdd\x6f\x56\x72\xfe\x87\xe6\x71\x95\xcc\x1d\xa4\x9a\xc3\x17\x6e\x9b\xb3\x6a\x4a\x78\xee\xec\x44\xa1\xe7\x5a\x90\xdf\x53\xe0\x66\xae\x48\xf8\xb2\xbd\xd6\xc3\x83\xfe\x09\x5f\x1d\xf8\xdd\xaf\x69\x93\x9f\xd8\x61\xc9\x9a\x7b\xd2\x18\x6d\x6e\x1e\x56\x71\x1a\xde\x52\x12\xb8\x26\x8d\xa6\xc0\xeb\xdb\x22\x39\xd9\x32\x29\xdb\x5f\xc9\x29\xe2\xba\x34\x35\x10\x1b\x17\x49\x71\x94\x89\xdf\x08\xc0\xcf\x8a\x2a\x20\xa4\x14\x79\x4b\x83\x88\xca\x00\xf1\xc3\x52\x08\xa2\x93\x65\x58\xe8\xce\x55\x49\x73\x6c\x74\x1b\xd3\xaa\x89\x49\xa2\xae\xdb\x21\xd1\x3f\xaf\xb8\xb8\xb1\x4f\x9d\xd6\xd3\x83\x83\xf2\xf3\x6b\xf3\xf0\x68\xaf\x56\x8a\x5e\x3f\x98\x57\x87\x87\x87\x9f\xae\x1f\x06\x61\x92\xd6\xc4\x33\x85\xc4\x42\x82\x3e\xf9\x39\xe2\xbb\xfd\xe8\x83\xd3\xa9\xf5\xf3\x34\x4b\x39\x00\xf2\x57\x1a\x65\x83\x23\x1f\x66\x95\xab\x87\x17\x94\x27\x54\xd4\xa0\xa5\x2c\xed\x7d\x9e\xc6\x21\xf2\xbc\x34\x9b\xef\xae\x2e\xe7\xbb\xa4\xbd\xdd\x0f\xf1\x54\x07\xec\xea\x3c\x24\x2b\xe9\x0c\xbd\x7e\xd3\xc4\xb2\x38\x9d\x9b\x6b\xab\x4d\xb1\xa8\x8c\x69\xd4\x3f\x35\xc1\xac\x0c\x6a\x14\x8d\xe9\x93\xd8\xb2\xf1\xfd\xb2\xa0\x73\xcb\xfd\xcb\xb1\x25\x33\x03\xeb\x0d\xe9\x20\xb4\x5c\x85\x5c\x75\x5c\xa2\xa7\xa2\xba\x39\x95\x2f\x4b\xdb\x2c\x87\xd5\xd8\x48\x76\x1c\x5b\x58\xb1\xad\xff\x9b\xa9\xc6\xed\x2c\x83\x11\xb4\xdc\xf8\x38\x03\xf4\xd1\x36\xdb\xf2\xa2\x98\xd3\x43\x17\xba\xa7\xcf\x17\x61\xc6\xfb\x77\xb3\x2c\xcd\xe8\xa1\x95\x29\x2a\x5e\xdc\x8e\xee\x46\x82\xd3\x43\xf6\x49\x2c\x87\xbf\x3a\x25\xd3\x29\x75\xc3\x5b\x37\x69\x3d\x1d\x43\xc3\xb6\x9f\x97\xc3\xd6\x03\x58\x19\xb7\x7b\x53\xe3\xa6\xeb\x67\x86\x6e\x1a\xdc\xd1\x54\x56\x49\x61\x16\xb0\x6e\x74\x15\x59\x9a\xe3\xf9\x81\x7e\x4b\x16\xc8\x2e\x98\x12\x30\x50\xa2\x62\xa9\xc5\xc3\xf7\xe3\x55\x6f\x78\x1a\x78\xc3\xb1\x21\xcd\x16\xaa\xc8\x91\xf9\xe2\x65\xe3\xcd\x94\xee\xe0\x14\x69\x35\x5b\x32\x58\xa7\x7b\xc6\x99\xa9\x32\xed\x97\x7a\x66\x4d\xaf\x81\x44\x2f\xd4\x2c\xbf\x4f\xce\xc1\x53\x7b\x2f\xb9\x2f\x3e\xff\x1c\xdf\x6a\xe2\xe0\xd1\xe3\x0a\xc4\x04\xfe\x59\xb7\xc3\x45\xf5\xa7\x1c\x03\xe7\x84\x83\xbc\xeb\x08\x3c\xf9\xe6\xfd\x7d\xb5\x9b\xdd\xde\xcb\xf7\x76\xe6\x5e\xaf\x54\xc6\xd8\x81\xe4\x0a\xcb\x21\x01\xb4\x96\x07\x91\x8c\x25\x15\x61\x66\x54\x9b\x59\x62\xd9\xd4\x63\x5b\x5d\x4f\x78\x31\xeb\x42\x59\xe5\x98\x93\xbb\xce\x38\xa9\x9e\x9a\x27\x2d\xc1\x35\xec\x96\x2f\x94\xf8\xea\xd7\xea\x63\x89\xa0\x0e\xfc\xbd\x83\x8a\x78\x2e\xa8\xd0\x00\x99\x6f\x80\x78\xde\xf7\xab\xa5\xfd\xb1\xb9\x2b\xce\xd6\xb2\x39\x07\xac\x30\x69\x08\x89\x31\xdd\x7d\x52\xab\xe4\xc6\xba\x05\xb8\x21\x99\x7c\x01\x74\x34\xbe\x5f\x44\xab\x5b\x76\x4f\x5d\xaa\xf7\x5b\xf8\xce\xc5\x90\x0a\x71\xb7\x37\x54\xeb\x2a\x29\x23\xc9\x2d\x2d\x51\x63\x55\x4b\xf7\x15\x00\xb6\x17\xd0\x56\xe1\x3c\xc1\x74\x6a\x5a\xaa\xce\xa6\xa8\x25\x1d\x59\x57\x0b\xee\xef\x79\xab\x7e\x60\xa9\xff\xef\x9a\x7c\xf1\xf9\x4a\x62\xbf\x9b\x5a\x79\xba\x89\xcf\x16\xf5\x5e\xed\xec\x57\x73\xbe\x9d\xda\xce\xc1\xd6\xf7\x73\x3a\x15\x97\xca\x40\x7e\x45\x71\x6b\xe0\xbd\xad\xbc\x4d\x89\x7d\xa3\xc0\xed\x52\xbb\xd8\xaa\x7a\x3b\x6d\xaf\xcb\x17\x55\x84\xaf\x18\x17\x51\xd1\xe2\x1a\x61\xc5\x2c\xef\x88\x8b\xe6\x47\xf4\xe7\x8b\xf5\xdd\x1a\x97\xe6\xfe\xc0\xfe\x88\xe1\xb8\xc8\x67\x4f\x1d\xb2\x1b\x93\x6f\x66\x69\xf5\xb6\x36\x2b\x92\x84\x90\x86\x9a\xb9\x22\xc6\xb1\x5f\xa5\x91\xe2\x5f\x64\x34\x2a\x05\x25\xeb\x8b\x5e\x91\x54\x7b\xb3\xf1\xf2\x35\x07\xa2\x57\x06\x6e\xc4\x3f\xc1\x68\x8e\x03\xae\x8d\x6c\xa8\x19\x5d\xaa\x44\x1c\x5a\x14\xa1\xb3\x36\x2b\x69\x98\x9b\xcc\xc0\x36\x9e\x3b\x74\x23\xdb\x9e\x30\x01\xfb\xc2\xb8\xda\xfe\xc2\xe1\x93\x5a\xff\x2a\x62\x21\xc3\x18\xe1\x05\xd1\x7a\x7a\x69\xa5\xd0\x7d\x7a\x60\xda\x03\x6e\xbf\x4b\xd0\xc1\x27\x0b\x67\x53\xa8\x7b\xbc\x47\x74\xac\x99\xcd\x0b\xc3\x0b\xc9\xb7\x39\x0e\xc2\x62\x3e\x46\x0a\x22\x66\x7a\x7a\xf9\x71\x19\xf9\xea\xf5\x22\xc9\x88\x53\xb1\xd2\xea\xf5\x3c\x9c\x6b\x8a\x9e\x14\xd8\x39\xfc\xa7\xc9\x3a\xc0\xab\xbc\xae\xa7\x4b\x26\xb3\x51\x3a\xd5\xdc\x40\xc2\x76\xf7\x1b\x4f\x1a\x8f\x9c\xa6\x77\x4a\x48\xe4\x30\x91\xc6\x52\xab\x3f\xf8\xe0\xbb\x25\x32\xfa\x52\x3d\xbc\x99\x80\xb7\x47\xef\xa0\xa0\x5b\xda\xe5\x43\xb9\x7b\xaf\xce\x2b\xcc\x7c\xce\xe8\x77\xda\x1d\x07\xed\x6e\xa7\xb3\x8d\xf5\xf7\xef\x7f\x3e\xad\xec\x3e\x9c\x93\x31\x6a\xf8\x0a\x36\x4f\xe1\xeb\x77\xd9\xfc\x7c\x6a\xb7\x8e\xf4\x68\xbd\xfb\x57\x6a\xff\x29\x61\x6d\x73\xc0\x0d\x32\xa9\x4f\xfc\xda\xb7\x8b\x7a\x6b\x40\x7f\xcf\x9e\xd5\x22\x59\x6f\xbb\xb5\x59\x56\xef\x78\xb5\x24\xae\x0f\x7a\xb5\xf8\xaa\xde\x7b\x5e\xcb\x8a\xba\x37\xa9\x7d\x13\xd6\x7f\x36\xaa\x49\x5d\x77\xfd\xda\x2a\xaf\x9f\x78\xb5\x55\x5c\x1f\xf5\x6a\x17\xf3\xfa\xc9\x69\x0d\x93\x76\xc7\x7c\xc3\x44\xb2\x5d\x60\xb5\xd2\x8b\xda\x6f\xff\xe9\xe7\xbf\xf9\xf7\x3f\xfd\xcd\xaf\xfe\xf1\xc7\x3f\xff\xe3\xda\x6f\x7f\xfd\xdd\x7f\xfd\xfd\x9f\xd9\x2f\x6d\x59\xe4\x7a\xba\xa8\x75\xb2\x30\xf9\xfe\xef\x42\xa5\x6b\x03\x89\x0c\x1f\x4c\x2d\xd2\xb5\x5e\x98\x5f\x29\xf9\x1f\x7f\x53\xd4\xde\xfd\xf5\x0f\x7f\xf4\xc3\x77\x3f\x7c\xf7\xee\x5f\xdf\xfd\xea\xdd\xaf\x6b\x3f\xfe\xc5\xdf\xfe\xf8\x97\xff\xf0\x9f\xbf\xf8\xab\x9a\xab\x57\xe1\xf7\xbf\x4c\xe3\xda\x08\xa4\xb5\x98\x17\xdf\xff\x42\xd3\x85\xfb\x49\x16\x6a\x45\x8d\xb1\xbe\x54\xb5\x77\xbf\xfc\xe1\x4f\xde\xfd\xdb\xbb\x7f\x79\xf7\xcf\x3f\xfc\xdc\xc8\xa8\x75\xf3\x30\x56\x44\x24\x0d\x11\x8b\xf8\x14\xc8\x21\x88\x16\x22\xb3\xbb\x04\xb8\xb1\xa2\x08\x36\x24\x11\xc7\x73\x87\x35\xc5\x1a\x73\x58\x5d\x78\xfc\x76\xe1\xb0\xce\xf8\xb1\x3e\x7e\xe1\xb0\xee\xf8\x27\x50\x0e\x2b\x90\xdc\x30\x73\x58\x8b\x78\x4c\x62\x87\x55\x49\xbf\x69\xb8\x72\x58\x9f\x74\xf9\x56\x38\xac\x54\x3c\x7e\x13\x3a\xac\x59\x9a\x45\x3b\xac\x5e\x3c\xf2\xa7\xc3\x6a\xa6\x6f\xb1\xc3\xba\xa6\x5f\x50\xcd\x1d\x56\x38\x65\x26\xb9\xc3\xe1\xda\xfe\xe4\x03\x81\x60\xb5\x22\x78\x41\xbc\x5b\xa8\xf9\x22\xc6\xff\xc8\xc1\xe3\x90\x4b\x44\x6c\x5c\x0d\x50\xa1\xf8\x18\x29\xaa\xf3\x6a\xdd\xa3\x61\x87\xd1\xa5\x5b\x4a\xd0\x08\x77\x3e\x1b\xbe\x08\x3a\x20\xc2\xa0\x85\x27\x9e\xb9\xbc\xac\x04\x41\x7f\x01\x06\x49\x40\x6e\xca\x04\xb7\xa9\x38\xdf\x9b\x93\x65\xcf\x53\xbe\x75\x61\x66\x9e\x82\x33\x6c\xc9\x25\x08\x37\xb7\x0e\xec\x55\xff\x1d\x00\x00\xff\xff\xac\xc7\xcf\x59\x4f\x27\x00\x00") func confAppIniBytes() ([]byte, error) { return bindataRead( @@ -297,7 +297,7 @@ func confAppIni() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "conf/app.ini", size: 9938, mode: os.FileMode(420), modTime: time.Unix(1453804033, 0)} + info := bindataFileInfo{name: "conf/app.ini", size: 10063, mode: os.FileMode(420), modTime: time.Unix(1454695912, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4322,7 +4322,7 @@ func confLocaleLocale_deDeIni() (*asset, error) { return a, nil } -var _confLocaleLocale_enUsIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\xbd\xfb\x72\xdc\x48\x8e\x2f\xfc\x3f\x9f\x82\xed\x09\x87\xdb\x11\x72\x75\xf4\xf4\x7e\x97\xe8\x68\x77\x7f\xbe\xb4\x2f\xbb\x96\xa5\xb5\xe4\x99\x6f\x4e\x87\xa3\x9a\x2a\x52\x25\xae\xab\xc8\x1a\x92\x65\x59\x33\x31\x6f\x70\x1e\xe0\x3c\xdf\x79\x92\x03\xfc\x00\x64\x22\x49\x96\x64\xcf\xac\xff\xb0\x58\x99\xc8\x3b\x12\x09\x20\x01\x64\xb1\xdb\x2d\xcb\xaa\x5f\xe5\x8f\xf3\x27\xf9\xae\xa8\x9b\x4d\xd5\xf7\x79\x5f\x6d\x2e\x1f\x5d\xb5\xfd\x50\x95\xf9\xcb\x7a\xa0\xdf\xdd\xa7\x7a\x55\x65\xd9\x55\xbb\xad\x08\xf4\x15\xfd\xc9\xca\xa2\xbf\xba\x68\x8b\xae\xa4\x84\xe7\xf6\x9d\x55\x9f\x77\x9b\xb6\x63\xa0\x5f\xe5\x2b\xbb\xaa\x36\x3b\x2e\x43\x7f\xb2\xbe\x5e\x37\xcb\xba\xa1\x9f\x67\xf4\x95\xbf\x6e\x24\xa5\xdd\x0f\x96\x74\xb2\x1f\x24\x6d\xbf\xb3\xa4\xf7\xbb\xac\xab\xd6\x35\xf5\xa6\xa3\xa4\x77\xfa\x99\x5d\x57\x17\x7d\x3d\x70\x4b\x7f\x96\xaf\xec\x53\xd5\xf5\x75\xcb\xb5\xff\x49\xbe\xb2\x5d\xb1\x66\x80\x53\xfa\x93\x0d\xd5\x76\xb7\x29\x50\xe0\x5c\x3f\xb3\x4d\xd1\xac\xf7\x02\xf3\x46\x3f\xb3\x55\x57\x51\xd6\xb2\xa9\xae\x29\xf5\x19\x7e\x2c\x16\x8b\x6c\x4f\x93\xb0\xdc\x75\xed\x65\xbd\xa9\x96\x45\x53\x2e\xb7\x32\xcc\xf7\x94\x9e\x6b\x7a\x4e\xe9\x39\xa7\x63\x08\x55\x49\x43\x5d\x16\xbd\x8e\x83\xe6\x92\x46\x5e\xf4\x19\xaa\x6a\x8a\xad\x95\xe6\xcf\xac\xda\x16\xf5\x86\x67\x8d\xff\x52\xbf\xfb\xfe\xba\xc5\xd4\x9e\xea\x27\xcd\xc1\x72\xb8\xd9\x55\x98\x82\x47\xe7\xf4\x95\xad\x8a\xdd\xb0\xba\x2a\xb8\x9b\xf2\x95\x11\xd0\xae\xa5\xb9\x68\xbb\x1b\xc0\xd9\x8f\xac\xed\xd6\x45\x53\xff\xad\x18\x64\x7e\x4e\xdc\xcf\x6c\x5b\x77\x5d\xcb\x53\x7b\x8c\x8f\x8c\x46\xbe\xe4\x7a\x28\xe5\x2d\x4d\x82\xab\x85\x73\xb6\xf5\xba\x93\x59\xe4\xcc\x63\xfc\xe2\x5a\x24\x4f\x6b\x92\xac\x50\xdb\x65\xdb\x7d\xd4\xd4\x17\xfc\x39\xaa\x92\x3a\xa7\xb9\x69\xbf\x8a\x86\xd6\x43\x73\x8f\xf1\x23\x01\xe8\xb3\xa2\xdc\xd2\x0c\xef\x8a\xa6\xe2\xa9\x7b\xc2\xbf\x68\xbe\xe8\x57\x56\xac\x56\xed\xbe\x19\x96\x7d\x35\x0c\x75\xb3\xe6\x35\x78\x22\x49\xf9\x99\x26\x65\x2e\x2f\xa4\xdd\xb4\xfb\xb0\xca\x94\xfe\x17\xfa\x99\x9f\xca\x4f\xc9\x73\x85\x90\x19\x4a\xf2\x48\xfa\xe5\x65\x55\x95\x32\x96\x3e\x7f\x41\xdf\xd9\x6e\xbf\xd9\xd0\x6c\xfe\x75\x5f\xf5\x03\x17\x3a\xa5\xdf\x34\x7e\xf9\x9d\xd5\x7d\x4f\x1f\x94\xfc\x1a\x1f\x19\x2d\x69\xb3\xc2\x60\x9e\xe1\x23\xcb\x7e\xeb\xab\xa2\x5b\x5d\x7d\xc8\xe4\x2f\xfa\xca\x1f\x8c\x92\x87\x16\x9b\xf1\x4b\x71\x4b\x5a\xb0\x06\xb2\x55\x5b\xf2\x8f\x67\xf4\x87\xaa\xae\x9b\x7e\x28\x36\x9b\x0f\x99\x7e\x30\x98\x7c\xc9\x02\x0c\xf5\x80\x59\xd0\xc4\xfc\x6c\xa8\x76\x3d\xaf\x60\xfe\xa2\xee\xfa\xe1\xd1\x50\x13\x0e\xbf\xdb\x37\x59\xd9\xae\x3e\xd2\xee\xe0\x9d\x8e\x96\x5f\x5f\xe6\x34\x59\x0f\x68\x7f\x74\xfb\xa6\xa1\xe9\xc9\x5f\xb6\x34\x65\xd4\x4c\x4d\xed\x3f\x07\xf4\x51\xbe\xdb\x54\x45\x4f\x20\x55\x51\xe6\x3f\x15\xf9\x50\x74\xeb\x6a\x78\x7c\x6f\x79\x41\xbb\xf2\xe3\xbd\xfc\xaa\xab\x2e\x1f\xdf\xbb\xdf\xdf\xfb\xf9\xe5\x9e\x8a\x6d\xea\xa6\xea\x7f\xfa\xae\xf8\x39\x5f\x15\x94\x43\xd3\x78\x93\x5f\x54\x97\xbc\x09\xa9\xad\x9c\xb0\xbf\x59\xf3\x06\xbc\x19\xae\xb8\x41\xc2\x04\xfa\xe8\x73\xa6\x00\xdf\x64\xbc\x00\x44\x21\x96\xe5\x85\x51\x3b\x74\x08\xc9\x1d\x2d\xc0\xf1\xcd\xd9\x7f\xbe\x39\xca\x4f\x89\xe4\xad\xbb\x0a\xdf\xf4\x1f\x95\xf8\x21\xa7\xd1\x9e\xd7\xcf\x9f\x2e\x32\x2a\x6b\x13\xf2\xbc\x18\x8a\x0b\xee\x7b\x58\x7d\xce\x94\xcd\x19\xf2\xb0\x45\x99\x88\x82\x60\xf6\x43\xb2\x2c\x73\x1b\x9c\xea\x50\xaa\x10\xea\x78\xcb\xa4\x81\xd2\xc3\xcc\x9e\xca\x9c\x51\x55\xf9\xeb\xb7\x6f\x4f\x9e\x3f\xcd\xab\x66\x4d\x33\x93\x5f\xd7\xc3\x55\xbe\x1f\x2e\xff\xdf\xe5\xba\x6a\xaa\xae\xd8\x2c\x57\x35\x4f\x4a\x47\x08\x9b\xd3\x2c\xc9\x10\x17\x59\xdf\x6f\x88\x72\x01\x0b\xce\xce\xde\xe4\xc7\x8c\x09\xbb\x62\xb8\x42\x47\x86\xab\xac\xff\xeb\x86\x27\x2a\x34\x78\x7e\x55\xe5\xd8\x0c\x00\x6a\x2f\xc7\xf3\x92\x97\xda\xd7\x45\x56\x75\xdd\x92\x08\xeb\x70\xc3\xd3\xac\x75\x1e\x82\x96\xea\x08\xdb\x9b\x76\xa0\x65\xcc\x51\x4e\xaa\xa8\x9b\x4f\xc5\xa6\x2e\x69\xb2\xe3\x84\xa4\x65\x91\x58\xb6\xb4\x6e\x5c\x9a\x30\xb3\xbd\xc6\x50\x8b\x15\x9d\x0b\x7d\x7e\x6f\x71\x0f\x84\xf8\xde\xa3\x7b\x8b\xac\x69\x97\x42\x25\x98\x64\x97\x75\x5f\x5c\x10\xf9\x96\xe3\xa4\x33\x6a\xf8\x17\xc6\x1f\xe9\x8a\x42\xe4\x09\x04\xcf\x2d\x1f\x51\x38\x19\x18\xb9\x0a\xa2\xe3\x20\x36\x4a\x66\xfc\xd8\x8d\x26\x85\xf5\x15\xb2\x14\x12\x26\x63\xce\x6c\xc1\x0c\xbb\x9e\xec\x76\x9b\x7a\x25\x4d\xbf\x94\xbc\x88\x68\x7c\x60\xeb\xa4\x78\x38\x20\x8a\xe5\x39\x74\xa1\x5e\x33\xd9\xca\x13\xfa\x8f\xf2\x57\x15\xed\x9c\xab\xfd\x5a\x0e\xad\x4d\xbb\x2f\xbf\x01\x41\xb1\x95\x8b\xf4\x24\x7f\xd7\x52\x87\x81\x1d\x01\x20\x36\xf1\x84\x08\x03\xf3\x08\x5d\xb5\x6d\x07\x9e\x38\x2d\x56\xd3\xf2\x5c\xd7\x94\x49\x23\xed\x8b\x4f\x44\x16\x87\x56\xb6\x64\x49\x5b\x6e\xc5\x15\x13\x05\xdb\xd3\x41\x2f\xdb\x82\xe8\x88\x6c\x0d\x4b\x4b\x71\x10\x50\xdb\x3d\xed\xa6\x2b\xaa\x8c\x27\x9e\x19\x15\xaa\x72\xae\x9f\x18\x12\xd5\x83\x5d\x4e\x3b\xb7\xa5\x43\x95\x17\xfa\x39\x3e\xf4\xb7\xaf\x9f\x7a\x55\x5c\x5e\x52\xaf\x7a\xda\x15\xaf\xf2\xd5\xa6\xa5\x2d\xf5\xfe\xdd\x9b\x9e\x37\xcc\xd5\x72\xd7\x76\x60\x50\x28\xeb\x94\x3e\x43\x9a\x9b\x68\x86\x68\xf6\xdb\x0b\xfa\x75\x7d\x55\x13\xa1\xc6\xb4\x73\x09\x66\x9e\x28\x95\x9a\xd8\xf7\xb4\x84\x47\x39\x6d\x61\x1a\x01\x4d\x19\x10\x80\xc7\x60\x58\xc7\xe0\x97\x84\x63\xfb\x8e\xb6\xd3\xd5\x30\xec\xac\xe5\x57\xe7\xe7\xa7\xd2\x74\x48\xbd\xad\xed\xc2\x61\x06\xd6\x60\xc3\x2c\x53\x93\xb7\xcd\x02\x48\xb2\xef\x36\x23\xfc\xa1\xb1\x5a\xce\x81\x79\xe1\x2e\x7c\xc7\xff\x9d\xc5\xe9\xc1\x3c\xf7\xc4\x0c\x5e\x03\x9b\x68\x8e\xc1\xc6\x10\x4e\xb7\x3b\xae\xd6\x21\xf5\x89\x26\x44\x4c\x06\x68\xc8\x07\xdf\x43\x99\x60\x34\xdd\x19\xbd\xa5\xe1\x2a\x11\x3d\x3b\xa6\x49\x00\x25\x45\xea\x65\xd7\x6e\x29\xf5\x05\xfd\x89\x09\xb1\xf3\xc7\x5c\x1f\x60\x8a\xb2\x24\x1a\xdf\x1f\xe5\xef\x5e\x3c\xcb\xff\xaf\x1f\xfe\xf8\xc7\x45\xfe\x7a\xe0\x7d\xc8\xa8\xf9\x5f\x8c\x52\x85\x76\x3c\x82\x12\xbd\x1a\x08\xeb\xee\xf1\xbe\xba\x97\xff\x84\xdc\xff\xaf\xfa\x5c\x10\xdf\x58\x2d\x56\xed\xf6\x67\xa6\xa9\xdb\x82\x76\x3e\xe7\x10\xb2\x2a\x16\x9f\x55\x4d\x49\x1f\xc2\xc5\x69\x96\xa3\x05\x9a\xed\x78\x3a\x61\x66\x97\xab\xb6\xb9\xac\x3b\x1e\xcf\xaf\x0d\x50\xc1\xd8\x5c\x3a\xab\x91\x63\x2c\x11\x4d\x19\x91\x8f\xfa\xf2\x26\x82\x62\xa4\x6f\x39\x51\x57\x33\x13\x94\x5b\x2a\xdb\x1e\xe6\xf8\x4c\x30\x91\x17\xed\x84\x46\xd7\xd9\x74\xf7\x71\xbe\xdb\xcb\x4b\x3e\x68\xed\x88\xd0\x16\x4e\x24\x55\x4e\x0b\x0f\x42\x98\xb8\x03\xa3\xfe\x5c\x31\xf8\xd9\xf3\xb7\x79\xf5\x89\x50\x8d\x49\x5e\xd7\x96\xfb\x15\xd0\x8b\x61\x8f\x98\x52\x13\x7d\xe8\x69\x63\xac\xe4\x50\x71\x14\x82\xbb\xc6\x64\x68\x45\x40\x44\x18\x8c\x52\x13\x77\xf9\x89\xc8\x7e\xe7\x9a\x78\x69\x49\xda\xfb\x09\xec\xa4\x53\xa1\x04\x8f\x7c\x45\x0b\x4e\x48\x21\xbd\xe8\xa5\x53\x92\x4d\xb8\x4e\x48\xbc\x27\xa9\xa5\x28\xa9\x2f\x17\x37\x20\x3a\x3d\xe3\x42\x59\x5d\x16\xfb\xcd\x10\xfb\x35\x3a\x41\xac\xa5\x33\x16\x9c\x7c\xde\x6c\x81\x49\x07\x81\x3c\xfd\xb8\x2c\x61\x61\x43\x4c\x8e\x9c\x34\x8c\xae\x22\x99\xd8\xa1\x43\xb4\xa9\xc2\xf2\x2c\xa3\x1c\xa0\xeb\x65\xe2\x40\x9a\x1f\x9a\x7d\x27\x6c\x4f\x8e\x73\x96\x6b\xb4\x0a\x98\x4f\x98\xef\xcb\x22\x53\x5e\x69\xa9\x22\xdc\xf2\x53\x0d\x01\x29\xa0\xab\x54\xa9\x62\x1d\x13\xb5\x3f\x31\x00\x4b\x5e\xfd\x6c\xd9\xd0\x9b\x13\x1e\x64\x1f\x04\x24\x99\x73\x1e\x2e\x5a\x60\xfe\x8d\x56\xe9\x53\x0d\x1a\xaf\x08\x83\x79\x21\xac\x41\xd3\xd4\x54\x5f\x55\xa8\x81\xca\x7f\x47\x75\xa2\xcc\x42\xa5\x03\x65\xd8\x8d\xef\xe3\xb3\xbe\x6c\xc1\x38\xe0\x20\xa1\xd2\x36\xad\xa3\x43\x3d\xef\xea\xf5\x15\x11\xd6\xf6\xfa\x48\x26\xe5\xfa\xaa\xad\x78\xff\xbc\x7e\xfe\xf8\x7b\xe9\xc7\x9a\x8f\x95\x50\x88\x0f\xa4\x62\x4f\xc8\x45\x33\xa6\x68\x2c\x5d\x08\x07\x3b\x20\x27\x72\x88\x00\x8d\x05\xc2\x09\x1f\x11\x88\x86\xd2\x0a\x9f\xa7\x44\x22\xc2\x48\x69\x13\x2a\xa5\x61\x21\x4a\xca\xeb\x2f\xd7\x2d\x84\x18\xe3\xed\xf9\xa4\x24\x11\xb9\x1f\x96\xeb\x7a\x58\x5e\x32\xe5\xe2\x8a\x5f\x70\x05\x7c\x70\x53\x4e\xfe\x80\xb2\x1e\xe4\x44\xfd\x48\x32\x2b\x7f\xcc\xef\x7f\x52\x6e\xf1\x07\x26\x49\x4b\xda\x44\xf5\x06\x2b\xa2\xa2\x51\x57\x09\xb3\x6a\x62\x79\xe0\xd8\xfa\xfd\x0e\xe7\x9a\x32\x87\x41\x12\x28\xdb\xeb\x86\x37\x1f\x48\x2f\x91\x99\x7a\x55\xd3\x81\x71\x51\x37\x05\x1d\xee\x56\x0b\x48\xfa\x7d\x42\x89\xb7\x27\xe7\x00\x5c\xb7\x17\xfb\x7a\x53\x1a\xc0\x22\x33\x06\x92\xd8\x47\x5d\x7c\xcf\x52\x5b\x52\x2d\x7d\x59\xb5\x1d\x73\x23\x18\x8d\x15\x3c\xc0\x06\x75\xcc\x5e\x20\xb9\x66\x59\x06\xb0\x28\x17\x38\x16\x9e\x06\x5a\x7d\x88\x69\xcc\xcf\x00\x6d\xea\xbe\x79\x30\xa0\xa7\xab\x3d\xb5\x45\x2b\xcf\xc9\x54\xb0\xcf\x1f\xfd\x4c\xff\x67\xcc\x1d\xc9\x01\xb0\x9e\x4e\x3c\x67\xe6\x92\xb9\x97\xad\x98\x74\x35\xc1\xf1\xb0\xd2\x86\xc1\x6e\xac\xbe\xbf\x86\x02\xfd\x5e\x90\x96\x35\x28\x1b\x5a\xd6\xea\x1b\xfa\x60\xa9\x6d\xbd\xc1\x22\x14\x83\x8a\x56\x2d\xcd\x1b\x23\xc8\x91\xec\x99\x4b\x1a\x1a\x93\xd2\xa1\xf8\x58\x41\x1a\xa3\x03\xff\x37\x56\x0d\x7d\xc8\xf6\xc2\x7f\xb6\x9b\x32\xc8\x3a\x40\x6c\x22\x2c\x55\xa2\xd9\x88\x30\x01\x67\x7b\xe2\xb3\x57\x57\xcb\xa0\x57\xe2\x39\x19\xaa\xcf\x38\xfa\x91\x15\xd5\x4c\x8c\xf0\x9c\x95\x6d\x6f\xb0\x5a\x3c\x86\xe3\x9b\xb8\x58\xc4\x7c\xd2\x36\x21\x39\xf6\xa2\xe5\x49\xfb\x54\x05\xa8\x67\x3e\x35\x2d\x40\x75\x11\x9b\xac\x55\xa5\x8a\x06\xca\x12\xdd\x86\xe6\x8a\x6e\xa3\xcf\x40\xc8\x54\x29\x06\x7a\x47\xcb\xa9\x42\xfd\x82\xd6\x05\x1a\x03\x6b\x99\xa8\xe2\x8d\x6c\x0b\xd7\x66\xf6\x9b\x2a\xcc\x3e\x64\x06\xf7\x2e\xcd\x27\x8a\x42\xd2\x7f\x54\x4a\x2d\x6d\x71\x4d\x39\x05\xc5\x89\x12\x95\xc8\x50\x5c\x55\x3b\xe6\x3d\xb6\x3d\xb0\x62\xc3\x42\xf6\x8d\xb2\xce\x01\x3f\x7e\x11\x72\x4d\x08\x43\x44\xee\x9b\xac\x6f\x79\xbf\x2d\xbf\xb2\x8a\xa7\x35\x61\x02\xca\xa7\x47\x9d\x68\xcb\x88\xc3\xe5\xe5\xa3\x4d\x76\x73\x94\x0a\x55\x57\x45\x4f\x24\x9c\x38\x05\x2d\x56\x2e\x4c\xb8\xe5\x65\x27\x51\x0e\x5b\x06\x1a\x3e\x20\xb9\x94\x6c\xbb\xf1\x19\xcc\x3d\x14\x2a\xa7\xad\x04\xce\x09\x7c\x91\x67\x9f\x66\xda\xa4\x09\xdb\x56\xcc\x39\x2f\xb7\xa2\x59\x93\x5f\xf9\x71\x95\xd1\x61\xb8\xa6\xfd\x6c\x08\xfb\x98\x15\x1f\x6b\x08\x18\x8a\xaf\x0c\x50\x0d\x9e\x0c\x2b\x84\xa5\xfc\x62\x9a\x4c\x22\x0c\xd7\xd0\x0a\xd1\xd6\x9e\x4c\x3f\x1d\x58\x94\xbd\x30\xb2\x2e\x1c\x02\x18\xbd\x9e\x88\x45\x9c\xc4\x27\x39\xab\x24\x3d\x94\x32\xad\x61\x54\x0c\xcf\x34\xe3\xa7\x8b\x9f\xef\xf7\x3f\x7d\x77\xf1\x73\xa0\xac\xab\xab\x6a\xf5\x51\xd0\xaf\x6e\x2e\xda\xcf\x10\x69\xa1\x22\x21\x69\x9a\xb7\xd8\xfd\x32\x27\x11\xb7\x83\x44\x45\x94\x80\x8a\xd1\xbc\x73\x6e\xb2\x66\xd4\x17\x26\x18\x74\xae\xad\xb0\xa9\x80\xdf\x11\x1f\x9f\x70\x2a\x63\x24\xc8\x7f\x44\x49\x8c\x63\x53\x6f\xeb\x61\x82\x12\x4c\x5f\x0a\x45\x2d\xd5\x92\xd9\x1c\xa1\xae\x38\x4a\xa2\xd2\x54\x0d\x1d\xaa\x86\x26\xd7\x05\x89\x50\x3f\xe4\x84\x1a\x7b\x3a\x9d\xb8\xb3\x34\x1e\x22\xd3\x05\x9f\xca\x24\x3e\x15\xfd\x72\xdf\xe8\x74\x55\xa5\x21\xc9\xab\x1a\x87\x07\xb7\x6b\xa8\xec\xa0\x52\x31\x20\xff\x36\xcc\xe4\xc3\x85\x2a\xb5\x50\x8a\x09\x3a\xf7\xa7\x66\x9e\xb5\x98\x5b\x13\xa2\x77\x4d\x25\x32\x2f\xc6\xcf\x60\xbc\x7c\x24\x38\xc5\x45\x21\xe9\xeb\x23\xa5\x60\x9e\x2f\xf6\xc3\xd0\xb2\x44\xb2\x61\x5c\x90\x32\xd6\xe7\x67\x00\x84\x88\x15\xeb\xc3\x62\x8e\x67\x49\x85\x2a\x1c\xc7\x3d\xf6\xb3\xe8\xbb\x59\x90\x4b\x87\xa6\xc7\x5f\x80\x2a\x45\x83\x54\x34\x37\x51\xa9\x81\x3e\x70\x73\xc3\x7c\x4f\xbe\xed\xaa\x87\xb1\x2f\x61\x1f\xa0\x84\xf6\x47\x4a\xbb\x2d\xf2\x0e\x99\xa2\x57\xb5\x8d\x64\x87\x99\x6a\x27\x23\x6a\x74\xe9\xd4\x22\x9f\xb1\x9d\x68\x26\xb1\x93\x25\x66\x99\x06\x81\xd2\x8b\x51\x5b\x51\x12\x9c\x4e\xdf\x90\xf6\x38\x1e\x4a\x43\xdb\x2e\xfb\x2b\x91\xb9\xad\x7b\x24\xaf\x37\xeb\x44\x59\x85\x3b\x12\xe0\xdb\xff\xcd\x27\x1f\x0f\xf4\x43\xa6\x4b\x51\xb9\xfd\xa0\x88\x6a\x39\xb6\x64\xb2\x2d\x02\xbc\x31\x69\x7f\xaa\x3a\x16\xeb\x00\x94\xac\xd5\xa1\x49\x4c\xc7\x10\xa8\x61\x3c\xd5\xdf\xf9\xbd\xab\xc9\x97\xfb\xcd\x51\x7e\x2d\xc7\x7d\x2c\x13\x44\x4a\x65\x04\x18\x2b\xe5\x3e\x87\x86\xd7\x96\x05\x8d\xef\x06\x7a\xea\xbf\xd0\x99\xd4\xe0\x66\xa0\xcd\x28\x43\x0a\x1d\xe3\x83\x40\x59\x26\xfe\x90\xf1\xa1\xff\x76\xc4\xcd\xf2\xa1\xa6\x69\x8e\xa3\x42\xd6\xaf\xfe\xe6\x23\x8c\xf9\x74\x86\xf1\x7d\x57\xc5\x0b\x10\x7c\x85\xc1\x9f\x9d\xbd\x3a\x37\x21\xf7\xec\x55\xfe\xb1\xd2\xba\x5f\x0d\xc3\xae\x7f\x0f\x6d\x87\xa8\x2e\x58\xcf\x71\x5a\xdc\x30\x97\x29\xc9\xfa\x03\x19\xe7\x55\xb1\xd5\x4e\xf2\xa7\x54\xf1\x84\xce\x5f\x4d\xe4\x4f\x3a\x96\x9d\x16\x2d\x03\xbf\xf5\x6b\xc2\x66\x0b\xe2\x07\x99\xa7\xd2\x2b\x91\xdf\x27\x9a\xbf\xdf\xb3\x62\xb3\x23\xb1\x8c\x19\x1e\x07\x06\x25\xd7\x85\x4a\x67\x39\x40\x80\xe8\xfb\x2d\x21\xc8\x0a\xd2\x28\x15\xf8\xf6\xd1\xf2\xa1\x53\x7a\xa6\x95\x95\xb4\xff\xff\xa9\x0a\xf9\x9b\x99\x62\x5f\x6f\x5f\xff\xcd\x46\x91\x54\xc7\xe9\x44\x4b\x09\x02\x2c\x68\x84\x0a\x40\x38\xc8\x99\x1d\x1d\x58\xe7\x45\x09\xc4\xf2\x26\x55\x6f\x8b\xcf\x77\x15\xdc\xb6\x33\xe5\x84\xca\xc5\x42\x46\xcc\x74\x88\xc9\xee\x21\x70\x56\x6a\x1d\x04\xa6\x85\x27\x90\xba\x59\x6d\xf6\xe5\xc1\x8e\xf4\xfb\x0b\xda\x48\xcc\x4a\x3f\xb8\xdf\x3f\xe0\x2a\x9b\x8f\x74\x68\x37\x01\xfe\xbd\xfc\xce\xf1\xfb\x47\xbb\x99\x23\x59\x57\xe5\x8b\x3c\xdc\xd1\x11\xef\x51\xf2\xf9\x01\x39\x61\x11\x49\x8f\x97\x1d\x02\xf2\x43\x61\xa1\xb2\x5d\xd8\xff\xac\xa5\x80\x18\x45\x08\xb8\x88\xb7\x89\x4b\xe6\x01\x96\xcc\x93\x37\x9e\xf3\x66\x7a\x69\x27\x2c\xb8\x04\x40\xc8\xe5\xd1\x72\x5a\x6e\xb4\x3b\x0f\x16\x27\x4e\x67\xa6\xf4\xc9\x54\xcd\x7c\xa0\xfc\x40\x1b\x6c\xa6\x82\xb0\xef\x0e\x16\x94\xb5\x47\x21\x1a\x79\x39\x26\x1c\xd3\x72\x0c\xb5\x88\xb3\x14\x26\xdc\xaf\x8d\x97\x53\xc2\x3c\xa7\x12\x22\x6b\x5b\x08\xfd\x3a\xdc\xea\x3a\x39\x51\xe5\x76\xa5\xf5\x5b\x16\x89\xfa\x3d\x1f\x35\x2c\x3e\x09\x07\x95\xce\x28\x33\x11\xa8\xaa\x42\x13\x87\xab\x27\x7c\x62\xd2\x7c\x57\xfd\x00\xfb\xca\xaa\xbd\x5a\x61\x5a\xb1\x56\x1e\x80\x0e\x55\x1b\x64\xde\xea\x73\x0d\x0d\xed\xcb\xfa\x53\xa5\x52\x6f\x10\xf6\x91\xb7\xc8\x36\xb4\xff\x59\xbc\x92\x51\x09\xab\xdd\x7e\xe2\x1d\xc5\xed\x71\xae\x94\x13\x8d\xad\x0e\x8a\x91\x44\xe5\x67\xdc\xf2\x54\xe5\x11\x71\x2c\x5c\x82\xfa\x89\x0d\x5a\x6c\xae\x8b\x9b\x1e\xba\x20\x23\x32\xac\x9b\x96\xe2\x4c\x41\x88\x9f\x59\xa3\x57\xfe\x06\x84\x76\x8d\xcd\x04\xab\xf2\xf9\xb8\x08\x6c\xc7\x35\x24\x60\x50\x08\xd5\x2e\x7d\x72\x07\xb3\x9e\x2e\x2c\xbd\xb3\xac\xcb\x62\x88\x64\xbb\x8a\x70\xb5\xa8\xc4\x7e\xa6\xec\x11\xf3\x7a\xd4\x0c\xf3\x5e\x44\x82\x65\xae\x89\x95\xa5\x99\x45\x97\x9c\x3a\x64\x4f\xf5\x3f\x12\xde\xbd\xa6\x39\x64\x51\x30\x6a\x08\xf8\x34\xa2\x55\x31\x0d\xbe\xa4\x43\xbe\xcf\xfa\xa1\x26\xf1\x9e\xe9\x93\xde\xe3\xff\xc5\x71\x1e\x39\x72\xb1\x4f\x30\x4d\xfd\x55\xbd\xcb\x5b\x28\x86\xfd\x14\x46\xb4\x75\xdc\x32\xdf\x55\x54\x90\x0d\x58\x41\xde\x15\x4d\x7f\x59\x41\x53\xbe\xcd\x2f\xf9\x4a\x78\xa1\x4d\x33\xf3\x2d\xf7\xf6\x07\x5a\x16\x31\x0b\x4d\xfb\x03\x02\x6b\xe7\x16\x2a\x6d\x5a\x2e\x4e\xa0\x8e\x45\x1f\x30\xab\xb1\xa6\xde\xfa\xc0\x68\x36\x99\x02\xf0\xc0\xc9\x35\xd8\xec\x3c\x5c\x26\xf2\xb9\xb4\x0f\x4c\xbb\x63\xdc\x6e\xce\xf5\x2a\x40\x6e\x4f\xd2\x45\xa2\x14\x69\x55\x14\x9d\xac\x63\x4e\xc6\xce\x45\xdd\xc5\x38\xed\x90\x4a\x5b\xe1\x6d\xc1\x3b\x65\x54\x21\xd4\x30\x51\xe8\xc9\xe4\x12\x7d\x79\x41\x5d\x5c\x5d\x25\x7b\xf3\x1c\x39\xb9\xe4\x4c\xb6\x67\xf6\x1b\x37\xfd\x21\x93\x6b\xf4\x65\x50\xba\x3f\x93\x6b\x75\xe1\x5c\x55\x89\x3e\xe4\xa6\x69\xe7\x9b\x10\x2b\x22\x7a\xf5\x5b\x4b\xf2\x41\x6a\x4a\xcf\xff\x6a\x89\x69\x80\xee\xfc\xdf\xe9\x8b\x79\xf9\x26\x4b\xee\x0e\x47\x8a\x10\xb0\xcb\xf5\xc0\xfb\xeb\x94\xb6\x05\xf1\x2d\x4f\x34\x85\xe4\x70\xd0\x06\xe8\x66\x5e\xd8\x37\xad\x47\xc1\x24\x8f\x37\xb6\x7e\x25\x8a\x17\x29\x24\x4a\xb3\x17\xf6\xad\xa9\x21\x89\xb6\x78\x48\x79\xaf\x9f\x19\xcb\xfd\xdb\x05\xce\x12\x66\xcc\x71\x6f\xe1\x4e\x10\x66\x10\x78\x9d\x2d\x6f\xe1\xe0\x77\xc5\x40\x54\xb4\x11\xf9\x4c\x08\x9a\x2f\xaa\xd9\xa1\x8a\x70\xbb\xcd\xb5\xb0\x25\x88\xcc\xdd\x87\x2c\x1a\xa8\x98\x6d\xca\x9c\x9e\x58\x29\x52\xaf\x4c\xf1\x7f\xd0\xa7\xea\x78\x40\xed\xf0\xa1\x42\x3a\xee\x95\xed\x32\x10\xc6\x32\xee\x67\xa6\x5a\xb1\x54\x25\xa6\xfb\xe1\x71\xfe\x5c\x3e\x4c\xdc\xdf\xd7\x18\x53\x4d\xa2\xc3\x0e\x0b\xe5\xcc\x69\x74\xe5\x42\xa7\xd5\x9a\x2a\xaa\xe6\xbb\xa9\x94\x2a\x95\x00\xd1\xed\xb2\x08\xe7\x3e\xdf\x55\x38\x69\x95\xb5\xcd\x10\x63\x1b\x77\x11\xc6\xd7\x3b\x2c\x7a\x13\xd8\x75\x75\x91\xb3\xfe\x97\x10\x8d\xa4\x42\x1d\xe7\xb6\x20\x81\xf2\x53\x5d\x04\x55\x93\xe3\xc7\x02\xc3\x60\xba\x22\x08\x3d\xcd\x23\x5c\x51\xe5\x10\x3f\xe4\xaa\xc2\xd8\x31\x5b\x50\xd6\xa0\x08\xee\x53\xad\xb5\x5c\xa8\x34\x60\xd5\xd8\x68\xc5\xce\xf3\x17\x6c\x07\x84\x5b\xfb\xa9\x1d\x1b\x37\xa1\x17\x4b\x6f\xf4\x33\xdb\xef\xf8\xa6\xc6\xcd\xe5\x7b\x24\x84\xb9\x4c\xf3\x9d\x10\x88\x59\xb5\x62\x41\x55\x24\xe0\xa5\x93\x0a\xf9\xba\x42\xb7\xf2\x8c\x7d\x9a\x6e\xe7\x72\x0c\x12\x15\x3a\x20\x77\x3a\x70\x2c\x94\x5c\x1c\x63\x6a\xe9\x8c\xce\xaf\x68\x17\x6d\xea\xe6\x63\xaf\x2b\xc5\xf3\xe4\x05\x62\x28\xc0\x08\xbf\xf7\x62\xa0\x24\x9f\x53\x7b\x28\xbb\xd2\x1a\x51\x1b\xbb\xf8\x92\xcb\xbd\x27\x48\x9e\x85\x8d\x6a\x01\xbb\x7c\xbb\xac\x98\xe9\x06\x81\xb5\x8b\x42\x1a\x65\xdb\xf6\xaa\x6e\x8d\x04\x8d\xd3\xa0\xc5\x51\x28\x9d\xf3\x00\xa1\x4b\xf2\xc4\xae\x27\xb1\x5d\x33\xbb\x50\xb4\x0e\x60\xf3\x2f\xeb\xad\x98\x1d\xbe\xb7\xeb\x46\xac\x4f\x90\x4d\x90\x0d\xeb\x95\xb4\xf7\xfe\x92\xe5\x6d\x6b\x97\x99\x46\x99\x2d\xf3\xc8\xd8\x0f\x99\x01\x30\x0f\x49\x67\xc7\xf8\xa1\x15\xd8\x7d\xc1\x1d\x68\x62\x48\xe0\x2f\xa0\x64\xe1\x03\xed\x69\x37\x09\x93\xf9\x4c\x6f\x3e\x42\x3e\xcf\xac\xcb\x7f\x8b\xab\xc2\xa0\xc9\xe0\xdd\xb5\x1c\x81\xa8\xf0\x9f\x40\xce\xf2\xf2\xd6\xd6\x41\x3e\x7e\xd4\xfb\xc9\x5e\xb1\x72\xd7\x34\x0b\x7e\xe0\x8a\xdd\xe5\xc2\x0c\x86\x58\x6f\x2b\xf7\x8e\xb0\xec\x10\xeb\x96\x06\x97\x96\x52\x85\x23\x27\xda\xe8\xbf\x4a\x4c\x62\xcd\x22\x08\xf5\x41\xfe\x79\x22\x24\x93\xef\x31\xc4\x6e\x32\xe4\xab\xe9\x64\x42\x59\x2b\xb3\xbf\xf0\xb4\x77\xd7\x11\xda\x11\x33\x91\xd2\xe0\x09\xd5\x4d\x28\x2c\x08\x6c\x0b\x6b\x82\x48\x58\x69\xdc\x5a\x15\x9f\x50\xf8\xb2\x94\xa0\xee\xa2\xed\xc1\xbc\xbc\x26\xeb\x71\x12\x72\xe5\x50\x09\x7d\xa4\x1f\x42\x0f\x65\xac\xcf\x35\x61\x94\x6f\x83\x91\x6c\x5b\x90\x99\xd1\x28\x67\x65\x47\x46\xdd\x88\x31\x47\xb8\x5e\x4c\xe8\x52\xfe\x1c\x84\x8a\xd0\x41\xb4\xeb\x46\xa6\x7e\x19\xb7\x1e\xf1\xe8\xd7\x54\x2f\x2f\x63\x4b\x77\xd1\x37\x19\xf5\x08\x38\x1e\x2f\x69\x4b\x20\x4f\xaa\xfb\x63\x28\x0f\x21\xda\xa5\x90\xba\x4c\x6e\x0d\x70\x01\xf0\x35\x37\x05\xcc\x69\xfc\x37\x5c\x12\x24\x4d\xc5\x4b\x82\xd0\xc9\xd1\x0e\x9b\x8c\x72\xba\xd5\x28\x03\x4c\x8f\xe2\xb2\x63\x65\x14\x9b\x03\x47\xc3\xad\x88\xdc\xc5\xd3\x43\x49\xe0\x7b\x14\x13\x70\x28\x31\x1b\x0e\x0b\x28\x98\x2f\x8a\x10\xd6\x4f\x34\xdf\xe9\x9a\x3f\x81\x94\x49\x93\x22\xb0\xe0\x01\x89\x8d\x10\x1e\x5d\xa5\xd6\x2d\xcf\x83\x98\x00\x04\x6b\xb4\xc9\x0d\xdf\x91\x8a\x76\x57\xf5\xfa\x8a\xc6\x55\x6f\xf9\xe6\x1b\x98\x64\xd7\xab\x51\xf2\xe6\x5f\x44\xa2\xda\x75\xc3\xaa\x35\x6e\x41\xcc\xcf\xc2\x91\xf5\x53\x3f\x74\x6d\xb3\xfe\xf9\x79\xcb\x22\x31\x6b\x9c\xf8\x58\xfd\xe5\xa7\xef\x34\x9d\xc8\x30\x2f\x21\xdb\x2a\xbe\xac\x87\x57\xfb\x8b\x07\x7d\xbe\x66\xe3\x59\xdc\x0a\x15\xce\xa4\x56\x6d\x1e\xc4\x36\xf0\xba\x09\xd3\x02\x03\x5b\xda\xe3\x7d\xbb\xa1\x0d\x92\x16\x69\xb7\x5b\x59\x5e\x22\x60\x5b\x81\x44\xff\x61\x26\x51\x35\x98\xb9\xaa\xd3\xf9\xa1\x0a\x17\x01\xc5\xe3\xfa\xe8\xb2\x19\x6f\x9a\xe8\x71\x94\x3b\x64\x60\xdc\xfc\x36\x83\x3b\x88\xa0\xc4\xb1\x52\xe0\x3c\xa6\xa5\xb0\x8e\xac\x15\x9b\x6a\x90\x20\xe6\x70\x15\x56\x9c\x4a\x52\x3f\x84\x03\xe3\x34\x6b\x51\x78\x8f\x8a\x15\xf4\x82\x58\x0e\x79\xf9\xec\x31\xf5\x32\x78\xf4\xd0\x3d\xa0\xeb\x68\x7f\x2b\x45\x93\xb1\x2b\x3d\xb3\x01\x38\x8a\xa6\x33\x12\x69\xda\x18\x26\xa1\x6a\x95\xd0\x34\xeb\x85\xa7\x66\x62\x5d\x25\x14\x4d\x10\x92\xa4\x28\xa6\xd7\x5f\x48\xcd\x26\xed\xc6\x81\x5b\x73\x5f\x40\xd1\x30\xa6\x27\x98\x0e\x1a\x0b\xb4\x3e\xba\x50\x6f\x54\xc7\x83\x0c\x36\xcb\x8d\x12\xdd\xdb\x56\xaf\xf7\x72\x4b\xc4\x9a\x90\x08\x37\x54\xc9\x56\xe6\x4e\xc0\x90\x52\x6c\x85\xa0\x36\xfa\x7f\xf2\xb2\x20\x3a\x30\xb4\x1f\x09\x95\xa6\x45\x90\x7e\xa8\x50\xa0\x2f\x26\x16\x29\x75\x79\x12\x89\xc3\x58\x50\xd2\x5b\xf2\x83\x04\xc6\xd1\x15\xad\x35\xd8\x6b\x89\xce\x0b\x46\xea\x6c\xd5\x52\x0a\x1d\x51\x32\xa0\x46\x49\x61\xff\x13\xc7\xd6\x30\x10\x44\x4f\xfe\xd0\xdf\x7e\x59\x92\xfa\xdd\x66\x21\xea\xbd\x6f\x1c\xf9\x14\x74\x58\xca\x54\x84\x41\x9e\x12\xc3\x01\x93\xcc\x27\x52\xe1\x39\x67\xf7\x6a\x8e\xac\xc6\x06\x56\xe4\xa5\x26\x62\x0f\x00\x50\x26\xbc\x0f\x13\x81\x5f\x51\x5d\x63\xb5\xa8\x1d\x89\x5a\x5b\x62\x0d\x08\xeb\x8c\x60\x5e\x89\x5d\x49\xfe\xe4\xf4\x35\x1d\x18\xa1\x41\xab\xf4\xd7\x82\x38\x73\xe9\xc2\xb5\xe8\x6a\x60\x7d\xb2\xd9\x8c\x29\x6e\x90\x21\xa4\xb8\x59\x8d\xa3\x24\xb6\x78\x18\xd4\x64\x40\x32\x98\x34\x5f\xe6\xb8\xea\x9d\xfe\x4a\x5a\x43\x4f\xc6\x67\x55\x18\xea\x37\x34\xb3\x41\x8b\xca\x5b\x6b\x77\xc3\xd4\xdf\xd9\x91\x15\x32\x43\xd7\xa0\xdf\x23\x03\x36\x82\x84\x16\x27\xe7\x2d\xdc\x05\xfa\x61\x1d\x56\x0a\xe2\x97\xd2\x93\x91\xd9\xc5\x8c\x44\x65\xb6\xd8\x1c\x65\xd9\x59\x3d\xe9\x98\xef\xa2\x33\x8c\xf8\x51\x65\x70\x0b\x95\xf1\xa3\x72\xa8\x7c\x3a\xdb\x6c\xc0\x68\x69\x7a\x44\x6f\x72\x39\x06\xc5\x0c\x83\x5b\x11\x69\x45\x31\xc2\x19\x37\x53\x2d\xd7\xd5\x86\xcd\x92\xb5\xf5\x78\x45\xab\x43\x4f\x0c\x16\x14\xc8\x49\xb6\x55\xe4\x6d\x65\x2a\xbc\x02\xd2\x2a\x23\x08\xda\x6e\xb0\x51\x10\xb5\x83\x9d\xd6\xcf\x9e\xbc\x7d\x7b\x72\x1e\x0f\x69\xde\x07\x4d\x49\xac\xc4\x37\xc1\x94\x6f\xd2\x2f\x33\xe8\x0b\x0b\x98\x42\x44\x93\x42\x2d\x71\x08\xce\x93\x29\xab\x9d\x3e\xd7\x2d\x68\x4f\xcb\x7d\x31\x5a\x9e\xf4\xbf\x3c\xb4\x7e\xd9\x6f\xcc\xdd\x7c\xc8\x4c\x8d\x7f\xc2\x7f\x33\x7f\x13\xe2\x6e\x90\xb0\xf5\xe2\x45\x53\xf4\x19\xa0\x0e\xb4\xe5\xe4\x66\x04\x44\x7a\x5f\x40\xd4\xa2\xb9\x6f\x71\x56\x5c\xe6\xb8\x90\x3f\x62\x45\x6f\xdb\x61\xc3\xf0\xe4\xee\x9b\xfa\xaf\x7b\xb0\x67\x2c\x0e\x11\xf1\x60\x0b\xd1\x8b\x7a\x23\x07\xca\x9f\xc2\x0f\x49\xe7\xaf\x91\x5d\xbb\x6b\x9c\x7e\xfd\xd4\xef\xd8\xc0\x96\xce\x86\xfe\xf1\xbd\x7d\x9d\xb3\xbe\x90\x0d\xcc\xee\xfd\x4c\xf2\x0b\x5f\xd3\xd3\xf2\x11\xc4\xcf\x93\xea\xd8\xb7\x6d\x25\x6a\xc6\x60\xaa\x04\xbc\xd5\x74\xde\x2d\xcc\xef\x26\xba\x4d\x99\xf8\x7f\xa2\x4d\x76\xa4\x8b\xe3\xf8\x56\xa5\x6e\x9a\x23\xec\xdd\x4f\xc5\x66\x9f\x2a\x5f\xb8\x75\x2e\xd3\x3f\xcc\x60\xb4\x1f\xcb\xc2\x16\x09\xae\x99\x9c\x41\xd8\xf0\x0b\x26\x6d\xb8\xdd\x13\x8b\x9d\x38\x99\xf1\xfb\x26\x43\x4f\x54\xb5\x3e\xf6\xe9\x43\x9e\x99\xe7\x73\x1e\x6c\xf4\x91\x3a\xb3\x1a\xce\xfb\xa6\xd8\x0c\xa2\x56\xcf\xdd\x6a\x32\x69\xc1\x20\xbc\x0a\xf7\x46\x2f\x30\x03\x05\xeb\x57\x5d\x0d\x17\x03\x49\x67\xc7\xce\xdc\x39\x75\x86\xc4\xd8\xee\x19\xe1\x3d\x4d\xd1\x62\x5d\x0f\x24\xc2\xb3\x1f\x19\x4c\xd2\x33\x22\x1b\x74\x92\xc1\x25\x54\xbe\x2c\x65\x52\x94\x0f\x7d\x81\x85\x0a\x8e\x39\x4d\xdd\x01\xfc\xa1\xbf\x67\x4a\x29\xa0\x39\xa4\xf2\xbd\x4e\xbb\xac\x9b\x9a\x37\xfe\x6b\xfa\x43\x87\xba\x08\x00\x29\x9a\x0a\x7b\x8b\x4a\x54\x5f\x24\xd2\x77\xa8\x47\x8d\x04\x75\x55\xd4\x3a\xd0\xad\x8b\x5a\xb1\xeb\xed\x00\xa6\x0d\x09\xf9\x53\x24\xa8\x23\x28\xf5\x84\x56\xe1\x93\xb0\x43\xe2\xd0\xf9\xda\x52\xbe\x65\xf9\xef\xa1\x01\x9a\xf4\x16\xe0\x54\x07\x31\xca\xb7\x45\xd2\x9b\x46\xbd\x6a\xa7\x5d\xc1\xa4\x9c\x95\x04\xb8\x30\xa1\xce\x97\x7c\xb1\x51\x6c\xfa\x5c\x85\x4e\xbb\xc1\xcf\xae\xf9\x5e\x5c\x14\xfc\x7f\xd6\x4f\xe8\xf7\xd7\xc5\xdf\x24\xf5\x2c\xfc\x00\x9a\xf5\x8a\x78\xbd\x2a\xeb\x69\x26\x56\x57\x6a\x81\xd6\x5e\x2e\xc5\x8f\x0b\xc7\xe6\x79\xb8\x40\xe5\x3d\x0b\x38\x9a\xdb\x6d\xf1\xb9\xde\xee\xb7\x79\x00\x44\x51\xc6\xc4\xfb\xe9\x35\xc2\x62\xfe\x32\x60\x7c\x89\xfe\xf5\x77\x02\xe3\x1a\x6e\xbf\x1a\x60\x53\xb3\x25\xdf\x0c\xd9\xc6\x4e\x2c\x55\x32\x75\xd9\x35\x0f\xc5\xe0\xb3\x2b\x2e\x8a\x3e\xf7\x30\x8d\x34\x2d\x50\x91\x92\x2d\xd8\xe7\x5e\x10\xd9\xb9\xf7\xb3\x2c\xba\xd1\x2c\xab\x55\x91\xf1\x58\xbd\x86\x1d\x36\x2a\xc4\x42\x08\x53\xc4\xa5\x67\xf0\x2e\x8a\xa8\x34\x03\x95\x1c\x6b\xca\x5a\x16\xce\x43\xe9\xbb\x97\xaf\xcf\xe1\x9f\x44\x38\x29\x2a\x36\x75\xc2\x62\xeb\xed\x45\xa8\x93\x4f\xbc\xba\xef\x85\x13\x6a\x6a\x4c\x3c\x53\xa3\x19\x25\x9c\xc8\xed\x5a\x59\x8a\x01\x56\x9b\xdd\x28\x03\xc6\xcc\xc7\x5f\x4b\xa2\x16\xe4\x44\x28\x04\xd2\xeb\x37\xb3\x63\x2b\xbc\x6b\x9c\x55\x1b\xee\x7b\xe3\xb2\xf9\xab\x5e\xdd\x6a\x4a\x6d\xd5\x01\xbb\xbd\xcc\x84\x60\x5a\xba\x92\xcf\xcb\x40\x87\xe1\x2b\xc5\x5e\x1e\x29\x01\x86\xa3\x76\xe1\xd7\xdd\x1b\x68\xd2\x46\x61\x96\x65\x77\xb3\x64\x45\x3e\xb8\x94\xdd\x4d\x4c\x70\xec\x1c\x65\xd0\x74\x3a\xe0\x60\x28\x73\x8a\x55\xfe\xdf\xff\xf3\x7f\x3d\x7a\xc6\xc3\x7e\x36\x74\x1b\xfa\x52\x6e\x99\xe1\x65\x19\xa4\x82\xfc\xe4\x3f\x48\xea\xb9\x56\xab\x98\xf7\xf2\x95\xd9\x6f\x90\x02\xca\xef\x55\xfb\x8e\x8f\x4c\x7f\x31\x45\xc8\xd4\xef\x9c\x49\x41\xc6\x22\xa7\xa2\x0d\x89\x9b\xfe\xc0\xf8\xeb\xbe\x5e\x7d\x5c\x8a\x9e\xe4\x71\xfe\x9f\xfc\x2b\x87\xcb\xb1\x9e\x99\x4c\x87\x03\x51\x05\x72\x8e\x28\xb3\xb7\xce\xc6\x41\xa3\x2e\x12\x91\x08\x17\x29\x0f\x70\x63\x56\x9f\x06\xc8\x0e\x55\xd9\x6e\xcf\x76\x60\x8c\x10\xd6\xda\x29\xa5\xc0\x39\x8d\x13\x99\x63\x73\x35\x84\x1b\xe1\xa4\x0e\x34\x4f\xdd\x15\xd7\xc2\x59\x56\x07\x59\x51\xe9\xc7\xd6\x7e\x17\x05\x0d\x59\xc5\x8e\xc4\x47\x3c\x9c\x14\x7a\x42\x0c\x5d\x05\xc1\x8a\xfe\x64\x74\x00\xb1\xe9\xa0\x5e\x35\xb3\x7b\xed\x50\xe0\x36\x15\xe9\x76\xd1\xcc\xf7\xe5\xc5\x5a\x2b\x82\x44\xf5\x54\x3f\x33\x4a\xe7\xdf\xe7\xf4\x67\xe2\x08\xcf\x6e\xf3\x53\x77\xf9\x4d\x71\x51\x21\xf9\x0d\x3e\x08\xf9\xe9\x0c\x1c\x68\x45\xe4\x0c\xb2\x1f\x19\x4f\x49\x3d\x08\x22\xe2\x2b\x53\x5f\x14\xb9\x56\x96\xcf\x0c\x17\x65\x5d\xc1\x97\xbb\xef\x8a\x6b\xf9\x49\xd3\xa5\xfe\xf4\xaf\xe4\x4b\x92\x61\xe7\x2f\xa0\x30\xf3\x0f\xf0\x60\x9a\x75\x37\x9c\xda\x77\x66\x1d\x58\x4c\x3b\x62\x39\x23\x77\xfe\x7c\x35\xca\xbf\x14\xd1\xff\x05\x0b\xfe\x96\x56\x80\xaa\xe7\x66\x88\x18\xd2\xb7\x7c\x8e\xe2\x36\xe9\x58\xbe\x42\x4e\x29\xf6\xbf\xcf\xc1\x1d\x68\x9a\xf9\x5d\x9c\xf0\xdf\x90\x4a\xf8\xa9\x7c\x21\xfd\x0d\x3e\x0c\x12\x04\x83\x65\x7e\x89\x1f\x10\x93\x17\xe3\xb5\x70\x59\x0d\xb3\x5a\x17\xb8\xb6\xa3\xad\x86\x7c\x9f\xbd\xa2\xf9\xef\x96\xa1\xfc\x33\xfe\x99\x6f\x26\xb5\x84\xc5\xf5\x6b\x3b\x6a\xc6\xc3\x50\x53\xb3\x60\xd2\x9c\x87\x94\x16\xb7\x73\xc0\x24\xe7\x35\x09\xec\x09\x25\x78\xd4\x4a\x2a\x66\x09\x65\x54\x33\x84\x96\x79\x78\x3a\x30\xd9\xcb\x0d\x62\x9b\x7e\x4e\xfb\xe9\x80\xa4\x9b\xc5\x0c\x28\x6b\xcf\x22\x1c\x0d\x7c\x0c\xa4\xea\xdd\x40\x7f\xc6\xab\x17\xd7\x87\x96\x76\xbc\x40\x92\xb9\x24\x9e\x72\x55\x05\x2f\x1d\x00\x81\x17\xe1\xc8\x13\x49\x33\xa1\x32\x6d\x2c\xa9\x0f\x13\x3a\x14\x17\x94\x4d\xbc\x13\xcf\x66\x28\xcc\x73\x15\xb3\x64\xea\x2c\x53\x89\x8b\xd5\x9c\x54\xe9\xf3\x88\x6d\x5a\x0a\x4b\x2c\x13\x11\xd8\xe3\xcd\x4c\x89\x5b\x31\x6a\x0c\x73\xb0\xe6\x09\xde\x68\xc9\x5b\x96\x37\x42\x70\xac\x86\xc3\x55\x1f\x28\xa7\x7c\x1b\xb8\xb5\x69\xce\x82\x5d\xb9\x02\xfd\x64\x77\x7c\xf9\x31\x0b\xda\x6b\x60\x1a\x12\x38\xf8\x64\x0f\x5d\x2d\x55\x95\x36\x57\x48\x56\xb9\x5c\x5e\xdc\x68\x19\x59\x67\x78\xc8\x1e\x28\xb2\x65\x4e\x1e\x62\xa5\x16\x39\x0e\x09\x33\x45\x7a\x75\xaf\x67\xff\xf6\x69\xce\x82\x0f\x26\x98\x30\x31\x6d\xea\x67\x41\x18\x4b\x01\x72\x82\x8f\x39\x10\x51\x30\xab\x8a\x88\x4f\x01\x71\x27\xb1\x2b\xee\xd9\x86\xd9\x2e\x2b\x94\x78\x03\x2b\xad\xee\x0b\xca\xb1\xcd\x32\xd3\x55\xb9\x4f\x38\x6e\x61\x48\x8c\x9f\xb7\xb4\x13\x0b\x48\x43\x93\x12\xbc\x93\xb0\x0a\x04\x22\xdf\xf9\xfd\xdf\xbe\xff\xd0\xf3\x32\xc4\x8b\x9a\xdf\xfe\xf8\x81\xe4\xf4\xfb\xbf\xfd\xf0\x01\x37\x34\x93\xc2\xcb\x4b\x56\x51\x4e\x6b\x40\x41\x83\xde\x75\xd5\xa7\xba\xdd\xf7\xc2\xaf\xe1\x33\xd2\x87\xcf\xb2\x14\x9f\x87\x74\x8b\x07\x3f\xff\xd1\x0e\x2f\x43\x56\xba\xc3\x9b\xfd\x76\xa9\x63\xec\x85\x02\xd8\xaf\x50\xdc\x66\x60\x59\x70\x93\xbf\x87\xdf\x3c\xdc\xba\xe4\xc1\x52\xe7\x4d\x3d\xf1\x07\xf9\xf5\x33\x06\xc2\x43\xff\x3d\xb4\xd4\xba\xdb\x9d\x73\x89\x54\xc0\xdc\x77\xb8\x65\xba\xa9\x86\x45\x4a\x95\x2c\x6a\x0e\xba\x9c\x66\x69\x2f\x22\x88\xae\x1b\x4c\xb5\x3d\x78\x57\x61\x62\x0c\xee\x1d\x7e\x8e\x32\x6f\xab\xac\x4b\x0a\x28\xa9\x8d\x58\xa2\xa0\xa3\xb9\xd6\x99\x92\x63\xe8\xeb\xa6\x49\xda\x0b\x75\xd8\xcf\xaf\xac\x45\xf8\x09\x62\x60\x2f\x43\x3d\x97\x34\xe3\xcd\x0a\x37\x01\xb8\x2c\xe1\xa1\xaa\x99\xaf\x40\x7f\x65\x13\xbb\x56\x43\x81\x9d\xe2\xc3\x92\x45\xf5\xa6\x5e\x18\x01\x37\x13\x35\xa5\x26\x9a\x57\xde\x25\x04\x27\x50\x6c\xf3\xc4\xe3\xfb\x32\x4e\x4a\x40\xeb\x66\x69\xde\x1c\x2a\x41\x10\xb1\x64\x03\x46\x19\x11\xa1\x11\xfb\x1e\xab\xe6\xfb\xa0\xa3\x64\x72\x99\x6a\x8e\x97\x72\x93\xce\x0b\xe9\x77\x6b\x55\x42\x17\xf4\x2b\xfd\x09\xf3\x3a\x32\x84\xb2\xfe\x71\x2b\xd4\x7d\xfa\x63\x49\x72\x2e\xda\xa6\x8b\xe7\x76\x9a\xbf\x6a\x37\x6d\x3c\xd7\xf1\x6b\x0c\x20\x9a\xe8\xfb\xe5\x88\x37\x93\xec\x88\xdb\xba\x7b\x39\x61\x74\xf2\x08\xe4\xcc\x60\x24\x63\x64\x41\x98\x66\x06\xe7\x22\xe9\x20\x5c\x8c\x2c\xbc\xc5\xb4\x16\x35\x96\x03\x68\x50\x85\xcf\x82\xcd\xdb\x88\x08\x9f\xe1\x6f\x39\x98\x6b\xf7\x76\x21\x7c\xcb\xef\x2e\x3e\xb4\xee\xc3\xf7\x1c\xf3\x8d\x47\x09\x59\xfa\x7a\xc7\x85\xaa\x23\x95\xbb\xa2\x1b\xea\x55\xbd\x2b\x02\xb9\x3c\x75\x29\x99\x08\x4c\x8e\x5f\xf7\x82\x93\x66\xb2\x4e\xbd\x20\x1c\x16\x83\x22\x15\x4a\x38\x45\xad\xb7\xfa\x79\x38\x9b\x31\x03\x1e\xae\xdb\x3c\x88\x73\x08\x78\xc7\x27\x4a\x91\x73\x61\xf3\xe1\xc4\x3e\xd2\xf2\x8b\x51\xb5\xf0\xc2\x7f\x0c\x63\xcc\x71\x83\xda\xc2\xe3\x5c\xbf\x34\x3f\x91\x34\xc7\x12\xa6\x8d\xbc\x65\x05\xdc\x7e\x83\xd9\xc1\x7d\xb2\xfc\xb8\x94\x9b\x50\x03\x42\x70\x30\xe6\x7e\x62\x5b\xee\x44\x90\xd0\x61\x6a\xdd\xc2\xb9\x17\xd5\xaa\x80\x9d\x36\xfc\xf8\x1a\xd6\x98\x17\xa5\x1b\x3d\x81\x70\xb4\x13\xab\x9f\xcd\xde\x7d\xc0\x37\xa6\x7f\xa1\x7a\xd3\xa2\x8c\x66\xea\xa2\x1a\xae\xe1\xde\x02\x73\x13\x9e\x5c\x51\xbf\xf7\x3f\xfa\x53\x9d\x48\xe1\x77\x68\xe3\x3b\x3e\xda\x4b\x25\x8b\x7f\xc0\x0f\x21\x8e\x3a\x95\x23\xc6\x7f\x06\x0d\x40\x19\x6c\x51\xaf\x81\x4f\x34\xe2\x6d\x45\x8d\x82\x1d\x28\x4d\x16\x15\x22\xfd\x13\xeb\x03\x8c\x0a\xe3\x9b\xf6\x02\x9b\x93\x68\xfa\x0f\x21\x5d\xeb\x47\x4d\x7a\xea\x5b\x33\x92\xf6\xaf\x55\x4f\xa5\xff\xed\x83\xe1\x28\x89\x0d\x4b\x4f\x77\x81\x9f\xf1\x67\x02\x35\x16\xc1\x63\x9e\xe8\xd0\x81\x50\x95\x19\xaf\x96\x9a\xaf\x27\x34\xa1\x8a\x4c\x4d\xd0\x5f\x4b\x86\xde\x96\xfa\x95\xa4\x5e\xef\xaa\x8e\x49\x86\xce\x66\xb8\x34\x5c\x24\x53\x03\x76\xb8\x8b\x2d\x31\xd6\x84\x9c\xf3\x49\xb5\x81\x46\x28\x4c\x4a\x22\xa4\x0a\x0e\x8d\x46\xfb\xc3\xae\x8a\xe9\x57\xb8\x14\x9a\xaf\x4b\x61\xcb\x7d\xf4\xe9\xe0\x59\xa4\x42\xd0\x99\x39\xca\x67\x7d\xaf\xfb\x25\x0c\xc4\xc4\x64\xfe\x5c\xad\xbe\x36\xf5\x6a\xc8\x43\xba\x77\x6f\xd8\x75\xed\x5a\x62\x29\x05\x77\x06\x3a\x58\xfb\x2b\x44\x67\x61\x80\x4b\xa2\x52\xdb\x16\x1c\x5f\x20\x11\x45\xb3\xc4\x65\x08\x86\x9a\x68\x79\x93\x61\xa8\xca\x57\x27\x64\x14\x73\x25\x54\x05\x8d\xfa\x97\xd5\x26\xb7\xf1\x73\xf5\x05\x12\x20\x4e\x47\xbc\xe3\x6d\xdc\xfd\xe1\xb6\xc6\xf1\xfa\x04\x1f\xb6\x45\x23\xb7\x9b\x35\xbb\x23\xb1\x5c\x2d\xfe\xc8\xb0\xb5\x1a\xae\x66\x6a\x96\xda\x46\x24\x05\xc8\x33\xb7\xb3\x81\xb0\xfb\x46\x37\x20\x4a\x41\x73\xc8\x28\xfe\xbb\x6a\x79\x1f\x0c\x01\x49\x15\x91\xe3\xd5\x76\x3a\x54\x4f\xb2\x1a\x39\xde\x93\x69\xfb\xf6\x0f\xf7\xcb\x87\xb2\x89\x61\x73\x35\xb9\xa9\xe2\x44\x19\xb8\x3f\x48\x99\x8a\xd6\x3d\xbc\xf7\x19\x65\xf8\xa0\x60\x20\xfa\x5e\xfc\x9e\x39\x8d\x9e\x3b\xcb\xa2\xac\xee\xb2\x67\x14\x0b\x2e\x77\x5e\xb9\x30\x06\x28\xa3\xca\xe6\x7e\x9f\xb4\xdd\x2e\x69\x6b\x2c\x55\xf2\xa3\xe3\x84\x37\x0a\xff\x1a\xf7\xc0\x24\x9e\x71\xcd\x41\x76\x48\x07\x44\x0c\xc0\x05\x1f\x21\xe2\x97\x2e\x24\xda\x29\x31\x09\x1d\xd4\x43\x49\x6d\x0b\x94\x01\x48\xaa\x1f\x51\xf8\xd9\xc9\x31\xee\x0f\x4e\xd1\x3e\x63\xe6\xbe\xd4\xe7\xc6\x31\x3f\xa7\x01\xb3\xda\x30\xff\xd6\x42\xb9\x3d\x4c\x07\x59\x89\x51\x3c\xff\xf5\x19\x21\xf8\x8e\x56\xb5\x94\x95\xd7\x1a\x51\xb9\xa6\xc4\xa0\x34\x47\xc1\xa7\xf8\xc1\x0d\xfd\x7b\xb4\xdd\x3e\x2a\xcb\x07\x33\xa3\x76\xfc\x53\x18\xf6\xc8\x12\x4f\x95\x15\x23\x2a\xe9\x6a\x72\xec\xe8\xfc\xdc\x31\x40\xb2\x4e\xef\xf9\xec\xe7\x73\x9a\x99\x8e\x32\xce\x9c\xe0\x6e\x5c\xbd\x9e\xe9\x7f\x4b\xd4\x2e\xda\xf7\xf0\x86\x16\xd3\x45\x3f\x96\x11\x2b\xef\xb2\x46\x2e\xf5\xb7\x76\x30\xdc\xb5\x28\x3b\x47\xb4\x7b\x7b\x60\x52\x24\xfe\xe2\xc1\x29\x71\x2c\x74\x9c\xd6\xc0\x46\xcf\x00\xce\x33\xd1\xb1\xf5\xff\x4e\x46\x7a\xae\xf9\x39\x34\xb8\x83\x95\xce\xae\xeb\x8f\x35\x15\xf8\x33\xfd\xc1\xf7\x42\x83\x20\xe4\x31\xe8\x01\xb5\xcb\xd9\xdf\x24\xf9\x36\x56\xce\x61\x9c\x65\x3a\x0d\xd5\x68\x2e\x41\x0f\xc5\x9e\x6b\xbf\xe1\x0b\x98\x8f\x72\x9a\xb6\xab\x3d\x84\xf4\x1b\x75\xbd\xf9\x2f\xf8\xc1\xb4\xc4\xd4\x5d\x69\xf8\x3d\xb0\xcc\xf5\xa0\x48\xb5\x90\x06\x15\xc7\xe1\x50\xb8\xd4\xc8\xd5\xba\xc9\x07\x44\x61\xa5\x74\x9c\x9e\x02\xee\x63\x5b\x23\x41\xd9\x64\x4d\x57\x26\x39\xc2\x8b\x3f\x85\xaf\xf5\xad\x06\x68\x93\x7c\xb3\x0e\x50\x09\x3e\x5e\x2a\xfc\xb9\xab\xe5\x0a\x8b\xe3\x7b\x16\x17\x6c\x5d\x8c\xf5\x56\xcd\x58\x24\x10\x3a\x0e\xc4\xb3\xd2\x96\x58\x30\x75\x6d\xc0\x1e\x54\x1b\x60\xa4\x60\xea\xdc\xe7\x8c\xd0\xa6\x1e\x40\x39\x22\xc6\x00\x07\xa6\x73\xca\x52\xc3\xa3\xa8\x18\x99\x8c\x27\xe6\xa5\xe3\x41\x9e\x9e\x60\xf1\x1c\xc4\x32\xa2\x91\x91\xb5\x70\x62\x29\xdc\x2f\x62\x1d\xbd\x4e\x72\xef\x86\x60\x7e\x31\x66\xd5\xaa\x3f\x39\xfa\xd3\x5c\x54\x69\x4b\x5b\xc8\x54\xc1\x99\x4e\xbe\x62\x96\x0b\x57\xa5\xec\xac\xfb\x1d\xc1\xae\xda\xf6\xa3\x44\xec\xba\xc0\x67\xcc\x59\x73\x94\x5a\xc9\xe4\x78\xac\xaf\xd2\x5c\x92\x60\xea\x95\x8f\x5e\xfd\x94\x13\x66\xba\xa8\xbe\x68\x27\x16\x7e\x8d\xcd\x9a\x62\xae\x7a\x11\xb9\x7a\xd4\xe9\x69\x5a\x91\x7a\xbc\x30\x5b\xf0\x65\x9e\x62\x73\x1e\x62\xa9\x03\xfd\x22\xd6\x5e\x94\x9f\x98\x7a\x96\x49\x84\x6f\x4d\x9b\xe9\x0c\x2f\x5d\xb0\x2a\x15\xa7\x28\x10\x04\xb6\x45\x85\x71\xbf\x51\x6e\xe0\xba\xed\x60\x57\x01\x51\x71\x42\x22\xb6\xc1\x28\x36\x4b\xa5\x25\x7c\x30\x58\x1a\xaa\x8b\xe0\x09\xa8\xc6\x5b\xfd\xd5\x40\x81\x83\x1c\x70\xe4\x30\xb8\xf5\xf5\x4f\x49\xdc\xc3\x0b\x9e\x0c\xb1\x11\x10\x8d\x3d\xdb\x38\x5c\x5f\x89\xf4\x78\x93\x06\x14\x22\xde\xc7\x4d\x97\x90\xd9\xd1\x0c\x70\xdc\xbc\x81\x0d\x4e\xd9\x40\xf5\xba\x82\x99\xaa\xa8\xe7\x86\xae\xe0\x18\xdd\x07\x86\x0f\x98\xa5\xc2\x8c\xe7\xe1\x40\x05\x9a\x80\xb1\x05\x96\x20\xcc\x08\xee\xa7\xf2\x73\xad\x91\x47\xf5\x02\x30\xb7\x95\xf7\x11\x1d\x59\x20\x60\xce\xd5\xdf\x59\x89\x04\xf9\x77\x36\x2e\xfa\x47\xfe\x77\x46\x22\xfa\x53\x37\x65\xf5\xf9\x1f\x26\x51\x86\x78\x97\x8c\xa0\x47\x13\x7b\x44\x61\x55\xb9\x67\x28\xe6\xa6\x13\xfc\xf6\x68\x36\x3d\x73\xdc\x9b\x91\x33\x21\xbc\x3a\xb0\xf2\x89\xd6\xd5\x44\xab\xd2\x6d\x5f\xf2\x36\xe8\x96\x7f\x93\x5b\xa9\xe7\xf8\x95\xff\x0f\x3e\xf1\xfd\xd0\xc5\xdf\x9c\x2f\xde\xf5\xf3\xc4\x3c\xd6\xa7\x60\x41\xd0\x89\x6e\xea\xa9\x0d\x00\x77\xad\x11\x97\x2d\x0c\xbe\xed\x24\x29\xf5\x8e\x27\xbc\x08\x81\x8c\x55\x99\x09\x05\x2b\xac\x99\x7b\x37\x17\x88\xe0\x8f\x50\x15\x2c\xc8\xf6\x62\x0a\xa5\x2e\xf7\xe2\x2e\x29\x4a\xd8\x22\x28\x46\xfb\xd4\xc4\x24\x25\xc4\x31\x0c\x9c\xf8\x5b\x5a\x57\xc5\x85\x36\xce\xdb\xc8\xfd\x18\x44\xc5\x59\x17\x8d\x00\x6d\x52\x4e\x88\x3e\x88\xb9\xbd\x14\x2b\x92\x38\x07\x83\xbb\x1c\x10\x13\x59\xb6\x8c\x08\x3d\x62\x86\xae\xea\x06\x78\xda\x4f\xa7\x9d\xdd\xe2\x88\xe1\x58\x7e\x4f\xcd\x3c\x02\x56\x4a\xe8\x65\x0c\x42\xf8\x95\xfa\xd2\xcd\x07\xbc\x06\xd8\x0b\xe0\x53\x5d\x92\x58\x88\xb5\xb8\xad\xde\x3f\xa6\xf5\x12\x3e\xc1\xa8\xe9\x60\xdd\xa3\xf5\x04\x32\x87\xb8\xfc\x08\xb4\x70\x19\xe3\x87\xf4\x73\x2d\xf3\x3e\x0b\x8a\x64\x9d\x03\xc4\x01\xc9\xa3\xf7\xbc\x67\xed\x84\x6f\x83\xdd\xb2\x38\x16\x99\x64\xf9\xe3\x64\x39\xd2\xc9\x92\xd8\x0c\x41\x0e\xbd\xd3\x70\x7a\x82\x07\xa3\x49\x1a\xd5\x87\xf9\x72\xe6\xcd\xb6\xf8\x3c\x7a\x8e\xe8\xaa\x4f\x06\x98\xc6\xc4\x63\x84\x18\x2b\xe2\x05\x03\x36\xdb\x2a\x86\xe2\x48\x59\xd6\xa3\x70\x5f\x25\x3e\xe6\xce\x12\x3e\x1e\xe5\x6d\x32\xb1\xa3\xbe\xc2\x10\x4b\x26\xe0\xf5\xa4\xe9\xe8\xfa\x7e\x14\xad\x78\xc3\x29\xc0\x92\xfa\x56\xc8\xd2\x8e\x43\x4a\xf3\x95\xd1\xa5\x88\x27\xc2\x22\xdf\xd1\xea\x1f\x6f\x6b\x55\x8c\x8f\xe7\x9a\x35\x33\x7c\x8d\x3c\x83\x3d\xcb\x8f\x40\xdc\xd1\xda\x0f\xd6\x9a\xe7\xf0\x3f\x56\xd5\xce\x35\x91\x76\xdf\xf9\x24\x82\x4d\x48\xcd\x81\x67\x08\x9a\x12\x59\x0b\x42\x92\xf4\x26\x95\x18\x9c\x65\xe5\x1d\x22\xc3\x21\xa6\x67\xbe\x32\x63\xed\xee\xf0\x9d\x9e\xee\x32\xbb\xa2\xc2\xfb\x27\xb8\xa6\x0a\x30\x2c\x26\x2c\x1d\xf9\x87\x7b\x89\xd1\xf5\x99\xaa\xc4\x6d\x65\x64\x3f\x1a\x83\x9b\x84\xae\x59\x81\xee\x70\xf7\x52\xcf\x84\x7c\xc6\x23\xc1\xb1\x62\x1c\xba\x2f\xa2\x7c\x2e\xae\x7e\x3c\x9e\x67\x2e\xf9\x70\x81\x91\x8b\x5d\x52\x57\xea\x62\xe7\x3a\x28\xb8\x78\xa8\x9e\x67\xb3\x75\x28\xfe\xba\x5a\xc4\x0c\x4b\xa2\xf7\xa6\x06\x2f\x6a\x97\x05\xaa\xbc\x58\x24\x9c\x50\xc7\x16\x76\x1c\x64\x46\x83\x85\xea\x23\x40\xe3\xf8\x32\x9a\x7b\x7d\xd5\xba\xd0\x6f\xe2\x29\x88\x23\xd0\x77\x7d\x91\xce\xce\xb5\x70\xf7\x3a\x93\xca\xeb\x8f\x84\x80\x20\x98\xaa\x24\x00\xdd\xe4\x76\x4f\x7d\x86\x20\x0a\x86\x5f\x1f\x0e\x38\x39\x3b\xc7\x3d\x05\x6d\x3c\x3a\xbe\xd7\x4c\xee\xf3\x3f\x13\xdb\x88\x70\xd6\x1c\xbf\x5f\x09\xe0\x6a\xc5\xde\xbd\x75\xa3\xc1\x7e\xaf\x2b\x73\xbb\x6a\xca\x8d\x90\x4b\xef\xfb\x6d\xfc\xb9\xdc\x57\xe4\x88\xd2\xcf\x3b\xbc\xdf\x55\xab\xfa\xf2\x66\xc1\x86\x0c\x5d\x83\xf7\x90\xc2\x73\x2c\xb7\x7a\x17\x84\x91\xc0\xfa\x92\xaf\x35\xdc\xb4\xe8\x94\xf8\xfb\x3e\x3d\xfa\x27\xd3\x33\x06\x9d\xf3\x73\xb2\x19\xbe\x4d\x55\x01\xba\x2e\xde\x3e\x35\x1f\x13\xb9\x5a\x07\xde\xe6\x44\x79\xb0\x0f\x3e\xd8\xb2\x34\xfd\xa5\xe4\x47\xab\x5a\x20\x3a\x77\xe8\x0b\xc7\x4a\xeb\xe1\xf8\x83\xdf\x77\x80\xdb\x14\x9c\x49\x28\x52\x18\x81\xb0\xbd\xa9\xa2\x45\xa8\xd5\x42\x7d\xe3\xfc\xb6\x39\xea\xa7\xe2\xd4\x6c\x1b\x71\x88\xe8\xda\xf5\x78\x9c\x82\xfb\x72\xdf\x20\xcd\x11\xb3\xbc\xaf\xf0\x1c\xc3\xb6\xb8\x91\x78\xd2\x7c\x2d\xd0\x57\x34\xa3\x65\x6f\xef\xfb\xf0\x0b\x64\x24\x1c\xb2\xc6\xc1\x5c\x03\x26\x4b\x32\xed\x5b\x54\x98\x9b\x96\x7c\x06\xa4\xdf\xb5\xe2\xeb\xf1\x4e\x3f\xa7\x40\xa2\x07\xe4\x51\xbd\x92\xaf\x29\xc8\x4e\x83\x48\x86\x70\x92\x53\x90\x8b\xb6\xe4\x35\x7b\x4a\x7f\xa6\x22\x7b\x78\x94\xc8\xe4\x76\xec\xe5\x1d\x07\x32\x12\x33\x2b\xce\x20\xec\xac\x36\x97\x12\x91\x8a\xe5\x1d\x28\x32\xe5\x06\x8b\x9d\xa4\x24\xa6\x3a\x3b\xf5\xa0\x02\x9d\x27\x78\xa5\x22\xa8\xac\xbf\x9e\xd2\xb0\x21\x3e\x60\xc3\xb8\x4f\xb8\xb6\xb7\x7e\xbd\x16\x4e\x11\xab\x09\xb5\xad\xc4\xff\x3d\x62\x0e\x80\xa5\x66\x33\xa4\x31\x3e\x61\x27\x31\x7f\x39\x54\x06\xd1\x00\x44\x79\x33\x10\x91\x34\xc4\x3c\xd9\xf9\x2b\xd9\x0b\x28\xd8\x9b\x98\xb0\x69\x8f\xd4\xbf\x8c\x27\x48\x3c\xcb\x26\x10\xd1\xcc\x07\x40\xe6\xc9\x3d\x3e\xc8\x15\x3c\x2a\x2f\x5e\x25\xe4\xc3\x11\xe0\xe4\xb5\x28\x74\x54\x63\xf9\x8a\x70\xc9\x84\xd5\x64\x49\x77\x0b\xc8\x73\xc5\x32\xac\x23\x86\xcc\x4d\x11\x0f\x2b\xb2\x4e\x57\xad\x8b\xae\xb4\xd8\x77\x4a\x98\xd9\x4b\x16\x04\xd8\x07\x18\x29\x36\x7d\x6b\x55\xd0\x41\x42\x20\x1f\xd9\x2e\x98\xd6\x9b\x59\x51\xd3\xa4\x33\x4f\x1f\xd5\x8f\x4c\x8b\xf7\x3b\x26\xcf\x42\xeb\xad\x1d\x0c\xf9\xdb\x7f\x3f\x3b\x79\x7b\x94\x7f\x7e\x74\x7d\x7d\xfd\x88\x8b\x3f\x22\x81\x9a\x7d\xf7\x4b\x8e\xad\xf7\xff\x1f\xbf\x39\xca\xab\x61\xf5\x70\x91\x1f\x0b\xd5\x8e\xc4\x50\xef\xdc\x70\x9f\x8e\x0b\x2c\x22\x10\xff\x3c\x35\xd7\x1d\xa3\x9a\x11\x1f\x84\xd5\x73\x20\xbc\x7a\x66\xfd\xa8\x8b\x29\x56\x90\xee\xfc\x5e\x75\x15\x8c\x07\xf1\xe1\x32\xe8\x30\xff\x38\x17\xc9\x68\x0c\x52\x53\x3b\xda\x8d\xd7\x2b\x7d\x09\x67\x04\x62\xb6\x32\xcf\x60\x25\x13\x95\x36\xbc\x70\xe1\x14\x66\x2d\x0c\x51\x29\x56\x04\x27\x07\xcc\x45\x65\x0b\x51\x95\xbf\x8c\x0b\xc3\xe4\x1f\xaf\x59\x3c\xce\xff\x9d\xef\x40\x78\xa1\x04\xb7\x38\xcb\x70\x0b\xc0\x8b\x71\x61\x84\x67\x76\xf2\x0b\x0d\x40\x82\x4e\x9b\xfc\x14\xf3\x82\x0c\x35\xa9\x44\xa5\x6c\xb6\x3a\x24\x22\x1c\xa4\x6e\xe0\x9a\x54\x37\x2d\x92\xde\x40\xcd\x67\xdb\xbc\x88\xb5\xff\x91\xfa\x01\xd8\xf5\xcc\xdc\x3c\xe4\xe2\xef\x30\x3b\x45\x8e\x3e\x02\x94\xa9\x88\x77\xc0\x88\x7b\x17\x84\x29\xd7\x58\xe4\xd5\x38\xc3\x45\x7f\xaa\x06\x84\xc7\x99\xdb\x8b\xa2\xf7\x08\xab\x16\x77\x8f\xd1\x37\x3d\x7d\x84\x91\x13\xd7\xe2\x84\x7a\x80\x74\xa4\x4c\xed\xfc\x61\xb8\x98\xd0\xa6\xc8\xf9\x29\x6d\x9a\x70\x37\x0a\x38\x6a\x63\xc2\x54\xa8\xf8\x31\x15\xcd\x62\x0b\x87\xf8\x27\xb1\x71\xb5\x73\xdd\x82\xf1\x21\x3e\xc3\xf3\x90\x96\x72\xa3\xb6\x4b\x41\x77\xd3\x2d\xca\x13\x22\xfb\xc8\x53\x54\xe6\x6b\x53\x8b\x38\x06\x41\x50\x11\xf6\x3f\x34\x57\xa7\x49\x48\x15\x7f\xd2\x4b\xad\xe6\x20\x2f\x8e\xfc\xa3\xcc\xf1\xd3\x5f\xe3\x9d\x4d\xac\xad\x3c\x1e\xf9\x4c\xbe\xfc\x6c\xed\x36\xed\x8d\x45\x9d\x79\x8e\x5f\x1a\x43\xcf\x8f\x2c\x82\xe9\xa0\x22\xe4\x5c\x5d\x91\x15\x05\x14\x6a\x87\x72\x8d\x75\x63\x8f\xe4\xbd\x1f\x2c\xe9\x82\xb5\x67\x37\xc1\x15\x2d\x88\xdb\x45\xea\xa2\x2f\x2f\xc9\x68\xf0\x16\xaf\x94\x6b\x97\xe9\x00\xfe\xe2\x42\xd7\xab\x0c\xd2\xb0\x22\x24\x74\xc3\x8b\xa6\xc9\xed\xf1\xdc\x28\xa6\xd1\x52\x02\xd4\x38\xaa\x4b\x1c\xe9\xc1\xa8\x2e\xbe\xa8\x0f\xed\xe2\x8a\xe2\xdc\x0c\x93\x30\x7b\x61\x93\x2c\xcb\x34\x70\x4b\x1c\xea\x17\xc4\x6e\x99\x5f\xb9\xb1\xe0\x71\xe7\x52\xdf\x76\x5b\x5a\xfa\xc1\x7d\x41\x14\x97\x91\xd2\xe3\x4b\x64\x90\xb9\xbe\xc4\x49\x71\xb3\x7b\xd7\xdd\x69\x59\x5f\x5e\x2e\x2e\x3a\x62\xc1\x39\x54\x0a\x9e\xef\x62\xca\xce\xbf\xf3\x33\xfc\x16\x10\xb6\x99\x03\x56\xc8\x87\x24\xaa\x8d\xef\x63\xb5\xfb\x92\x44\x18\x2c\x8d\x5f\x0d\x7a\x4e\x39\x62\xbc\xf4\x96\x50\xfe\x89\xe5\x2c\xa4\x08\x8b\x00\x4b\xfe\x42\x90\x17\xdc\xaf\xf1\x8d\x11\x0a\x9d\x71\x8a\x03\xeb\x77\x1b\xe2\x5e\xf5\x89\xaa\x33\xfe\x01\xbf\x2d\x07\xb1\x6f\x48\x8e\xad\x4a\x83\x79\x2f\x3f\x3d\x14\x57\x69\x4b\x67\x27\x2a\xcc\xd4\xc5\x4c\x4c\x58\xef\xa8\x9c\x04\x86\x1a\x1c\x81\x11\x5a\xd5\xe0\xad\x23\x88\x0f\x0a\x41\x10\xb6\x26\x11\x42\x27\x1a\x04\xeb\xe9\xeb\xb7\xf2\x13\xbe\x67\x1a\xf4\x11\xce\x67\x6c\xad\x96\x99\x47\xdb\x62\xce\xb3\xcd\xf2\xc4\x21\x51\x34\x69\xf6\x98\x2f\x7e\x05\x88\xb2\x2b\x2e\x61\x9c\xc1\x7f\x43\x2a\xf1\xef\xb1\xd8\x69\x57\x3d\x1a\x17\xa3\xc9\x91\x25\x3b\xc3\x47\x48\x57\xe3\x0a\xfe\x13\xd2\x0a\xd8\x4c\x3e\x76\x23\x8f\x33\x62\xc6\x79\x84\xbf\xf7\xfb\xbc\xaf\x59\x3b\xaf\x88\x3e\x6a\x10\x58\x16\x5f\x88\x00\x0e\xc2\x45\xd1\x8f\xd5\x5b\x6d\x20\x2e\x54\x7f\x95\x87\xf9\x61\x2f\xde\x41\x62\xbe\xe8\xcb\x74\x8b\xa4\xdf\x49\x69\x61\x0f\x2a\x5b\xed\x7c\xd3\xae\xc1\x01\x23\x62\x82\x84\xea\xdb\xf3\x53\x7e\x34\x11\x1c\x98\x94\xb9\xa5\xb0\x89\xea\x2d\xd5\xff\x49\x1e\x97\x91\xea\x89\xf3\x09\x31\x69\x88\x09\x6a\x24\x2c\x86\xe5\x41\x7b\x62\x01\x7a\x93\x32\xf1\x09\x0b\xbb\x0b\x89\xae\xa0\x94\x0f\xae\x6a\xe5\x3d\x4c\x99\xc5\xe2\x18\x5d\x32\x76\xd7\x81\x84\xa2\x5b\xea\x94\x8a\x5b\x8e\x5c\x83\xea\xd5\xbf\x47\x0b\xdd\x2e\xa7\xf2\x15\x72\x98\x7b\x17\x16\xf4\x8d\x7c\xc9\xf3\xc4\x63\x6c\x9a\x46\x4d\xa2\xbc\x47\xe3\xb5\x76\xf0\x61\x02\xfe\x5c\x3d\x60\x1d\x7e\x4b\xbc\x41\x2e\x06\x08\xc5\x90\x60\x8a\x39\xc5\xc7\x47\x07\x1f\xe1\x78\x88\xdd\x18\x9b\xdd\x84\xe6\x14\x51\x22\xca\x4c\xb0\x9d\x0d\x1a\x6c\xa7\xc0\xa2\x21\xdd\x2e\xc0\x9e\xb8\x61\x60\x5a\x34\xd9\x68\xc2\x7c\x45\xa8\xf4\xde\x6a\x06\x58\x8e\x1a\xcd\x8a\x6a\xd7\x31\xcc\xfc\xe9\x62\xed\xf8\x68\x35\x62\x61\xd8\x89\xd2\x23\xdc\x69\x10\xca\xdc\x72\x96\x4c\x5a\xf3\xba\x6f\x69\xe2\x8e\xc3\x63\xbc\x07\x52\x93\x0c\x57\x8f\x1e\xf1\x6c\x62\xa3\x7b\x64\x72\xc4\x87\xde\xe8\x43\x71\x38\xc6\xec\x3b\xcb\x7e\x6b\xbb\xf5\x87\xf8\x32\x41\x50\xe5\x26\xaf\x12\x40\x73\xc0\x30\x21\x1a\xef\x01\xc0\x18\xa1\x37\xd6\x68\xe8\xf8\x92\x37\xdd\xf4\x51\x5d\xd1\xdb\xc8\x03\x32\x30\xf3\xb1\x90\x35\x0b\x73\x11\x97\xa0\xe8\x6a\x7f\x93\xbc\x76\x0e\xcf\xed\x68\x57\xf2\x5e\xdd\xcb\xd4\x2e\x81\xbd\x8b\xf9\x83\xe3\xd6\xf3\xfb\xcc\xac\xb4\x95\x2b\xe3\xd7\x48\x20\x92\x88\x04\xbc\xab\x20\x1a\x38\xfa\x9b\x21\x16\xb6\xaa\xa9\x39\x55\xbf\x34\x7d\x14\x6f\x3b\x89\x8f\xed\x5c\xda\x11\x85\x3f\x31\x1a\xe2\xca\x31\x2b\x33\xe6\x84\xe1\x61\x07\xed\x84\x4c\x21\x52\x6f\x83\x4e\xe2\xc1\xf0\x5e\x17\x43\x54\xde\xd5\x85\x98\x66\xa9\x4f\xa1\xa2\x08\x5e\x06\x68\x12\xdf\x9b\x7e\x11\x9b\x71\x94\xe3\x4a\x6c\x0d\x63\x31\xbc\xf8\xc9\x66\x4c\xbf\x08\x7c\x12\x06\x42\x85\xf9\x42\xe2\x39\x49\x72\xbe\x21\xb9\x70\x93\x48\xf7\xa8\x88\xf9\xe9\x5f\x0e\xc4\x03\x9f\xbe\x84\xf1\xf5\x41\x40\xa6\x75\xdc\x1e\x06\xe4\x9f\x35\x3d\x9a\x8f\x4b\xed\x55\x98\xa3\x00\xd5\x21\x6b\x2e\x52\xf5\x3f\x63\x2b\x94\x82\x3a\x22\x93\x4c\x41\xa8\xe9\x4b\xef\xd8\xd4\x04\x89\x30\xf5\x5f\xb3\x40\x4a\xdf\x8e\x18\xf7\x7a\x12\x52\x39\xe9\xf4\xd7\x85\x56\x3e\x68\xdf\x90\xd0\x8a\xb1\x48\x3f\x89\x67\x86\x01\xde\x5a\x24\x8d\x6e\xe6\x3b\x1c\x94\xb8\xee\xc2\x5c\x2f\xce\x24\xae\x99\x5c\xe4\xdc\x1d\xdc\xec\xc0\x5d\xe2\x6d\x51\xce\xc6\xbd\x64\x1a\x13\x3c\x4b\x7d\x27\x6f\x2d\xe1\xb9\x8c\xd4\xa6\xe5\x5f\x89\x7c\x36\x7f\xfb\xc6\x22\xff\xb5\x69\x3a\xc1\x95\xd8\xfc\x45\xfd\x11\x8b\x6f\x36\x5f\x22\xdf\x45\x42\x1b\x67\x0e\xfc\xa4\x4c\xee\xe8\xad\x12\xa5\xda\x8b\xf8\xd4\xc5\x32\x89\x76\x76\x1c\x1f\xd3\x88\x81\xcf\x7e\x0c\xc5\xf4\x6e\xdc\x42\xa5\x8e\xd2\x23\xa5\x84\x51\xaa\xde\xfe\x47\x20\xf9\x0d\x9e\x6f\x36\x67\x5c\x3e\x6d\x43\x1f\x57\xec\xda\x4d\x15\x3a\x9a\xbf\xa3\x5f\xb1\x7b\xa9\x8b\x66\x5a\x30\x94\x09\xe9\x2a\x26\xeb\xfb\x31\xb1\x37\xf2\x36\x08\x9c\xa7\x5d\xaa\x9e\x96\x6e\xad\x84\x4f\xd6\xda\x21\x76\xfc\x38\x86\x96\xc7\x1a\xf5\x5c\x7d\xcb\x2f\x3e\xe0\x50\x5d\xc0\xe3\x53\xde\xab\xd0\x94\xb4\x51\x49\x63\x8e\x45\x03\x6e\xe6\x12\x0a\x4c\x43\x32\x4e\xf3\x47\xd1\x96\x70\xa6\x84\x38\x4b\xf6\xf8\x0c\x33\xdc\xea\x5b\xdc\xc8\x15\x65\x1a\x7e\x48\x6a\x05\xc3\x1e\x9b\x15\x93\xdd\xa4\x5d\x0f\xf1\x25\x0d\x73\x3f\x27\xcd\x1d\x99\xc2\x13\x7a\x28\xd5\xc4\x4a\xa0\x62\x69\x45\xde\xa3\x0d\xfd\x08\x2f\x1e\xc7\x7e\x78\x88\x2f\xe9\x07\xb7\x02\xd7\x37\x11\xe0\x6e\xe9\x0f\x49\xdc\x1a\x89\x3c\x31\xc0\x19\x77\x31\xc6\x01\x3a\x77\x27\x39\x6c\xbe\xca\x11\x67\xc2\xf7\x0b\xd3\x23\x55\x72\xc4\xac\x62\x86\x79\x10\xd3\xbc\xd9\x58\xa5\x77\x13\x01\xf8\x18\x72\xc9\x00\xea\x8c\xee\x22\xd8\xec\xb9\x24\xfd\x8a\xcc\x1e\xb8\x2f\xa5\x0d\x9a\x79\xf7\x91\x2c\x70\x16\xa5\x53\x38\x3f\x7f\xa8\x80\xf5\xb3\x95\x2c\x01\x11\xcd\x20\x78\x83\xb9\x56\xa7\x95\x05\x62\x0e\xa8\x40\xc4\xa7\x70\xb6\x63\x3d\xdf\xe6\xb4\xef\x4c\xb6\x8f\x8c\x9b\x0d\x26\x41\x80\xe2\x8b\x64\x6f\x73\xc7\xd1\x55\x5b\xef\x9e\x54\xdf\xea\x6e\x30\xed\x4a\x3c\xd7\xe5\x79\xab\x80\x30\x07\x85\x9e\x85\xdf\xea\x53\x04\x89\x68\xb7\xee\xe0\x7e\x69\x6b\xcd\xc4\xc2\xa1\x02\x2a\xfc\x31\x8c\x32\x3c\x89\x1e\xa9\x01\xac\x2f\xa8\xa2\x07\xb7\x11\x85\xaf\xe8\x00\xc8\xc6\xed\x3d\x00\x59\x10\xef\x7d\xea\x86\x23\x01\xb7\x75\x44\xdf\x32\xff\xf2\x8e\x80\x6e\x7c\x61\x47\x8e\xac\x17\xfa\xd8\x4b\x59\xce\xee\xff\xdb\xfa\x37\x12\x84\x80\x9c\xc9\xeb\x43\x46\x0c\x60\x2c\x24\xcf\x83\xcf\x19\x0b\x39\xf5\xec\x62\x31\xde\x25\xce\x60\xcd\xed\x14\x67\xb2\x6a\x7d\x81\x5d\x93\x9a\xd0\xea\x29\x17\xab\x6a\x68\xdd\x11\xcb\xbc\x19\xbc\x99\x6d\x1a\xb1\x8d\x2d\x3c\x87\xee\x46\x39\x1d\x9e\x91\x34\xe0\x5c\x34\xaf\x13\x99\x0e\x86\x04\xf2\x8c\xd5\x6f\x58\xab\x0f\x59\x78\x85\x9b\xf7\xbf\x7d\x67\xa2\xf9\x92\xcb\x54\xbc\x0b\x14\x1f\x04\xca\xc7\x0f\x04\xdd\xfa\x9a\x53\xfa\x8a\xd5\xf8\x31\xb3\x5e\x02\xe3\xae\x8d\x45\xb4\xa7\xcf\x33\x35\x2b\xe4\x19\xbf\xa1\x39\xd8\xb2\xa2\x98\x13\xb2\x6d\xdb\xd4\x62\x7a\x76\x2c\x5f\x35\xbf\xe6\xe4\x3d\x69\x5e\xf0\x0f\x09\x48\xae\x29\xec\xba\x91\x0d\xed\x80\x48\x97\xe7\xfc\xf7\xc7\xfc\x7e\x99\xc5\xa1\x43\x07\xcc\xea\xb6\x95\x68\x3a\xe5\xdb\xe5\xbb\xa7\x84\xe0\x07\xd8\xd9\xdb\x48\xb1\x06\x74\x13\x1a\xeb\xbd\xeb\xb6\x76\x12\x95\xee\xfb\xb9\x16\xcd\x3d\x06\x96\x07\xa5\x3d\x5e\xcf\x64\x87\xdf\x24\x2e\xf9\x4d\x62\xd1\x43\x1e\xb9\x84\x64\x41\x7c\xc6\x2e\x04\xc9\x4f\x92\xd3\xa3\x34\xa6\x4b\xbc\xcd\x24\x89\xc3\xea\x25\x09\xc5\x6a\xd2\x8a\xdd\x57\xf8\x34\x33\x96\x8d\x29\x66\x36\x9b\xd4\x9e\x46\x4a\xf7\x59\x62\x6a\x9c\x24\xe9\x53\xec\xe9\x48\x44\xcb\xeb\xd3\x36\xed\x9a\x5f\x1c\x83\xae\x38\x1d\x9e\xf2\xeb\x69\x9d\xe6\x66\x96\x54\x81\xc8\x17\x3e\x05\x57\xa7\x43\xd1\xa7\xa5\xb1\x3f\x7d\x82\xfa\x46\x4d\x00\x49\x7e\x2f\x56\x57\xea\xf4\x3c\x83\x48\x26\x86\x07\x64\x12\x59\x7c\x0e\x52\x9e\xcb\xcf\xed\x71\xfc\x59\x98\x6e\x0f\x1d\xe2\xbe\x71\xb9\xec\xba\xc9\x6e\xc2\x08\x26\xdf\x6a\xd4\x50\xf6\xe3\x0c\x81\xe3\xf3\x13\x6c\xc7\xfe\xd6\x42\xee\x5c\xe4\x98\x53\x1a\xac\x5e\x4b\x0a\x0f\x73\xcb\x01\x19\x6b\xd6\xa3\x56\x6d\x8a\xdc\x03\xca\x7d\xe4\x3c\x0a\xb8\x94\xeb\xdd\xbe\x65\x7f\x51\x1d\xa3\x5e\x46\x88\x50\xcd\xd7\x77\x15\xf4\x9f\xe9\x3d\xf5\x66\xd4\xc9\x84\xe6\x19\xc8\x1d\x35\x8c\xba\x38\x5b\xc5\xd7\x77\x12\x27\x6d\xb3\x96\x53\xe7\x40\x27\x6f\xf0\xda\x40\x57\xaa\xe0\xba\x61\x03\xce\x97\x66\x54\x76\x47\x95\x87\x7a\x7d\x6b\x9d\x5f\x31\x8c\x75\x3d\x2c\xd7\xab\xd8\x7d\x7e\x69\xa5\xbb\x60\xc2\xcd\x87\x7b\xb5\x92\x70\x05\x4d\xaa\xb4\x9c\x2f\x7e\xdb\x04\xa3\x43\xac\xae\x98\xab\xfe\x50\xdf\xba\xaa\xbf\x69\x56\xac\xa8\xe3\x87\x69\xf4\x82\xfd\x5d\x25\x97\x26\x0f\x16\x94\xf6\x5d\xa1\x01\x78\x2b\x5c\x45\xf7\x0f\xe4\x79\xaf\x6f\x57\x05\xfc\x7f\x7e\xa4\xa3\xb8\x79\x04\xd2\x8e\xd2\xc6\xd9\xf2\x6c\x3d\xbc\xb5\xa1\xd1\x58\x1c\x5d\x77\x73\xdb\xa1\x2b\x43\xf5\x45\x23\x70\xe6\x24\x7e\x18\x8c\x28\x4a\xc4\x40\xf2\x46\x0f\x63\xe6\xdf\xb2\x69\x10\xbf\x9d\xc3\x76\x4f\x6a\x4f\xa8\x87\x36\x42\xdf\x06\x05\x5b\x79\x60\x40\xbe\xdd\x5b\x56\xe8\x41\xd2\x8b\xaf\x1b\x23\x87\xd4\x9e\x6c\x84\x77\x48\xd6\x10\xdb\xff\xd4\x76\x98\xab\xf8\x5f\xdd\x0e\x9d\xeb\xd5\xe4\xb9\x35\xc7\x1e\x20\x8c\x31\xcd\x1d\x7b\x5d\x80\xef\x44\x58\xe3\xf7\xf8\xed\xc9\xb5\xbc\x81\xb6\x5c\xb7\x5d\x4b\x18\x27\xb1\x29\xf5\x5d\xb4\x97\x96\xd6\xcf\x14\xc0\x8d\xc5\xcd\x72\xaf\xae\xbf\x56\xe6\x18\xc9\xc4\xf6\xb1\x77\x6d\x2c\x05\xe6\xc9\xca\xb0\x1e\x7a\xa5\xb7\x17\xe0\xa6\xac\xd4\x13\xcb\x70\x25\xb5\x4c\x7b\xc1\xde\x54\x1a\x12\x05\xc0\x27\x9a\xe2\x60\x71\xeb\xc7\x01\x1f\x09\x03\xf6\xbb\x25\x0f\x15\x3e\xb9\x92\x9c\xbf\x41\x72\x7e\xce\xc9\xd3\x16\xac\x57\xa1\xd8\xa8\x53\x87\xca\x71\x10\xb0\x71\x99\x17\x1c\x2b\x6c\x0c\x6f\x33\x77\x55\x15\xbb\xc9\xbc\xbd\xa2\xc4\xc9\xac\x01\x72\x3a\x01\x80\x3d\x3c\x0b\xbe\x54\x5d\x42\x88\xf6\x25\x5e\x53\xd2\x21\x68\xd8\xe2\x8c\xe1\x1b\x66\xe2\x0f\x94\x50\x6e\x6a\xdc\x2b\xbd\xa9\x9b\xf4\xaa\xbd\x60\x0f\xf7\xde\xa0\x4f\xe4\xa7\x83\xba\x68\xdb\x81\x64\x39\x02\x25\x36\x12\x66\x99\x32\x4d\x4f\x2d\x9d\x19\xe1\xd5\xc7\xc9\x4c\x09\xf4\x74\xaa\x04\xfa\xf0\x5c\x6d\x39\x06\x39\xb5\xd5\xed\x57\xc3\x9e\x68\x4e\x68\xf0\xf8\x8c\x63\x97\x9f\x85\x8c\x49\x8b\x93\x92\x1e\x43\xc7\x85\xe7\x5a\x5e\x71\x04\xf9\xd9\xa6\x9f\x71\xce\xad\x6d\x4f\xca\xfa\xc6\x27\xc5\xe7\x76\x0a\x9e\xf9\x64\xa2\x74\xb1\x5f\x7d\xac\x06\xf6\xc8\xbc\x5a\xc2\x44\xc3\xd7\x75\x6a\x60\xf9\x53\x80\xe5\xaf\x08\x2c\x3f\x87\xc6\x6d\xa6\x56\x3a\x47\xb7\xd5\x50\xc0\x64\xc7\xd5\xf2\xf2\x19\xad\x80\x24\xcf\x95\x82\x26\x6e\xa9\xf2\x8f\xee\x42\x66\x49\x5d\x0d\x27\x50\xd6\xa9\x48\xf4\x24\x80\xcc\xd5\xc6\x61\x27\xe5\x40\x5f\xdd\xac\xe4\xf5\x4b\x0e\x44\x49\x7d\x78\x27\x29\x0e\x16\x32\x1e\xc1\x1a\x8d\x84\x55\x09\xfc\xf4\x09\xfc\x3c\x25\x94\x42\xc1\x22\xb0\x10\x2e\x82\x3b\xe5\x48\x38\x73\x80\xbb\x42\x36\xd3\x41\x48\x6b\xde\x00\xad\xe5\x31\x9c\x36\xda\xcb\x54\x0a\x59\x11\x01\x5b\x7c\x8c\xf4\xed\x26\xc2\x39\x58\x2d\xc0\xc5\xc8\x5e\x6e\xe2\x34\x85\xc5\x1b\xa5\xf1\x46\x25\x5e\xd2\x86\x07\x79\x05\x4c\xe4\x0a\x48\x13\x92\x62\x9c\x30\xde\x12\xb7\x6f\xcb\x4b\x62\x29\x4a\x5a\x3c\x40\xe9\xaf\xa6\x59\xb4\x95\x10\x13\x56\xd3\x61\x9a\xdc\x55\x6b\x56\x54\x88\x07\x2b\xa2\x9a\xc0\xfb\xe4\x1d\x92\x4d\xba\xf1\xfe\x44\xe7\x2d\x46\xe9\x06\x96\x9a\xf0\xd9\x30\xef\x8e\xf8\xb2\xd0\x3a\x7c\xec\x41\x1d\x19\x44\x17\xb3\x61\x1b\xbd\xa1\xae\xb6\x6c\x02\x29\x21\xfb\xe5\x62\x73\xe3\x4b\x43\xae\x34\x41\x6d\x54\xc3\x1b\xc8\x9c\x6e\x96\xc3\x03\xa0\x41\xd5\x8d\xcb\x02\x56\xb9\x88\x13\x04\x54\xed\x30\x52\xdd\x37\xf6\xc0\xa8\xa1\xc1\xa1\x37\x7d\xed\xd5\x9f\x2f\x7c\xd6\x37\xce\x85\xc3\x14\x58\xa9\xa4\x38\xb2\x2d\x3e\x6b\xfc\xfa\xf8\x40\xc6\xb1\x3e\x85\xe1\x1c\x0a\x9f\x59\xee\x1b\x7e\x15\xe3\x50\x59\xd3\xf1\x7d\x7b\x46\x04\xe6\xd1\xf7\x78\x9f\x89\xf6\xc3\x7a\xd3\x5e\x14\x6c\x92\x22\x2f\x8f\xe0\x61\x8d\x87\x5a\x47\xdd\x2f\x3d\x52\x8e\x1f\x2d\x2a\x46\x48\xca\xe0\x8a\xa7\x09\x28\x1c\xcc\x39\x43\xd0\xac\xed\xdc\x55\xbe\x21\x2e\x2e\xcd\xd9\x11\x64\xa9\xb6\xd0\x93\x1a\x5c\x19\x68\x88\x65\x63\x31\xef\x26\x71\x37\x7c\x3d\xf2\x3a\xc4\xd2\x30\xe6\xae\xba\x0e\x3e\x26\x31\xbb\xee\x51\x49\x6f\xcb\x1e\xde\x7c\x06\xf4\xad\x77\xc0\xe9\x02\xcf\x3f\x8a\x3f\x7d\x9d\xdf\xbd\x87\xcf\xec\x65\xf2\x44\xbd\xf7\x8e\xf6\x8f\xf3\xeb\x85\xf5\xa1\xf7\xf1\x7d\x07\x38\x4e\x80\x18\xc2\x1c\x68\x3f\x5e\x74\x22\x5c\x90\x6f\xde\xab\xb8\xd2\x0e\xc8\x65\x5c\xdb\x79\x73\xa7\x54\x43\x99\x74\x65\xc6\xa2\xe9\xc9\xf8\x21\xbd\x03\xe6\xb0\xfc\x1e\xfa\x02\xfe\x9f\x29\x89\x4e\x6e\xa8\x13\x52\x8d\x12\x9e\x04\x23\x21\xb5\xd5\x41\x52\xbc\xbd\xb1\x8b\x1b\xd1\xa3\x82\xfa\x8e\xdb\x73\x7b\x32\x69\x4d\x4a\x4c\x5f\xe8\x4a\xbb\x20\x29\xd3\xfb\x5d\x49\x57\x15\x60\x6e\x2f\xee\xa8\x3e\x77\x01\x3d\xa0\xb0\x60\x9d\xa5\x8d\x1f\x6f\x80\x7a\x57\x89\xe5\xa8\xcb\x23\x72\x99\x74\x5b\x4a\x49\xd8\x37\x73\x20\x56\x8a\xac\x59\xae\xf7\x92\xe2\x23\xa3\x4b\x8a\xbc\x78\xcd\xe4\x43\xc2\x72\x94\x9a\x3e\xb5\xac\x72\x9d\xd4\x6a\x46\x9d\x73\xb5\x02\x6a\x9e\xe2\xbb\xde\x8c\x9d\x0d\x24\x15\x7e\xb1\xec\x19\xd1\x0f\x9a\xb2\x93\x78\xe7\xa7\x1c\xef\x5c\x52\xa0\x56\x2b\x61\xf6\xcb\x5a\xb4\xe7\x6f\x7d\xba\x7b\x04\x1b\xb9\xe1\xf9\xeb\x19\x18\x67\xf7\x54\x74\x1c\x6e\xfd\x47\x0d\x78\xe8\x1e\xc3\x66\x87\x49\x79\x0a\x73\xb7\xe1\xfe\xf2\x1b\x3e\xb8\x11\xe3\xfb\x81\x3d\x82\x9d\xf1\x6b\xb5\x30\x05\x20\x32\xb3\x16\x4b\x74\x79\x5f\x51\x27\x93\xf9\x13\x8d\xe3\x0a\xbe\x44\xef\x3f\x9e\xb2\x11\xa3\x03\xc1\x88\x00\x10\x46\x54\x0c\x12\x05\x65\xfe\x95\xf9\x90\x7b\x10\x7a\xfc\x2c\x01\x36\x7d\x38\x49\xb9\xf7\x1c\xb2\xf9\x51\x8d\xe8\x6c\x4c\x7d\xaa\x4d\xa9\x8e\x86\x49\xb4\x97\xc5\xa4\x05\x33\x80\x42\x98\xad\x3b\x7a\xd3\xef\xad\xeb\x67\xfb\xbb\x7a\xae\x8f\x37\xcb\x9b\xd0\x63\x30\x89\xd9\x65\xb3\x24\x31\xbb\xac\x06\x5c\x9a\x05\x00\xb9\x4a\x4f\x20\xb6\x7c\x00\x2e\xfb\x82\xa9\x05\x91\xfa\x32\x3f\x7b\xa2\x39\xfd\x76\xd8\xd9\x83\x50\x67\xc7\xe7\xa7\xb7\xa0\x36\x83\x2a\x8a\x02\xd2\xe1\x29\x67\x29\xae\x22\xcb\x21\xac\x1a\x9d\xa9\x7f\x8d\xaa\x3d\x60\xb6\x26\xb8\xdf\xcf\xc3\xdd\xc6\x05\xc9\xeb\xa7\x74\x64\x73\x48\x51\x38\xa7\x48\x99\x45\x7e\x4c\x9c\x42\xcd\x56\x90\xd6\x9a\x5a\xe2\x5d\xd0\x62\x57\xbb\xa2\xb3\xc7\x08\xf0\x12\x4e\xfe\xe0\xe8\xc1\x22\x21\x06\xcb\x41\x9e\x49\x97\x30\x3d\xe7\x6f\xce\xe8\x73\xd5\xdd\xc8\x35\xbf\x8e\xf4\x63\xbd\x63\xb0\x25\xfb\x36\x09\xab\x4a\x29\x80\xfd\x13\x52\x6c\xe7\xf2\x7d\x70\xd5\x7d\xaa\x57\x01\x5f\x4e\x9f\x1c\x43\x0d\x43\x49\x9e\x16\x68\xd3\x88\x09\x6a\x8c\x70\xec\x04\x2d\x47\x9b\x30\xc2\x46\xcf\xea\x1d\x0e\x04\xfa\x63\xf5\xb8\x70\x85\x63\x6e\x55\xee\xec\x6d\xa6\x27\x9c\x53\x0a\xed\x18\xa8\x48\x69\xc7\x0c\x76\x5a\xe4\x2e\x3f\x99\x45\x42\x5b\xfd\x41\x9a\xd6\xf3\x85\xb6\x6f\xbe\x32\xc7\xf4\xdc\x36\xe8\xd9\x28\x40\x69\x89\x04\x72\x29\xe4\xde\x1e\xcf\x4c\xab\x8e\x8f\xa5\x4e\x4a\x24\xcf\x68\x4e\xe6\x75\xc6\xa6\xec\x16\x3b\x32\x57\xfb\x88\xfd\x48\x2b\xbe\x8b\x0b\x11\x6d\xab\xa9\x04\xc3\x85\xa9\xaa\x04\xd3\x7b\x53\x85\x2d\x76\xbb\x70\x8a\xb9\xf7\x51\x81\xb6\x0e\xe4\x93\x10\x1c\x07\x41\x9b\xa0\x1f\xd5\x23\x2e\xb3\x1e\x88\x3d\x67\x15\x60\x7c\x12\x6a\x72\x7b\x79\xc9\xaf\x54\x71\x70\x77\x8d\x31\xc7\x3f\x39\xd8\x65\x68\x5f\x1d\xc1\x97\xac\xa3\x84\xce\x8f\xc7\xf4\x5c\xbd\xc3\xdf\x21\x91\x85\x2c\x03\xef\xf6\x50\x6e\x71\x7f\xdf\xed\x1b\x11\x1f\x5d\x96\x36\xc4\x59\xbe\x11\x30\x53\x5d\xdb\x0e\xf6\x4c\x9b\xe3\xa4\xde\x51\x32\x1d\xb1\xc3\x55\x98\x60\xbe\x92\x5d\x2d\xe5\xb5\x28\x57\x06\x17\xc2\x2b\x78\xe3\x4c\x0b\x51\xbf\xa7\x25\xa8\xdf\x07\xc0\xc5\xec\xc8\xf8\x90\x33\xfc\x12\x22\x1d\x7a\xcc\x66\xce\x8a\x8d\x36\x60\x49\x1b\xe3\x8d\x9f\x83\xf2\x22\x22\xc6\x73\xbb\x44\x9e\x45\x0d\x82\xf4\xcc\x54\x4c\xf5\xec\x4b\x4c\xf5\xac\x58\x4c\xd5\x8e\x8d\x7a\xd0\xf7\x1b\x5b\x88\xb3\xb3\x37\xe9\x6a\xc7\x5c\xf7\xac\x29\x1f\xd4\xf7\xf8\x95\x07\x0e\x20\x7d\x2f\x67\xaf\xc8\x87\xae\x84\xce\xa6\x9f\x3f\x4d\x1d\xd7\xd1\xff\x75\x53\x0f\xd5\x0f\xf7\x60\x18\x72\x6f\xa8\xcb\x8b\x7b\x0f\xfd\xbe\xa9\xe1\x52\xe4\x36\x4e\xbd\x3a\x30\x3d\x41\x97\xc1\xa2\xfa\x66\x69\x61\xae\x24\xb6\x44\xdd\x55\x7a\xbc\xab\x41\x6b\x3a\xb3\x86\xd1\xf1\x14\x08\xf8\xec\x4f\x00\xeb\x17\x7b\xa7\x75\x2e\x23\xc6\xb7\x84\xbf\xdb\x3b\xab\xe6\x29\x92\x63\x07\xe5\x81\x0a\x7b\xb0\x42\x1d\x75\xac\x7b\x78\x6f\xe2\x75\x23\xfe\x6d\x5a\x44\x8f\x28\xd1\x3a\xaa\x99\x72\x38\xa1\x44\xdd\xf8\x04\xa9\x56\x00\x43\x0f\xca\x9c\x63\x1e\xb0\xd7\xdf\x8c\x07\x0c\x1f\xcc\xfa\x6f\x95\xc4\x0d\x77\xc3\x3e\x26\xd1\x9c\x75\x0a\xfc\xec\xfd\x19\x5f\xc3\x3c\x63\x80\x49\xb7\x76\x24\x77\x14\xbe\x47\x48\x08\x34\x48\x1c\xba\xd9\x23\x6c\xb9\xd1\x9b\x58\x71\xfa\x86\x5f\x58\xfe\x06\x57\xaf\x61\x76\xe8\x0c\x8a\x4c\x72\x52\xe8\x1d\xe7\x05\xa6\x7a\xa6\xb0\xc5\x82\x08\x98\x62\xbe\xd6\xb3\x98\x82\x90\x26\xcb\x4d\xd5\xac\x81\xa5\xff\xc9\x3f\x89\xdb\xe1\x9f\x61\x82\xc4\x89\x1a\xea\x3f\x76\x66\x7a\x6c\x6e\xd5\xd0\x02\x52\x4a\xc0\x85\x3b\xd9\x12\xb7\x32\xfe\x10\x38\xc6\xef\xf9\x0e\x2a\xec\x54\x50\x4a\xf3\x6d\x15\x69\x4b\xb5\x6e\xed\x5e\xfd\xfa\xe6\x64\x04\x39\x43\x0b\x34\x67\x86\x76\x68\xce\x0c\xa5\x10\xab\x82\x30\x04\x58\x12\xcc\x8f\x40\x20\x0f\x0e\x40\x10\x3a\x5a\x10\x01\x93\x67\x2b\x52\xd4\x2f\x09\xb3\xc4\xcd\x4e\x90\x5e\x7e\xa7\x40\xee\x51\x5c\x81\xb2\x37\x71\x27\xad\x36\xbe\xcd\x46\xae\x92\x23\xd1\x11\xfb\x37\x47\x74\xc4\xc3\x64\xb6\x7b\x06\xcd\xee\x84\xb5\x19\x9a\x09\xfc\xa9\x26\x19\xa8\x81\xc4\x9a\x0d\x42\xab\x0e\xdd\x24\xc4\xad\x03\xf3\xfa\x0c\xbf\x92\xa5\xd3\xed\xc7\xfb\x45\x60\xe3\x0e\x64\x4d\x9e\x94\x30\xe0\xf5\x2a\x4c\x8c\x69\xd0\x5f\x3e\x8b\xcf\x05\x43\xd9\x3e\x1a\xcc\xa6\xbe\xac\x82\x6a\x5e\x47\xf3\x86\xd2\x12\xe0\xab\x61\xd8\xf5\x16\x18\x03\x4f\xba\xe6\x27\xf4\x63\x34\x08\x5f\x95\x8e\x64\x52\xd3\xae\xc6\x75\x89\x9b\x17\x49\x98\x9f\x71\x83\xd6\xc3\xc1\x81\xeb\xe9\x30\xa6\x71\xeb\x2e\x10\x4e\xdb\x21\x2f\x35\xc9\xb3\x02\xa1\x75\x66\x01\x66\x5b\x66\x28\x3d\x24\x19\x06\x87\xa4\x59\xb5\x2d\x56\x9d\x84\x04\xe6\x3f\xe7\x6c\x52\x14\x72\xfc\xde\xb3\xb4\x9e\xdf\x30\xde\x8b\x7b\xae\x7e\x46\xf8\xf8\x7c\x97\x4c\x93\x65\xcc\x3c\xf9\x95\x02\x54\x9f\xab\xd5\xde\xdd\xa3\xfe\x2a\xbf\xf5\xe2\x22\x56\xd3\x9a\xe5\xfb\xbe\xc1\x73\x6f\xa7\x92\xe2\x60\xe6\x62\xd0\x5b\xd7\x69\xde\x06\xd5\x2e\x0d\x87\xdb\x0f\xcd\x43\x96\x65\x28\xb3\x0c\x34\x83\x3b\xf9\xb9\xdc\x88\x8b\xe1\xc8\x58\xd0\x60\xe1\x59\x5d\xc2\xd3\x77\x19\x3c\x7f\xe1\x62\x2d\x90\xea\x05\x1c\xe0\xd5\xe4\x4d\x0f\x1a\x56\x26\x87\x56\x2b\xb6\x19\xe1\x6b\xae\x3c\xbc\xf3\x4d\x02\x71\xc8\xa7\x21\x7b\x88\xe7\xfa\x33\x81\xa9\x1b\x61\xf1\x24\x4b\xb4\xef\xaf\x25\x4d\xab\x74\x16\x90\x26\x9d\x84\xa7\x03\x83\x08\x74\xa6\x29\x63\x48\x6b\x19\x40\x6c\xa3\x30\x9e\x0d\xcf\xfe\xf9\x34\x84\xa8\x74\x66\xaa\x6e\x4c\xe3\x65\xb4\xac\x76\xc7\x04\x7c\xb7\x98\xf4\x36\xc8\x3a\xba\x22\x66\xcf\x79\x97\x5d\x50\xf6\x9b\xcc\xfd\x87\xd1\x1b\xe7\x76\xf7\xe3\xec\x2d\x92\xa0\x22\xf7\xe5\x11\xbc\xae\x6a\x5c\x58\x5a\xf9\x55\x4e\x1e\xd3\xb5\x27\x67\xbe\x8f\x4f\xce\xb0\xcd\xfe\xc1\xa7\xf5\xc2\x53\x67\xa8\x95\x8d\x90\x25\xba\xd9\xe8\xd9\x9e\xbe\x5b\x7d\x37\x2e\xcb\x3a\xed\x14\x8c\x33\xff\xcd\x2a\x96\x31\xda\xa3\x70\xbf\xeb\x43\x6c\xf2\xdb\x8d\xef\x3b\x51\xbc\x7e\x27\x23\xfd\x83\x7b\x29\x4d\x6b\x18\xbf\x45\x64\xd3\x95\xbc\xe3\xe1\x2b\xd4\x27\x86\xa6\xf5\x8d\xde\xa9\x73\x6f\xf1\xb5\xcd\xd7\x74\x6c\xf6\x41\x93\xdf\xf5\xe1\x95\xaf\xee\x56\x08\x7c\xa9\x6b\x60\xbf\x47\x18\x21\xeb\x3a\xbf\xa8\x11\x49\x10\x68\x48\x9e\x30\xb6\xb5\xa4\x1f\xbe\x1b\x58\x49\xff\x24\xdd\x74\xb5\x47\xf8\x61\xcf\x5a\xe9\x0b\x44\xa0\x2d\x92\x5c\xf7\xfa\x80\x84\xbc\xfb\x74\x3f\x3c\x8b\x44\xb8\x3e\xb4\xed\xe6\x43\x56\xac\x79\x48\xf4\x7f\x86\xc7\xba\xc5\x2b\x09\x88\x4a\x9f\x99\xfc\xe4\xaf\xef\xb9\xe6\xef\x35\x66\x1e\x87\xa0\xff\x7e\x8b\x84\x6d\xdd\x30\x7d\xe6\x84\x2b\x24\xf0\xdb\xfd\xf8\x59\xe2\x67\x59\xdc\xe0\xd7\x35\x7e\x5d\x57\xd5\x47\x29\x0c\xc2\x43\xc5\xdb\x86\xf8\x2f\x4e\xb9\xc1\xef\x1b\x7e\xf0\xe3\x3e\xfb\x6c\x4a\x6c\x3e\xbc\xab\x62\x3f\xf0\x7a\x0a\x37\xa7\xe9\xf6\x83\xd2\xb9\x55\x4d\x95\xcf\xfb\x6c\x19\x72\xa3\x49\xf8\xe2\x70\xff\xd4\xbc\x26\xc9\xe7\x7d\x9c\x17\xc3\x95\x55\x28\xdf\x94\xca\xfd\xd0\x44\xf9\xa4\xb4\xae\xb8\x5e\xc6\x7e\xe9\x17\x52\x63\xaf\xf4\x8b\xa6\xb7\xec\xda\x1d\xc7\xdb\xfe\x90\xd9\x93\x07\xf1\xad\x83\xe7\x94\x67\xc6\x59\x1c\x0b\x9a\x03\x2c\x20\xaa\x3a\x2b\x97\x77\xec\x67\xbe\xc8\xec\x89\x93\xba\xd9\xed\x83\xcc\x1e\x9f\xd7\x11\xb0\x18\x99\x4f\x5c\x53\xf8\x55\x54\x79\x32\x9a\x56\x77\x79\x51\xeb\x4b\xd9\xac\xae\x26\x01\xe8\xdb\xbf\xff\x1d\xf0\xf4\xfd\x8f\x7f\xe4\xc7\x4f\x1f\xe6\xd5\x67\x8e\xe4\xda\xe7\x5b\xbd\x7f\x35\x30\xfa\xfd\x22\x81\x64\xaf\x78\x78\x0c\xe8\x5d\xa1\x78\x0c\xa0\xf9\xec\xff\x04\x00\x00\xff\xff\xbb\x31\xf2\xf1\xde\xbd\x00\x00") +var _confLocaleLocale_enUsIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\xbd\xfb\x72\xdc\x48\x8e\x2f\xfc\x3f\x9f\x82\xed\x09\x87\xdb\x11\x72\x75\xf4\xf4\x7e\x97\xe8\x68\x77\x7f\xbe\xb4\x2f\xbb\x96\xa5\xb5\xe4\x99\x6f\x4e\x87\xa3\x9a\x2a\x52\x25\xae\xab\xc8\x1a\x92\x65\x59\x33\x31\x6f\x70\x1e\xe0\x3c\xdf\x79\x92\x03\xfc\x00\x64\x22\x49\x96\x64\xcf\xac\xff\xb0\x58\x99\xc8\x3b\x12\x09\x20\x01\x64\xb1\xdb\x2d\xcb\xaa\x5f\xe5\x8f\xf3\x27\xf9\xae\xa8\x9b\x4d\xd5\xf7\x79\x5f\x6d\x2e\x1f\x5d\xb5\xfd\x50\x95\xf9\xcb\x7a\xa0\xdf\xdd\xa7\x7a\x55\x65\xd9\x55\xbb\xad\x08\xf4\x15\xfd\xc9\xca\xa2\xbf\xba\x68\x8b\xae\xa4\x84\xe7\xf6\x9d\x55\x9f\x77\x9b\xb6\x63\xa0\x5f\xe5\x2b\xbb\xaa\x36\x3b\x2e\x43\x7f\xb2\xbe\x5e\x37\xcb\xba\xa1\x9f\x67\xf4\x95\xbf\x6e\x24\xa5\xdd\x0f\x96\x74\xb2\x1f\x24\x6d\xbf\xb3\xa4\xf7\xbb\xac\xab\xd6\x35\xf5\xa6\xa3\xa4\x77\xfa\x99\x5d\x57\x17\x7d\x3d\x70\x4b\x7f\x96\xaf\xec\x53\xd5\xf5\x75\xcb\xb5\xff\x49\xbe\xb2\x5d\xb1\x66\x80\x53\xfa\x93\x0d\xd5\x76\xb7\x29\x50\xe0\x5c\x3f\xb3\x4d\xd1\xac\xf7\x02\xf3\x46\x3f\xb3\x55\x57\x51\xd6\xb2\xa9\xae\x29\xf5\x19\x7e\x2c\x16\x8b\x6c\x4f\x93\xb0\xdc\x75\xed\x65\xbd\xa9\x96\x45\x53\x2e\xb7\x32\xcc\xf7\x94\x9e\x6b\x7a\x4e\xe9\x39\xa7\x63\x08\x55\x49\x43\x5d\x16\xbd\x8e\x83\xe6\x92\x46\x5e\xf4\x19\xaa\x6a\x8a\xad\x95\xe6\xcf\xac\xda\x16\xf5\x86\x67\x8d\xff\x52\xbf\xfb\xfe\xba\xc5\xd4\x9e\xea\x27\xcd\xc1\x72\xb8\xd9\x55\x98\x82\x47\xe7\xf4\x95\xad\x8a\xdd\xb0\xba\x2a\xb8\x9b\xf2\x95\x11\xd0\xae\xa5\xb9\x68\xbb\x1b\xc0\xd9\x8f\xac\xed\xd6\x45\x53\xff\xad\x18\x64\x7e\x4e\xdc\xcf\x6c\x5b\x77\x5d\xcb\x53\x7b\x8c\x8f\x8c\x46\xbe\xe4\x7a\x28\xe5\x2d\x4d\x82\xab\x85\x73\xb6\xf5\xba\x93\x59\xe4\xcc\x63\xfc\xe2\x5a\x24\x4f\x6b\x92\xac\x50\xdb\x65\xdb\x7d\xd4\xd4\x17\xfc\x39\xaa\x92\x3a\xa7\xb9\x69\xbf\x8a\x86\xd6\x43\x73\x8f\xf1\x23\x01\xe8\xb3\xa2\xdc\xd2\x0c\xef\x8a\xa6\xe2\xa9\x7b\xc2\xbf\x68\xbe\xe8\x57\x56\xac\x56\xed\xbe\x19\x96\x7d\x35\x0c\x75\xb3\xe6\x35\x78\x22\x49\xf9\x99\x26\x65\x2e\x2f\xa4\xdd\xb4\xfb\xb0\xca\x94\xfe\x17\xfa\x99\x9f\xca\x4f\xc9\x73\x85\x90\x19\x4a\xf2\x48\xfa\xe5\x65\x55\x95\x32\x96\x3e\x7f\x41\xdf\xd9\x6e\xbf\xd9\xd0\x6c\xfe\x75\x5f\xf5\x03\x17\x3a\xa5\xdf\x34\x7e\xf9\x9d\xd5\x7d\x4f\x1f\x94\xfc\x1a\x1f\x19\x2d\x69\xb3\xc2\x60\x9e\xe1\x23\xcb\x7e\xeb\xab\xa2\x5b\x5d\x7d\xc8\xe4\x2f\xfa\xca\x1f\x8c\x92\x87\x16\x9b\xf1\x4b\x71\x4b\x5a\xb0\x06\xb2\x55\x5b\xf2\x8f\x67\xf4\x87\xaa\xae\x9b\x7e\x28\x36\x9b\x0f\x99\x7e\x30\x98\x7c\xc9\x02\x0c\xf5\x80\x59\xd0\xc4\xfc\x6c\xa8\x76\x3d\xaf\x60\xfe\xa2\xee\xfa\xe1\xd1\x50\x13\x0e\xbf\xdb\x37\x59\xd9\xae\x3e\xd2\xee\xe0\x9d\x8e\x96\x5f\x5f\xe6\x34\x59\x0f\x68\x7f\x74\xfb\xa6\xa1\xe9\xc9\x5f\xb6\x34\x65\xd4\x4c\x4d\xed\x3f\x07\xf4\x51\xbe\xdb\x54\x45\x4f\x20\x55\x51\xe6\x3f\x15\xf9\x50\x74\xeb\x6a\x78\x7c\x6f\x79\x41\xbb\xf2\xe3\xbd\xfc\xaa\xab\x2e\x1f\xdf\xbb\xdf\xdf\xfb\xf9\xe5\x9e\x8a\x6d\xea\xa6\xea\x7f\xfa\xae\xf8\x39\x5f\x15\x94\x43\xd3\x78\x93\x5f\x54\x97\xbc\x09\xa9\xad\x9c\xb0\xbf\x59\xf3\x06\xbc\x19\xae\xb8\x41\xc2\x04\xfa\xe8\x73\xa6\x00\xdf\x64\xbc\x00\x44\x21\x96\xe5\x85\x51\x3b\x74\x08\xc9\x1d\x2d\xc0\xf1\xcd\xd9\x7f\xbe\x39\xca\x4f\x89\xe4\xad\xbb\x0a\xdf\xf4\x1f\x95\xf8\x21\xa7\xd1\x9e\xd7\xcf\x9f\x2e\x32\x2a\x6b\x13\xf2\xbc\x18\x8a\x0b\xee\x7b\x58\x7d\xce\x94\xcd\x19\xf2\xb0\x45\x99\x88\x82\x60\xf6\x43\xb2\x2c\x73\x1b\x9c\xea\x50\xaa\x10\xea\x78\xcb\xa4\x81\xd2\xc3\xcc\x9e\xca\x9c\x51\x55\xf9\xeb\xb7\x6f\x4f\x9e\x3f\xcd\xab\x66\x4d\x33\x93\x5f\xd7\xc3\x55\xbe\x1f\x2e\xff\xdf\xe5\xba\x6a\xaa\xae\xd8\x2c\x57\x35\x4f\x4a\x47\x08\x9b\xd3\x2c\xc9\x10\x17\x59\xdf\x6f\x88\x72\x01\x0b\xce\xce\xde\xe4\xc7\x8c\x09\xbb\x62\xb8\x42\x47\x86\xab\xac\xff\xeb\x86\x27\x2a\x34\x78\x7e\x55\xe5\xd8\x0c\x00\x6a\x2f\xc7\xf3\x92\x97\xda\xd7\x45\x56\x75\xdd\x92\x08\xeb\x70\xc3\xd3\xac\x75\x1e\x82\x96\xea\x08\xdb\x9b\x76\xa0\x65\xcc\x51\x4e\xaa\xa8\x9b\x4f\xc5\xa6\x2e\x69\xb2\xe3\x84\xa4\x65\x91\x58\xb6\xb4\x6e\x5c\x9a\x30\xb3\xbd\xc6\x50\x8b\x15\x9d\x0b\x7d\x7e\x6f\x71\x0f\x84\xf8\xde\xa3\x7b\x8b\xac\x69\x97\x42\x25\x98\x64\x97\x75\x5f\x5c\x10\xf9\x96\xe3\xa4\x33\x6a\xf8\x17\xc6\x1f\xe9\x8a\x42\xe4\x09\x04\xcf\x2d\x1f\x51\x38\x19\x18\xb9\x0a\xa2\xe3\x20\x36\x4a\x66\xfc\xd8\x8d\x26\x85\xf5\x15\xb2\x14\x12\x26\x63\xce\x6c\xc1\x0c\xbb\x9e\xec\x76\x9b\x7a\x25\x4d\xbf\x94\xbc\x88\x68\x7c\x60\xeb\xa4\x78\x38\x20\x8a\xe5\x39\x74\xa1\x5e\x33\xd9\xca\x13\xfa\x8f\xf2\x57\x15\xed\x9c\xab\xfd\x5a\x0e\xad\x4d\xbb\x2f\xbf\x01\x41\xb1\x95\x8b\xf4\x24\x7f\xd7\x52\x87\x81\x1d\x01\x20\x36\xf1\x84\x08\x03\xf3\x08\x5d\xb5\x6d\x07\x9e\x38\x2d\x56\xd3\xf2\x5c\xd7\x94\x49\x23\xed\x8b\x4f\x44\x16\x87\x56\xb6\x64\x49\x5b\x6e\xc5\x15\x13\x05\xdb\xd3\x41\x2f\xdb\x82\xe8\x88\x6c\x0d\x4b\x4b\x71\x10\x50\xdb\x3d\xed\xa6\x2b\xaa\x8c\x27\x9e\x19\x15\xaa\x72\xae\x9f\x18\x12\xd5\x83\x5d\x4e\x3b\xb7\xa5\x43\x95\x17\xfa\x39\x3e\xf4\xb7\xaf\x9f\x7a\x55\x5c\x5e\x52\xaf\x7a\xda\x15\xaf\xf2\xd5\xa6\xa5\x2d\xf5\xfe\xdd\x9b\x9e\x37\xcc\xd5\x72\xd7\x76\x60\x50\x28\xeb\x94\x3e\x43\x9a\x9b\x68\x86\x68\xf6\xdb\x0b\xfa\x75\x7d\x55\x13\xa1\xc6\xb4\x73\x09\x66\x9e\x28\x95\x9a\xd8\xf7\xb4\x84\x47\x39\x6d\x61\x1a\x01\x4d\x19\x10\x80\xc7\x60\x58\xc7\xe0\x97\x84\x63\xfb\x8e\xb6\xd3\xd5\x30\xec\xac\xe5\x57\xe7\xe7\xa7\xd2\x74\x48\xbd\xad\xed\xc2\x61\x06\xd6\x60\xc3\x2c\x53\x93\xb7\xcd\x02\x48\xb2\xef\x36\x23\xfc\xa1\xb1\x5a\xce\x81\x79\xe1\x2e\x7c\xc7\xff\x9d\xc5\xe9\xc1\x3c\xf7\xc4\x0c\x5e\x03\x9b\x68\x8e\xc1\xc6\x10\x4e\xb7\x3b\xae\xd6\x21\xf5\x89\x26\x44\x4c\x06\x68\xc8\x07\xdf\x43\x99\x60\x34\xdd\x19\xbd\xa5\xe1\x2a\x11\x3d\x3b\xa6\x49\x00\x25\x45\xea\x65\xd7\x6e\x29\xf5\x05\xfd\x89\x09\xb1\xf3\xc7\x5c\x1f\x60\x8a\xb2\x24\x1a\xdf\x1f\xe5\xef\x5e\x3c\xcb\xff\xaf\x1f\xfe\xf8\xc7\x45\xfe\x7a\xe0\x7d\xc8\xa8\xf9\x5f\x8c\x52\x85\x76\x3c\x82\x12\xbd\x1a\x08\xeb\xee\xf1\xbe\xba\x97\xff\x84\xdc\xff\xaf\xfa\x5c\x10\xdf\x58\x2d\x56\xed\xf6\x67\xa6\xa9\xdb\x82\x76\x3e\xe7\x10\xb2\x2a\x16\x9f\x55\x4d\x49\x1f\xc2\xc5\x69\x96\xa3\x05\x9a\xed\x78\x3a\x61\x66\x97\xab\xb6\xb9\xac\x3b\x1e\xcf\xaf\x0d\x50\xc1\xd8\x5c\x3a\xab\x91\x63\x2c\x11\x4d\x19\x91\x8f\xfa\xf2\x26\x82\x62\xa4\x6f\x39\x51\x57\x33\x13\x94\x5b\x2a\xdb\x1e\xe6\xf8\x4c\x30\x91\x17\xed\x84\x46\xd7\xd9\x74\xf7\x71\xbe\xdb\xcb\x4b\x3e\x68\xed\x88\xd0\x16\x4e\x24\x55\x4e\x0b\x0f\x42\x98\xb8\x03\xa3\xfe\x5c\x31\xf8\xd9\xf3\xb7\x79\xf5\x89\x50\x8d\x49\x5e\xd7\x96\xfb\x15\xd0\x8b\x61\x8f\x98\x52\x13\x7d\xe8\x69\x63\xac\xe4\x50\x71\x14\x82\xbb\xc6\x64\x68\x45\x40\x44\x18\x8c\x52\x13\x77\xf9\x89\xc8\x7e\xe7\x9a\x78\x69\x49\xda\xfb\x09\xec\xa4\x53\xa1\x04\x8f\x7c\x45\x0b\x4e\x48\x21\xbd\xe8\xa5\x53\x92\x4d\xb8\x4e\x48\xbc\x27\xa9\xa5\x28\xa9\x2f\x17\x37\x20\x3a\x3d\xe3\x42\x59\x5d\x16\xfb\xcd\x10\xfb\x35\x3a\x41\xac\xa5\x33\x16\x9c\x7c\xde\x6c\x81\x49\x07\x81\x3c\xfd\xb8\x2c\x61\x61\x43\x4c\x8e\x9c\x34\x8c\xae\x22\x99\xd8\xa1\x43\xb4\xa9\xc2\xf2\x2c\xa3\x1c\xa0\xeb\x65\xe2\x40\x9a\x1f\x9a\x7d\x27\x6c\x4f\x8e\x73\x96\x6b\xb4\x0a\x98\x4f\x98\xef\xcb\x22\x53\x5e\x69\xa9\x22\xdc\xf2\x53\x0d\x01\x29\xa0\xab\x54\xa9\x62\x1d\x13\xb5\x3f\x31\x00\x4b\x5e\xfd\x6c\xd9\xd0\x9b\x13\x1e\x64\x1f\x04\x24\x99\x73\x1e\x2e\x5a\x60\xfe\x8d\x56\xe9\x53\x0d\x1a\xaf\x08\x83\x79\x21\xac\x41\xd3\xd4\x54\x5f\x55\xa8\x81\xca\x7f\x47\x75\xa2\xcc\x42\xa5\x03\x65\xd8\x8d\xef\xe3\xb3\xbe\x6c\xc1\x38\xe0\x20\xa1\xd2\x36\xad\xa3\x43\x3d\xef\xea\xf5\x15\x11\xd6\xf6\xfa\x48\x26\xe5\xfa\xaa\xad\x78\xff\xbc\x7e\xfe\xf8\x7b\xe9\xc7\x9a\x8f\x95\x50\x88\x0f\xa4\x62\x4f\xc8\x45\x33\xa6\x68\x2c\x5d\x08\x07\x3b\x20\x27\x72\x88\x00\x8d\x05\xc2\x09\x1f\x11\x88\x86\xd2\x0a\x9f\xa7\x44\x22\xc2\x48\x69\x13\x2a\xa5\x61\x21\x4a\xca\xeb\x2f\xd7\x2d\x84\x18\xe3\xed\xf9\xa4\x24\x11\xb9\x1f\x96\xeb\x7a\x58\x5e\x32\xe5\xe2\x8a\x5f\x70\x05\x7c\x70\x53\x4e\xfe\x80\xb2\x1e\xe4\x44\xfd\x48\x32\x2b\x7f\xcc\xef\x7f\x52\x6e\xf1\x07\x26\x49\x4b\xda\x44\xf5\x06\x2b\xa2\xa2\x51\x57\x09\xb3\x6a\x62\x79\xe0\xd8\xfa\xfd\x0e\xe7\x9a\x32\x87\x41\x12\x28\xdb\xeb\x86\x37\x1f\x48\x2f\x91\x99\x7a\x55\xd3\x81\x71\x51\x37\x05\x1d\xee\x56\x0b\x48\xfa\x7d\x42\x89\xb7\x27\xe7\x00\x5c\xb7\x17\xfb\x7a\x53\x1a\xc0\x22\x33\x06\x92\xd8\x47\x5d\x7c\xcf\x52\x5b\x52\x2d\x7d\x59\xb5\x1d\x73\x23\x18\x8d\x15\x3c\xc0\x06\x75\xcc\x5e\x20\xb9\x66\x59\x06\xb0\x28\x17\x38\x16\x9e\x06\x5a\x7d\x88\x69\xcc\xcf\x00\x6d\xea\xbe\x79\x30\xa0\xa7\xab\x3d\xb5\x45\x2b\xcf\xc9\x54\xb0\xcf\x1f\xfd\x4c\xff\x67\xcc\x1d\xc9\x01\xb0\x9e\x4e\x3c\x67\xe6\x92\xb9\x97\xad\x98\x74\x35\xc1\xf1\xb0\xd2\x86\xc1\x6e\xac\xbe\xbf\x86\x02\xfd\x5e\x90\x96\x35\x28\x1b\x5a\xd6\xea\x1b\xfa\x60\xa9\x6d\xbd\xc1\x22\x14\x83\x8a\x56\x2d\xcd\x1b\x23\xc8\x91\xec\x99\x4b\x1a\x1a\x93\xd2\xa1\xf8\x58\x41\x1a\xa3\x03\xff\x37\x56\x0d\x7d\xc8\xf6\xc2\x7f\xb6\x9b\x32\xc8\x3a\x40\x6c\x22\x2c\x55\xa2\xd9\x88\x30\x01\x67\x7b\xe2\xb3\x57\x57\xcb\xa0\x57\xe2\x39\x19\xaa\xcf\x38\xfa\x91\x15\xd5\x4c\x8c\xf0\x9c\x95\x6d\x6f\xb0\x5a\x3c\x86\xe3\x9b\xb8\x58\xc4\x7c\xd2\x36\x21\x39\xf6\xa2\xe5\x49\xfb\x54\x05\xa8\x67\x3e\x35\x2d\x40\x75\x11\x9b\xac\x55\xa5\x8a\x06\xca\x12\xdd\x86\xe6\x8a\x6e\xa3\xcf\x40\xc8\x54\x29\x06\x7a\x47\xcb\xa9\x42\xfd\x82\xd6\x05\x1a\x03\x6b\x99\xa8\xe2\x8d\x6c\x0b\xd7\x66\xf6\x9b\x2a\xcc\x3e\x64\x06\xf7\x2e\xcd\x27\x8a\x42\xd2\x7f\x54\x4a\x2d\x6d\x71\x4d\x39\x05\xc5\x89\x12\x95\xc8\x50\x5c\x55\x3b\xe6\x3d\xb6\x3d\xb0\x62\xc3\x42\xf6\x8d\xb2\xce\x01\x3f\x7e\x11\x72\x4d\x08\x43\x44\xee\x9b\xac\x6f\x79\xbf\x2d\xbf\xb2\x8a\xa7\x35\x61\x02\xca\xa7\x47\x9d\x68\xcb\x88\xc3\xe5\xe5\xa3\x4d\x76\x73\x94\x0a\x55\x57\x45\x4f\x24\x9c\x38\x05\x2d\x56\x2e\x4c\xb8\xe5\x65\x27\x51\x0e\x5b\x06\x1a\x3e\x20\xb9\x94\x6c\xbb\xf1\x19\xcc\x3d\x14\x2a\xa7\xad\x04\xce\x09\x7c\x91\x67\x9f\x66\xda\xa4\x09\xdb\x56\xcc\x39\x2f\xb7\xa2\x59\x93\x5f\xf9\x71\x95\xd1\x61\xb8\xa6\xfd\x6c\x08\xfb\x98\x15\x1f\x6b\x08\x18\x8a\xaf\x0c\x50\x0d\x9e\x0c\x2b\x84\xa5\xfc\x62\x9a\x4c\x22\x0c\xd7\xd0\x0a\xd1\xd6\x9e\x4c\x3f\x1d\x58\x94\xbd\x30\xb2\x2e\x1c\x02\x18\xbd\x9e\x88\x45\x9c\xc4\x27\x39\xab\x24\x3d\x94\x32\xad\x61\x54\x0c\xcf\x34\xe3\xa7\x8b\x9f\xef\xf7\x3f\x7d\x77\xf1\x73\xa0\xac\xab\xab\x6a\xf5\x51\xd0\xaf\x6e\x2e\xda\xcf\x10\x69\xa1\x22\x21\x69\x9a\xb7\xd8\xfd\x32\x27\x11\xb7\x83\x44\x45\x94\x80\x8a\xd1\xbc\x73\x6e\xb2\x66\xd4\x17\x26\x18\x74\xae\xad\xb0\xa9\x80\xdf\x11\x1f\x9f\x70\x2a\x63\x24\xc8\x7f\x44\x49\x8c\x63\x53\x6f\xeb\x61\x82\x12\x4c\x5f\x0a\x45\x2d\xd5\x92\xd9\x1c\xa1\xae\x38\x4a\xa2\xd2\x54\x0d\x1d\xaa\x86\x26\xd7\x05\x89\x50\x3f\xe4\x84\x1a\x7b\x3a\x9d\xb8\xb3\x34\x1e\x22\xd3\x05\x9f\xca\x24\x3e\x15\xfd\x72\xdf\xe8\x74\x55\xa5\x21\xc9\xab\x1a\x87\x07\xb7\x6b\xa8\xec\xa0\x52\x31\x20\xff\x36\xcc\xe4\xc3\x85\x2a\xb5\x50\x8a\x09\x3a\xf7\xa7\x66\x9e\xb5\x98\x5b\x13\xa2\x77\x4d\x25\x32\x2f\xc6\xcf\x60\xbc\x7c\x24\x38\xc5\x45\x21\xe9\xeb\x23\xa5\x60\x9e\x2f\xf6\xc3\xd0\xb2\x44\xb2\x61\x5c\x90\x32\xd6\xe7\x67\x00\x84\x88\x15\xeb\xc3\x62\x8e\x67\x49\x85\x2a\x1c\xc7\x3d\xf6\xb3\xe8\xbb\x59\x90\x4b\x87\xa6\xc7\x5f\x80\x2a\x45\x83\x54\x34\x37\x51\xa9\x81\x3e\x70\x73\xc3\x7c\x4f\xbe\xed\xaa\x87\xb1\x2f\x61\x1f\xa0\x84\xf6\x47\x4a\xbb\x2d\xf2\x0e\x99\xa2\x57\xb5\x8d\x64\x87\x99\x6a\x27\x23\x6a\x74\xe9\xd4\x22\x9f\xb1\x9d\x68\x26\xb1\x93\x25\x66\x99\x06\x81\xd2\x8b\x51\x5b\x51\x12\x9c\x4e\xdf\x90\xf6\x38\x1e\x4a\x43\xdb\x2e\xfb\x2b\x91\xb9\xad\x7b\x24\xaf\x37\xeb\x44\x59\x85\x3b\x12\xe0\xdb\xff\xcd\x27\x1f\x0f\xf4\x43\xa6\x4b\x51\xb9\xfd\xa0\x88\x6a\x39\xb6\x64\xb2\x2d\x02\xbc\x31\x69\x7f\xaa\x3a\x16\xeb\x00\x94\xac\xd5\xa1\x49\x4c\xc7\x10\xa8\x61\x3c\xd5\xdf\xf9\xbd\xab\xc9\x97\xfb\xcd\x51\x7e\x2d\xc7\x7d\x2c\x13\x44\x4a\x65\x04\x18\x2b\xe5\x3e\x87\x86\xd7\x96\x05\x8d\xef\x06\x7a\xea\xbf\xd0\x99\xd4\xe0\x66\xa0\xcd\x28\x43\x0a\x1d\xe3\x83\x40\x59\x26\xfe\x90\xf1\xa1\xff\x76\xc4\xcd\xf2\xa1\xa6\x69\x8e\xa3\x42\xd6\xaf\xfe\xe6\x23\x8c\xf9\x74\x86\xf1\x7d\x57\xc5\x0b\x10\x7c\x85\xc1\x9f\x9d\xbd\x3a\x37\x21\xf7\xec\x55\xfe\xb1\xd2\xba\x5f\x0d\xc3\xae\x7f\x0f\x6d\x87\xa8\x2e\x58\xcf\x71\x5a\xdc\x30\x97\x29\xc9\xfa\x03\x19\xe7\x55\xb1\xd5\x4e\xf2\xa7\x54\xf1\x84\xce\x5f\x4d\xe4\x4f\x3a\x96\x9d\x16\x2d\x03\xbf\xf5\x6b\xc2\x66\x0b\xe2\x07\x99\xa7\xd2\x2b\x91\xdf\x27\x9a\xbf\xdf\xb3\x62\xb3\x23\xb1\x8c\x19\x1e\x07\x06\x25\xd7\x85\x4a\x67\x39\x40\x80\xe8\xfb\x2d\x21\xc8\x0a\xd2\x28\x15\xf8\xf6\xd1\xf2\xa1\x53\x7a\xa6\x95\x95\xb4\xff\xff\xa9\x0a\xf9\x9b\x99\x62\x5f\x6f\x5f\xff\xcd\x46\x91\x54\xc7\xe9\x44\x4b\x09\x02\x2c\x68\x84\x0a\x40\x38\xc8\x99\x1d\x1d\x58\xe7\x45\x09\xc4\xf2\x26\x55\x6f\x8b\xcf\x77\x15\xdc\xb6\x33\xe5\x84\xca\xc5\x42\x46\xcc\x74\x88\xc9\xee\x21\x70\x56\x6a\x1d\x04\xa6\x85\x27\x90\xba\x59\x6d\xf6\xe5\xc1\x8e\xf4\xfb\x0b\xda\x48\xcc\x4a\x3f\xb8\xdf\x3f\xe0\x2a\x9b\x8f\x74\x68\x37\x01\xfe\xbd\xfc\xce\xf1\xfb\x47\xbb\x99\x23\x59\x57\xe5\x8b\x3c\xdc\xd1\x11\xef\x51\xf2\xf9\x01\x39\x61\x11\x49\x8f\x97\x1d\x02\xf2\x43\x61\xa1\xb2\x5d\xd8\xff\xac\xa5\x80\x18\x45\x08\xb8\x88\xb7\x89\x4b\xe6\x01\x96\xcc\x93\x37\x9e\xf3\x66\x7a\x69\x27\x2c\xb8\x04\x40\xc8\xe5\xd1\x72\x5a\x6e\xb4\x3b\x0f\x16\x27\x4e\x67\xa6\xf4\xc9\x54\xcd\x7c\xa0\xfc\x40\x1b\x6c\xa6\x82\xb0\xef\x0e\x16\x94\xb5\x47\x21\x1a\x79\x39\x26\x1c\xd3\x72\x0c\xb5\x88\xb3\x14\x26\xdc\xaf\x8d\x97\x53\xc2\x3c\xa7\x12\x22\x6b\x5b\x08\xfd\x3a\xdc\xea\x3a\x39\x51\xe5\x76\xa5\xf5\x5b\x16\x89\xfa\x3d\x1f\x35\x2c\x3e\x09\x07\x95\xce\x28\x33\x11\xa8\xaa\x42\x13\x87\xab\x27\x7c\x62\xd2\x7c\x57\xfd\x00\xfb\xca\xaa\xbd\x5a\x61\x5a\xb1\x56\x1e\x80\x0e\x55\x1b\x64\xde\xea\x73\x0d\x0d\xed\xcb\xfa\x53\xa5\x52\x6f\x10\xf6\x91\xb7\xc8\x36\xb4\xff\x59\xbc\x92\x51\x09\xab\xdd\x7e\xe2\x1d\xc5\xed\x71\xae\x94\x13\x8d\xad\x0e\x8a\x91\x44\xe5\x67\xdc\xf2\x54\xe5\x11\x71\x2c\x5c\x82\xfa\x89\x0d\x5a\x6c\xae\x8b\x9b\x1e\xba\x20\x23\x32\xac\x9b\x96\xe2\x4c\x41\x88\x9f\x59\xa3\x57\xfe\x06\x84\x76\x8d\xcd\x04\xab\xf2\xf9\xb8\x08\x6c\xc7\x35\x24\x60\x50\x08\xd5\x2e\x7d\x72\x07\xb3\x9e\x2e\x2c\xbd\xb3\xac\xcb\x62\x88\x64\xbb\x8a\x70\xb5\xa8\xc4\x7e\xa6\xec\x11\xf3\x7a\xd4\x0c\xf3\x5e\x44\x82\x65\xae\x89\x95\xa5\x99\x45\x97\x9c\x3a\x64\x4f\xf5\x3f\x12\xde\xbd\xa6\x39\x64\x51\x30\x6a\x08\xf8\x34\xa2\x55\x31\x0d\xbe\xa4\x43\xbe\xcf\xfa\xa1\x26\xf1\x9e\xe9\x93\xde\xe3\xff\xc5\x71\x1e\x39\x72\xb1\x4f\x30\x4d\xfd\x55\xbd\xcb\x5b\x28\x86\xfd\x14\x46\xb4\x75\xdc\x32\xdf\x55\x54\x90\x0d\x58\x41\xde\x15\x4d\x7f\x59\x41\x53\xbe\xcd\x2f\xf9\x4a\x78\xa1\x4d\x33\xf3\x2d\xf7\xf6\x07\x5a\x16\x31\x0b\x4d\xfb\x03\x02\x6b\xe7\x16\x2a\x6d\x5a\x2e\x4e\xa0\x8e\x45\x1f\x30\xab\xb1\xa6\xde\xfa\xc0\x68\x36\x99\x02\xf0\xc0\xc9\x35\xd8\xec\x3c\x5c\x26\xf2\xb9\xb4\x0f\x4c\xbb\x63\xdc\x6e\xce\xf5\x2a\x40\x6e\x4f\xd2\x45\xa2\x14\x69\x55\x14\x9d\xac\x63\x4e\xc6\xce\x45\xdd\xc5\x38\xed\x90\x4a\x5b\xe1\x6d\xc1\x3b\x65\x54\x21\xd4\x30\x51\xe8\xc9\xe4\x12\x7d\x79\x41\x5d\x5c\x5d\x25\x7b\xf3\x1c\x39\xb9\xe4\x4c\xb6\x67\xf6\x1b\x37\xfd\x21\x93\x6b\xf4\x65\x50\xba\x3f\x93\x6b\x75\xe1\x5c\x55\x89\x3e\xe4\xa6\x69\xe7\x9b\x10\x2b\x22\x7a\xf5\x5b\x4b\xf2\x41\x6a\x4a\xcf\xff\x6a\x89\x69\x80\xee\xfc\xdf\xe9\x8b\x79\xf9\x26\x4b\xee\x0e\x47\x8a\x10\xb0\xcb\xf5\xc0\xfb\xeb\x94\xb6\x05\xf1\x2d\x4f\x34\x85\xe4\x70\xd0\x06\xe8\x66\x5e\xd8\x37\xad\x47\xc1\x24\x8f\x37\xb6\x7e\x25\x8a\x17\x29\x24\x4a\xb3\x17\xf6\xad\xa9\x21\x89\xb6\x78\x48\x79\xaf\x9f\x19\xcb\xfd\xdb\x05\xce\x12\x66\xcc\x71\x6f\xe1\x4e\x10\x66\x10\x78\x9d\x2d\x6f\xe1\xe0\x77\xc5\x40\x54\xb4\x11\xf9\x4c\x08\x9a\x2f\xaa\xd9\xa1\x8a\x70\xbb\xcd\xb5\xb0\x25\x88\xcc\xdd\x87\x2c\x1a\xa8\x98\x6d\xca\x9c\x9e\x58\x29\x52\xaf\x4c\xf1\x7f\xd0\xa7\xea\x78\x40\xed\xf0\xa1\x42\x3a\xee\x95\xed\x32\x10\xc6\x32\xee\x67\xa6\x5a\xb1\x54\x25\xa6\xfb\xe1\x71\xfe\x5c\x3e\x4c\xdc\xdf\xd7\x18\x53\x4d\xa2\xc3\x0e\x0b\xe5\xcc\x69\x74\xe5\x42\xa7\xd5\x9a\x2a\xaa\xe6\xbb\xa9\x94\x2a\x95\x00\xd1\xed\xb2\x08\xe7\x3e\xdf\x55\x38\x69\x95\xb5\xcd\x10\x63\x1b\x77\x11\xc6\xd7\x3b\x2c\x7a\x13\xd8\x75\x75\x91\xb3\xfe\x97\x10\x8d\xa4\x42\x1d\xe7\xb6\x20\x81\xf2\x53\x5d\x04\x55\x93\xe3\xc7\x02\xc3\x60\xba\x22\x08\x3d\xcd\x23\x5c\x51\xe5\x10\x3f\xe4\xaa\xc2\xd8\x31\x5b\x50\xd6\xa0\x08\xee\x53\xad\xb5\x5c\xa8\x34\x60\xd5\xd8\x68\xc5\xce\xf3\x17\x6c\x07\x84\x5b\xfb\xa9\x1d\x1b\x37\xa1\x17\x4b\x6f\xf4\x33\xdb\xef\xf8\xa6\xc6\xcd\xe5\x7b\x24\x84\xb9\x4c\xf3\x9d\x10\x88\x59\xb5\x62\x41\x55\x24\xe0\xa5\x93\x0a\xf9\xba\x42\xb7\xf2\x8c\x7d\x9a\x6e\xe7\x72\x0c\x12\x15\x3a\x20\x77\x3a\x70\x2c\x94\x5c\x1c\x63\x6a\xe9\x8c\xce\xaf\x68\x17\x6d\xea\xe6\x63\xaf\x2b\xc5\xf3\xe4\x05\x62\x28\xc0\x08\xbf\xf7\x62\xa0\x24\x9f\x53\x7b\x28\xbb\xd2\x1a\x51\x1b\xbb\xf8\x92\xcb\xbd\x27\x48\x9e\x85\x8d\x6a\x01\xbb\x7c\xbb\xac\x98\xe9\x06\x81\xb5\x8b\x42\x1a\x65\xdb\xf6\xaa\x6e\x8d\x04\x8d\xd3\xa0\xc5\x51\x28\x9d\xf3\x00\xa1\x4b\xf2\xc4\xae\x27\xb1\x5d\x33\xbb\x50\xb4\x0e\x60\xf3\x2f\xeb\xad\x98\x1d\xbe\xb7\xeb\x46\xac\x4f\x90\x4d\x90\x0d\xeb\x95\xb4\xf7\xfe\x92\xe5\x6d\x6b\x97\x99\x46\x99\x2d\xf3\xc8\xd8\x0f\x99\x01\x30\x0f\x49\x67\xc7\xf8\xa1\x15\xd8\x7d\xc1\x1d\x68\x62\x48\xe0\x2f\xa0\x64\xe1\x03\xed\x69\x37\x09\x93\xf9\x4c\x6f\x3e\x42\x3e\xcf\xac\xcb\x7f\x8b\xab\xc2\xa0\xc9\xe0\xdd\xb5\x1c\x81\xa8\xf0\x9f\x40\xce\xf2\xf2\xd6\xd6\x41\x3e\x7e\xd4\xfb\xc9\x5e\xb1\x72\xd7\x34\x0b\x7e\xe0\x8a\xdd\xe5\xc2\x0c\x86\x58\x6f\x2b\xf7\x8e\xb0\xec\x10\xeb\x96\x06\x97\x96\x52\x85\x23\x27\xda\xe8\xbf\x4a\x4c\x62\xcd\x22\x08\xf5\x41\xfe\x79\x22\x24\x93\xef\x31\xc4\x6e\x32\xe4\xab\xe9\x64\x42\x59\x2b\xb3\xbf\xf0\xb4\x77\xd7\x11\xda\x11\x33\x91\xd2\xe0\x09\xd5\x4d\x28\x2c\x08\x6c\x0b\x6b\x82\x48\x58\x69\xdc\x5a\x15\x9f\x50\xf8\xb2\x94\xa0\xee\xa2\xed\xc1\xbc\xbc\x26\xeb\x71\x12\x72\xe5\x50\x09\x7d\xa4\x1f\x42\x0f\x65\xac\xcf\x35\x61\x94\x6f\x83\x91\x6c\x5b\x90\x99\xd1\x28\x67\x65\x47\x46\xdd\x88\x31\x47\xb8\x5e\x4c\xe8\x52\xfe\x1c\x84\x8a\xd0\x41\xb4\xeb\x46\xa6\x7e\x19\xb7\x1e\xf1\xe8\xd7\x54\x2f\x2f\x63\x4b\x77\xd1\x37\x19\xf5\x08\x38\x1e\x2f\x69\x4b\x20\x4f\xaa\xfb\x63\x28\x0f\x21\xda\xa5\x90\xba\x4c\x6e\x0d\x70\x01\xf0\x35\x37\x05\xcc\x69\xfc\x37\x5c\x12\x24\x4d\xc5\x4b\x82\xd0\xc9\xd1\x0e\x9b\x8c\x72\xba\xd5\x28\x03\x4c\x8f\xe2\xb2\x63\x65\x14\x9b\x03\x47\xc3\xad\x88\xdc\xc5\xd3\x43\x49\xe0\x7b\x14\x13\x70\x28\x31\x1b\x0e\x0b\x28\x98\x2f\x8a\x10\xd6\x4f\x34\xdf\xe9\x9a\x3f\x81\x94\x49\x93\x22\xb0\xe0\x01\x89\x8d\x10\x1e\x5d\xa5\xd6\x2d\xcf\x83\x98\x00\x04\x6b\xb4\xc9\x0d\xdf\x91\x8a\x76\x57\xf5\xfa\x8a\xc6\x55\x6f\xf9\xe6\x1b\x98\x64\xd7\xab\x51\xf2\xe6\x5f\x44\xa2\xda\x75\xc3\xaa\x35\x6e\x41\xcc\xcf\xc2\x91\xf5\x53\x3f\x74\x6d\xb3\xfe\xf9\x79\xcb\x22\x31\x6b\x9c\xf8\x58\xfd\xe5\xa7\xef\x34\x9d\xc8\x30\x2f\x21\xdb\x2a\xbe\xac\x87\x57\xfb\x8b\x07\x7d\xbe\x66\xe3\x59\xdc\x0a\x15\xce\xa4\x56\x6d\x1e\xc4\x36\xf0\xba\x09\xd3\x02\x03\x5b\xda\xe3\x7d\xbb\xa1\x0d\x92\x16\x69\xb7\x5b\x59\x5e\x22\x60\x5b\x81\x44\xff\x61\x26\x51\x35\x98\xb9\xaa\xd3\xf9\xa1\x0a\x17\x01\xc5\xe3\xfa\xe8\xb2\x19\x6f\x9a\xe8\x71\x94\x3b\x64\x60\xdc\xfc\x36\x83\x3b\x88\xa0\xc4\xb1\x52\xe0\x3c\xa6\xa5\xb0\x8e\xac\x15\x9b\x6a\x90\x20\xe6\x70\x15\x56\x9c\x4a\x52\x3f\x84\x03\xe3\x34\x6b\x51\x78\x8f\x8a\x15\xf4\x82\x58\x0e\x79\xf9\xec\x31\xf5\x32\x78\xf4\xd0\x3d\xa0\xeb\x68\x7f\x2b\x45\x93\xb1\x2b\x3d\xb3\x01\x38\x8a\xa6\x33\x12\x69\xda\x18\x26\xa1\x6a\x95\xd0\x34\xeb\x85\xa7\x66\x62\x5d\x25\x14\x4d\x10\x92\xa4\x28\xa6\xd7\x5f\x48\xcd\x26\xed\xc6\x81\x5b\x73\x5f\x40\xd1\x30\xa6\x27\x98\x0e\x1a\x0b\xb4\x3e\xba\x50\x6f\x54\xc7\x83\x0c\x36\xcb\x8d\x12\xdd\xdb\x56\xaf\xf7\x72\x4b\xc4\x9a\x90\x08\x37\x54\xc9\x56\xe6\x4e\xc0\x90\x52\x6c\x85\xa0\x36\xfa\x7f\xf2\xb2\x20\x3a\x30\xb4\x1f\x09\x95\xa6\x45\x90\x7e\xa8\x50\xa0\x2f\x26\x16\x29\x75\x79\x12\x89\xc3\x58\x50\xd2\x5b\xf2\x83\x04\xc6\xd1\x15\xad\x35\xd8\x6b\x89\xce\x0b\x46\xea\x6c\xd5\x52\x0a\x1d\x51\x32\xa0\x46\x49\x61\xff\x13\xc7\xd6\x30\x10\x44\x4f\xfe\xd0\xdf\x7e\x59\x92\xfa\xdd\x66\x21\xea\xbd\x6f\x1c\xf9\x14\x74\x58\xca\x54\x84\x41\x9e\x12\xc3\x01\x93\xcc\x27\x52\xe1\x39\x67\xf7\x6a\x8e\xac\xc6\x06\x56\xe4\xa5\x26\x62\x0f\x00\x50\x26\xbc\x0f\x13\x81\x5f\x51\x5d\x63\xb5\xa8\x1d\x89\x5a\x5b\x62\x0d\x08\xeb\x8c\x60\x5e\x89\x5d\x49\xfe\xe4\xf4\x35\x1d\x18\xa1\x41\xab\xf4\xd7\x82\x38\x73\xe9\xc2\xb5\xe8\x6a\x60\x7d\xb2\xd9\x8c\x29\x6e\x90\x21\xa4\xb8\x59\x8d\xa3\x24\xb6\x78\x18\xd4\x64\x40\x32\x98\x34\x5f\xe6\xb8\xea\x9d\xfe\x4a\x5a\x43\x4f\xc6\x67\x55\x18\xea\x37\x34\xb3\x41\x8b\xca\x5b\x6b\x77\xc3\xd4\xdf\xd9\x91\x15\x32\x43\xd7\xa0\xdf\x23\x03\x36\x82\x84\x16\x27\xe7\x2d\xdc\x05\xfa\x61\x1d\x56\x0a\xe2\x97\xd2\x93\x91\xd9\xc5\x8c\x44\x65\xb6\xd8\x1c\x65\xd9\x59\x3d\xe9\x98\xef\xa2\x33\x8c\xf8\x51\x65\x70\x0b\x95\xf1\xa3\x72\xa8\x7c\x3a\xdb\x6c\xc0\x68\x69\x7a\x44\x6f\x72\x39\x06\xc5\x0c\x83\x5b\x11\x69\x45\x31\xc2\x19\x37\x53\x2d\xd7\xd5\x86\xcd\x92\xb5\xf5\x78\x45\xab\x43\x4f\x0c\x16\x14\xc8\x49\xb6\x55\xe4\x6d\x65\x2a\xbc\x02\xd2\x2a\x23\x08\xda\x6e\xb0\x51\x10\xb5\x83\x9d\xd6\xcf\x9e\xbc\x7d\x7b\x72\x1e\x0f\x69\xde\x07\x4d\x49\xac\xc4\x37\xc1\x94\x6f\xd2\x2f\x33\xe8\x0b\x0b\x98\x42\x44\x93\x42\x2d\x71\x08\xce\x93\x29\xab\x9d\x3e\xd7\x2d\x68\x4f\xcb\x7d\x31\x5a\x9e\xf4\xbf\x3c\xb4\x7e\xd9\x6f\xcc\xdd\x7c\xc8\x4c\x8d\x7f\xc2\x7f\x33\x7f\x13\xe2\x6e\x90\xb0\xf5\xe2\x45\x53\xf4\x19\xa0\x0e\xb4\xe5\xe4\x66\x04\x44\x7a\x5f\x40\xd4\xa2\xb9\x6f\x71\x56\x5c\xe6\xb8\x90\x3f\x62\x45\x6f\xdb\x61\xc3\xf0\xe4\xee\x9b\xfa\xaf\x7b\xb0\x67\x2c\x0e\x11\xf1\x60\x0b\xd1\x8b\x7a\x23\x07\xca\x9f\xc2\x0f\x49\xe7\xaf\x91\x5d\xbb\x6b\x9c\x7e\xfd\xd4\xef\xd8\xc0\x96\xce\x86\xfe\xf1\xbd\x7d\x9d\xb3\xbe\x90\x0d\xcc\xee\xfd\x4c\xf2\x0b\x5f\xd3\xd3\xf2\x11\xc4\xcf\x93\xea\xd8\xb7\x6d\x25\x6a\xc6\x60\xaa\x04\xbc\xd5\x74\xde\x2d\xcc\xef\x26\xba\x4d\x99\xf8\x7f\xa2\x4d\x76\xa4\x8b\xe3\xf8\x56\xa5\x6e\x9a\x23\xec\xdd\x4f\xc5\x66\x9f\x2a\x5f\xb8\x75\x2e\xd3\x3f\xcc\x60\xb4\x1f\xcb\xc2\x16\x09\xae\x99\x9c\x41\xd8\xf0\x0b\x26\x6d\xb8\xdd\x13\x8b\x9d\x38\x99\xf1\xfb\x26\x43\x4f\x54\xb5\x3e\xf6\xe9\x43\x9e\x99\xe7\x73\x1e\x6c\xf4\x91\x3a\xb3\x1a\xce\xfb\xa6\xd8\x0c\xa2\x56\xcf\xdd\x6a\x32\x69\xc1\x20\xbc\x0a\xf7\x46\x2f\x30\x03\x05\xeb\x57\x5d\x0d\x17\x03\x49\x67\xc7\xce\xdc\x39\x75\x86\xc4\xd8\xee\x19\xe1\x3d\x4d\xd1\x62\x5d\x0f\x24\xc2\xb3\x1f\x19\x4c\xd2\x33\x22\x1b\x74\x92\xc1\x25\x54\xbe\x2c\x65\x52\x94\x0f\x7d\x81\x85\x0a\x8e\x39\x4d\xdd\x01\xfc\xa1\xbf\x67\x4a\x29\xa0\x39\xa4\xf2\xbd\x4e\xbb\xac\x9b\x9a\x37\xfe\x6b\xfa\x43\x87\xba\x08\x00\x29\x9a\x0a\x7b\x8b\x4a\x54\x5f\x24\xd2\x77\xa8\x47\x8d\x04\x75\x55\xd4\x3a\xd0\xad\x8b\x5a\xb1\xeb\xed\x00\xa6\x0d\x09\xf9\x53\x24\xa8\x23\x28\xf5\x84\x56\xe1\x93\xb0\x43\xe2\xd0\xf9\xda\x52\xbe\x65\xf9\xef\xa1\x01\x9a\xf4\x16\xe0\x54\x07\x31\xca\xb7\x45\xd2\x9b\x46\xbd\x6a\xa7\x5d\xc1\xa4\x9c\x95\x04\xb8\x30\xa1\xce\x97\x7c\xb1\x51\x6c\xfa\x5c\x85\x4e\xbb\xc1\xcf\xae\xf9\x5e\x5c\x14\xfc\x7f\xd6\x4f\xe8\xf7\xd7\xc5\xdf\x24\xf5\x2c\xfc\x00\x9a\xf5\x8a\x78\xbd\x2a\xeb\x69\x26\x56\x57\x6a\x81\xd6\x5e\x2e\xc5\x8f\x0b\xc7\xe6\x79\xb8\x40\xe5\x3d\x0b\x38\x9a\xdb\x6d\xf1\xb9\xde\xee\xb7\x79\x00\x44\x51\xc6\xc4\xfb\xe9\x35\xc2\x62\xfe\x32\x60\x7c\x89\xfe\xf5\x77\x02\xe3\x1a\x6e\xbf\x1a\x60\x53\xb3\x25\xdf\x0c\xd9\xc6\x4e\x2c\x55\x32\x75\xd9\x35\x0f\xc5\xe0\xb3\x2b\x2e\x8a\x3e\xf7\x30\x8d\x34\x2d\x50\x91\x92\x2d\xd8\xe7\x5e\x10\xd9\xb9\xf7\xb3\x2c\xba\xd1\x2c\xab\x55\x91\xf1\x58\xbd\x86\x1d\x36\x2a\xc4\x42\x08\x53\xc4\xa5\x67\xf0\x2e\x8a\xa8\x34\x03\x95\x1c\x6b\xca\x5a\x16\xce\x43\xe9\xbb\x97\xaf\xcf\xe1\x9f\x44\x38\x29\x2a\x36\x75\xc2\x62\xeb\xed\x45\xa8\x93\x4f\xbc\xba\xef\x85\x13\x6a\x6a\x4c\x3c\x53\xa3\x19\x25\x9c\xc8\xed\x5a\x59\x8a\x01\x56\x9b\xdd\x28\x03\xc6\xcc\xc7\x5f\x4b\xa2\x16\xe4\x44\x28\x04\xd2\xeb\x37\xb3\x63\x2b\xbc\x6b\x9c\x55\x1b\xee\x7b\xe3\xb2\xf9\xab\x5e\xdd\x6a\x4a\x6d\xd5\x01\xbb\xbd\xcc\x84\x60\x5a\xba\x92\xcf\xcb\x40\x87\xe1\x2b\xc5\x5e\x1e\x29\x01\x86\xa3\x76\xe1\xd7\xdd\x1b\x68\xd2\x46\x61\x96\x65\x77\xb3\x64\x45\x3e\xb8\x94\xdd\x4d\x4c\x70\xec\x1c\x65\xd0\x74\x3a\xe0\x60\x28\x73\x8a\x55\xfe\xdf\xff\xf3\x7f\x3d\x7a\xc6\xc3\x7e\x36\x74\x1b\xfa\x52\x6e\x99\xe1\x65\x19\xa4\x82\xfc\xe4\x3f\x48\xea\xb9\x56\xab\x98\xf7\xf2\x95\xd9\x6f\x90\x02\xca\xef\x55\xfb\x8e\x8f\x4c\x7f\x31\x45\xc8\xd4\xef\x9c\x49\x41\xc6\x22\xa7\xa2\x0d\x89\x9b\xfe\xc0\xf8\xeb\xbe\x5e\x7d\x5c\x8a\x9e\xe4\x71\xfe\x9f\xfc\x2b\x87\xcb\xb1\x9e\x99\x4c\x87\x03\x51\x05\x72\x8e\x28\xb3\xb7\xce\xc6\x41\xa3\x2e\x12\x91\x08\x17\x29\x0f\x70\x63\x56\x9f\x06\xc8\x0e\x55\xd9\x6e\xcf\x76\x60\x8c\x10\xd6\xda\x29\xa5\xc0\x39\x8d\x13\x99\x63\x73\x35\x84\x1b\xe1\xa4\x0e\x34\x4f\xdd\x15\xd7\xc2\x59\x56\x07\x59\x51\xe9\xc7\xd6\x7e\x17\x05\x0d\x59\xc5\x8e\xc4\x47\x3c\x9c\x14\x7a\x42\x0c\x5d\x05\xc1\x8a\xfe\x64\x74\x00\xb1\xe9\xa0\x5e\x35\xb3\x7b\xed\x50\xe0\x36\x15\xe9\x76\xd1\xcc\xf7\xe5\xc5\x5a\x2b\x82\x44\xf5\x54\x3f\x33\x4a\xe7\xdf\xe7\xf4\x67\xe2\x08\xcf\x6e\xf3\x53\x77\xf9\x4d\x71\x51\x21\xf9\x0d\x3e\x08\xf9\xe9\x0c\x1c\x68\x45\xe4\x0c\xb2\x1f\x19\x4f\x49\x3d\x08\x22\xe2\x2b\x53\x5f\x14\xb9\x56\x96\xcf\x0c\x17\x65\x5d\xc1\x97\xbb\xef\x8a\x6b\xf9\x49\xd3\xa5\xfe\xf4\xaf\xe4\x4b\x92\x61\xe7\x2f\xa0\x30\xf3\x0f\xf0\x60\x9a\x75\x37\x9c\xda\x77\x66\x1d\x58\x4c\x3b\x62\x39\x23\x77\xfe\x7c\x35\xca\xbf\x14\xd1\xff\x05\x0b\xfe\x96\x56\x80\xaa\xe7\x66\x88\x18\xd2\xb7\x7c\x8e\xe2\x36\xe9\x58\xbe\x42\x4e\x29\xf6\xbf\xcf\xc1\x1d\x68\x9a\xf9\x5d\x9c\xf0\xdf\x90\x4a\xf8\xa9\x7c\x21\xfd\x0d\x3e\x0c\x12\x04\x83\x65\x7e\x89\x1f\x10\x93\x17\xe3\xb5\x70\x59\x0d\xb3\x5a\x17\xb8\xb6\xa3\xad\x86\x7c\x9f\xbd\xa2\xf9\xef\x96\xa1\xfc\x33\xfe\x99\x6f\x26\xb5\x84\xc5\xf5\x6b\x3b\x6a\xc6\xc3\x50\x53\xb3\x60\xd2\x9c\x87\x94\x16\xb7\x73\xc0\x24\xe7\x35\x09\xec\x09\x25\x78\xd4\x4a\x2a\x66\x09\x65\x54\x33\x84\x96\x79\x78\x3a\x30\xd9\xcb\x0d\x62\x9b\x7e\x4e\xfb\xe9\x80\xa4\x9b\xc5\x0c\x28\x6b\xcf\x22\x1c\x0d\x7c\x0c\xa4\xea\xdd\x40\x7f\xc6\xab\x17\xd7\x87\x96\x76\xbc\x40\x92\xb9\x24\x9e\x72\x55\x05\x2f\x1d\x00\x81\x17\xe1\xc8\x13\x49\x33\xa1\x32\x6d\x2c\xa9\x0f\x13\x3a\x14\x17\x94\x4d\xbc\x13\xcf\x66\x28\xcc\x73\x15\xb3\x64\xea\x2c\x53\x89\x8b\xd5\x9c\x54\xe9\xf3\x88\x6d\x5a\x0a\x4b\x2c\x13\x11\xd8\xe3\xcd\x4c\x89\x5b\x31\x6a\x0c\x73\xb0\xe6\x09\xde\x68\xc9\x5b\x96\x37\x42\x70\xac\x86\xc3\x55\x1f\x28\xa7\x7c\x1b\xb8\xb5\x69\xce\x82\x5d\xb9\x02\xfd\x64\x77\x7c\xf9\x31\x0b\xda\x6b\x60\x1a\x12\x38\xf8\x64\x0f\x5d\x2d\x55\x95\x36\x57\x48\x56\xb9\x5c\x5e\xdc\x68\x19\x59\x67\x78\xc8\x1e\x28\xb2\x65\x4e\x1e\x62\xa5\x16\x39\x0e\x09\x33\x45\x7a\x75\xaf\x67\xff\xf6\x69\xce\x82\x0f\x26\x98\x30\x31\x6d\xea\x67\x41\x18\x4b\x01\x72\x82\x8f\x39\x10\x51\x30\xab\x8a\x88\x4f\x01\x71\x27\xb1\x2b\xee\xd9\x86\xd9\x2e\x2b\x94\x78\x03\x2b\xad\xee\x0b\xca\xb1\xcd\x32\xd3\x55\xb9\x4f\x38\x6e\x61\x48\x8c\x9f\xb7\xb4\x13\x0b\x48\x43\x93\x12\xbc\x93\xb0\x0a\x04\x22\xdf\xf9\xfd\xdf\xbe\xff\xd0\xf3\x32\xc4\x8b\x9a\xdf\xfe\xf8\x81\xe4\xf4\xfb\xbf\xfd\xf0\x01\x37\x34\x93\xc2\xcb\x4b\x56\x51\x4e\x6b\x40\x41\x83\xde\x75\xd5\xa7\xba\xdd\xf7\xc2\xaf\xe1\x33\xd2\x87\xcf\xb2\x14\x9f\x87\x74\x8b\x07\x3f\xff\xd1\x0e\x2f\x43\x56\xba\xc3\x9b\xfd\x76\xa9\x63\xec\x85\x02\xd8\xaf\x50\xdc\x66\x60\x59\x70\x93\xbf\x87\xdf\x3c\xdc\xba\xe4\xc1\x52\xe7\x4d\x3d\xf1\x07\xf9\xf5\x33\x06\xc2\x43\xff\x3d\xb4\xd4\xba\xdb\x9d\x73\x89\x54\xc0\xdc\x77\xb8\x65\xba\xa9\x86\x45\x4a\x95\x2c\x6a\x0e\xba\x9c\x66\x69\x2f\x22\x88\xae\x1b\x4c\xb5\x3d\x78\x57\x61\x62\x0c\xee\x1d\x7e\x8e\x32\x6f\xab\xac\x4b\x0a\x28\xa9\x8d\x58\xa2\xa0\xa3\xb9\xd6\x99\x92\x63\xe8\xeb\xa6\x49\xda\x0b\x75\xd8\xcf\xaf\xac\x45\xf8\x09\x62\x60\x2f\x43\x3d\x97\x34\xe3\xcd\x0a\x37\x01\xb8\x2c\xe1\xa1\xaa\x99\xaf\x40\x7f\x65\x13\xbb\x56\x43\x81\x9d\xe2\xc3\x92\x45\xf5\xa6\x5e\x18\x01\x37\x13\x35\xa5\x26\x9a\x57\xde\x25\x04\x27\x50\x6c\xf3\xc4\xe3\xfb\x32\x4e\x4a\x40\xeb\x66\x69\xde\x1c\x2a\x41\x10\xb1\x64\x03\x46\x19\x11\xa1\x11\xfb\x1e\xab\xe6\xfb\xa0\xa3\x64\x72\x99\x6a\x8e\x97\x72\x93\xce\x0b\xe9\x77\x6b\x55\x42\x17\xf4\x2b\xfd\x09\xf3\x3a\x32\x84\xb2\xfe\x71\x2b\xd4\x7d\xfa\x63\x49\x72\x2e\xda\xa6\x8b\xe7\x76\x9a\xbf\x6a\x37\x6d\x3c\xd7\xf1\x6b\x0c\x20\x9a\xe8\xfb\xe5\x88\x37\x93\xec\x88\xdb\xba\x7b\x39\x61\x74\xf2\x08\xe4\xcc\x60\x24\x63\x64\x41\x98\x66\x06\xe7\x22\xe9\x20\x5c\x8c\x2c\xbc\xc5\xb4\x16\x35\x96\x03\x68\x50\x85\xcf\x82\xcd\xdb\x88\x08\x9f\xe1\x6f\x39\x98\x6b\xf7\x76\x21\x7c\xcb\xef\x2e\x3e\xb4\xee\xc3\xf7\x1c\xf3\x8d\x47\x09\x59\xfa\x7a\xc7\x85\xaa\x23\x95\xbb\xa2\x1b\xea\x55\xbd\x2b\x02\xb9\x3c\x75\x29\x99\x08\x4c\x8e\x5f\xf7\x82\x93\x66\xb2\x4e\xbd\x20\x1c\x16\x83\x22\x15\x4a\x38\x45\xad\xb7\xfa\x79\x38\x9b\x31\x03\x1e\xae\xdb\x3c\x88\x73\x08\x78\xc7\x27\x4a\x91\x73\x61\xf3\xe1\xc4\x3e\xd2\xf2\x8b\x51\xb5\xf0\xc2\x7f\x0c\x63\xcc\x71\x83\xda\xc2\xe3\x5c\xbf\x34\x3f\x91\x34\xc7\x12\xa6\x8d\xbc\x65\x05\xdc\x7e\x83\xd9\xc1\x7d\xb2\xfc\xb8\x94\x9b\x50\x03\x42\x70\x30\xe6\x7e\x62\x5b\xee\x44\x90\xd0\x61\x6a\xdd\xc2\xb9\x17\xd5\xaa\x80\x9d\x36\xfc\xf8\x1a\xd6\x98\x17\xa5\x1b\x3d\x81\x70\xb4\x13\xab\x9f\xcd\xde\x7d\xc0\x37\xa6\x7f\xa1\x7a\xd3\xa2\x8c\x66\xea\xa2\x1a\xae\xe1\xde\x02\x73\x13\x9e\x5c\x51\xbf\xf7\x3f\xfa\x53\x9d\x48\xe1\x77\x68\xe3\x3b\x3e\xda\x4b\x25\x8b\x7f\xc0\x0f\x21\x8e\x3a\x95\x23\xc6\x7f\x06\x0d\x40\x19\x6c\x51\xaf\x81\x4f\x34\xe2\x6d\x45\x8d\x82\x1d\x28\x4d\x16\x15\x22\xfd\x13\xeb\x03\x8c\x0a\xe3\x9b\xf6\x02\x9b\x93\x68\xfa\x0f\x21\x5d\xeb\x47\x4d\x7a\xea\x5b\x33\x92\xf6\xaf\x55\x4f\xa5\xff\xed\x83\xe1\x28\x89\x0d\x4b\x4f\x77\x81\x9f\xf1\x67\x02\x35\x16\xc1\x63\x9e\xe8\xd0\x81\x50\x95\x19\xaf\x96\x9a\xaf\x27\x34\xa1\x8a\x4c\x4d\xd0\x5f\x4b\x86\xde\x96\xfa\x95\xa4\x5e\xef\xaa\x8e\x49\x86\xce\x66\xb8\x34\x5c\x24\x53\x03\x76\xb8\x8b\x2d\x31\xd6\x84\x9c\xf3\x49\xb5\x81\x46\x28\x4c\x4a\x22\xa4\x0a\x0e\x8d\x46\xfb\xc3\xae\x8a\xe9\x57\xb8\x14\x9a\xaf\x4b\x61\xcb\x7d\xf4\xe9\xe0\x59\xa4\x42\xd0\x99\x39\xca\x67\x7d\xaf\xfb\x25\x0c\xc4\xc4\x64\xfe\x5c\xad\xbe\x36\xf5\x6a\xc8\x43\xba\x77\x6f\xd8\x75\xed\x5a\x62\x29\x05\x77\x06\x3a\x58\xfb\x2b\x44\x67\x61\x80\x4b\xa2\x52\xdb\x16\x1c\x5f\x20\x11\x45\xb3\xc4\x65\x08\x86\x9a\x68\x79\x93\x61\xa8\xca\x57\x27\x64\x14\x73\x25\x54\x05\x8d\xfa\x97\xd5\x26\xb7\xf1\x73\xf5\x05\x12\x20\x4e\x47\xbc\xe3\x6d\xdc\xfd\xe1\xb6\xc6\xf1\xfa\x04\x1f\xb6\x45\x23\xb7\x9b\x35\xbb\x23\xb1\x5c\x2d\xfe\xc8\xb0\xb5\x1a\xae\x66\x6a\x96\xda\x46\x24\x05\xc8\x33\xb7\xb3\x81\xb0\xfb\x46\x37\x20\x4a\x41\x73\xc8\x28\xfe\xbb\x6a\x79\x1f\x0c\x01\x49\x15\x91\xe3\xd5\x76\x3a\x54\x4f\xb2\x1a\x39\xde\x93\x69\xfb\xf6\x0f\xf7\xcb\x87\xb2\x89\x61\x73\x35\xb9\xa9\xe2\x44\x19\xb8\x3f\x48\x99\x8a\xd6\x3d\xbc\xf7\x19\x65\xf8\xa0\x60\x20\xfa\x5e\xfc\x9e\x39\x8d\x9e\x3b\xcb\xa2\xac\xee\xb2\x67\x14\x0b\x2e\x77\x5e\xb9\x30\x06\x28\xa3\xca\xe6\x7e\x9f\xb4\xdd\x2e\x69\x6b\x2c\x55\xf2\xa3\xe3\x84\x37\x0a\xff\x1a\xf7\xc0\x24\x9e\x71\xcd\x41\x76\x48\x07\x44\x0c\xc0\x05\x1f\x21\xe2\x97\x2e\x24\xda\x29\x31\x09\x1d\xd4\x43\x49\x6d\x0b\x94\x01\x48\xaa\x1f\x51\xf8\xd9\xc9\x31\xee\x0f\x4e\xd1\x3e\x63\xe6\xbe\xd4\xe7\xc6\x31\x3f\xa7\x01\xb3\xda\x30\xff\xd6\x42\xb9\x3d\x4c\x07\x59\x89\x51\x3c\xff\xf5\x19\x21\xf8\x8e\x56\xb5\x94\x95\xd7\x1a\x51\xb9\xa6\xc4\xa0\x34\x47\xc1\xa7\xf8\xc1\x0d\xfd\x7b\xb4\xdd\x3e\x2a\xcb\x07\x33\xa3\x76\xfc\x53\x18\xf6\xc8\x12\x4f\x95\x15\x23\x2a\xe9\x6a\x72\xec\xe8\xfc\xdc\x31\x40\xb2\x4e\xef\xf9\xec\xe7\x73\x9a\x99\x8e\x32\xce\x9c\xe0\x6e\x5c\xbd\x9e\xe9\x7f\x4b\xd4\x2e\xda\xf7\xf0\x86\x16\xd3\x45\x3f\x96\x11\x2b\xef\xb2\x46\x2e\xf5\xb7\x76\x30\xdc\xb5\x28\x3b\x47\xb4\x7b\x7b\x60\x52\x24\xfe\xe2\xc1\x29\x71\x2c\x74\x9c\xd6\xc0\x46\xcf\x00\xce\x33\xd1\xb1\xf5\xff\x4e\x46\x7a\xae\xf9\x39\x34\xb8\x83\x95\xce\xae\xeb\x8f\x35\x15\xf8\x33\xfd\xc1\xf7\x42\x83\x20\xe4\x31\xe8\x01\xb5\xcb\xd9\xdf\x24\xf9\x36\x56\xce\x61\x9c\x65\x3a\x0d\xd5\x68\x2e\x41\x0f\xc5\x9e\x6b\xbf\xe1\x0b\x98\x8f\x72\x9a\xb6\xab\x3d\x84\xf4\x1b\x75\xbd\xf9\x2f\xf8\xc1\xb4\xc4\xd4\x5d\x69\xf8\x3d\xb0\xcc\xf5\xa0\x48\xb5\x90\x06\x15\xc7\xe1\x50\xb8\xd4\xc8\xd5\xba\xc9\x07\x44\x61\xa5\x74\x9c\x9e\x02\xee\x63\x5b\x23\x41\xd9\x64\x4d\x57\x26\x39\xc2\x8b\x3f\x85\xaf\xf5\xad\x06\x68\x93\x7c\xb3\x0e\x50\x09\x3e\x5e\x2a\xfc\xb9\xab\xe5\x0a\x8b\xe3\x7b\x16\x17\x6c\x5d\x8c\xf5\x56\xcd\x58\x24\x10\x3a\x0e\xc4\xb3\xd2\x96\x58\x30\x75\x6d\xc0\x1e\x54\x1b\x60\xa4\x60\xea\xdc\xe7\x8c\xd0\xa6\x1e\x40\x39\x22\xc6\x00\x07\xa6\x73\xca\x52\xc3\xa3\xa8\x18\x99\x8c\x27\xe6\xa5\xe3\x41\x9e\x9e\x60\xf1\x1c\xc4\x32\xa2\x91\x91\xb5\x70\x62\x29\xdc\x2f\x62\x1d\xbd\x4e\x72\xef\x86\x60\x7e\x31\x66\xd5\xaa\x3f\x39\xfa\xd3\x5c\x54\x69\x4b\x5b\xc8\x54\xc1\x99\x4e\xbe\x62\x96\x0b\x57\xa5\xec\xac\xfb\x1d\xc1\xae\xda\xf6\xa3\x44\xec\xba\xc0\x67\xcc\x59\x73\x94\x5a\xc9\xe4\x78\xac\xaf\xd2\x5c\x92\x60\xea\x95\x8f\x5e\xfd\x94\x13\x66\xba\xa8\xbe\x68\x27\x16\x7e\x8d\xcd\x9a\x62\xae\x7a\x11\xb9\x7a\xd4\xe9\x69\x5a\x91\x7a\xbc\x30\x5b\xf0\x65\x9e\x62\x73\x1e\x62\xa9\x03\xfd\x22\xd6\x5e\x94\x9f\x98\x7a\x96\x49\x84\x6f\x4d\x9b\xe9\x0c\x2f\x5d\xb0\x2a\x15\xa7\x28\x10\x04\xb6\x45\x85\x71\xbf\x51\x6e\xe0\xba\xed\x60\x57\x01\x51\x71\x42\x22\xb6\xc1\x28\x36\x4b\xa5\x25\x7c\x30\x58\x1a\xaa\x8b\xe0\x09\xa8\xc6\x5b\xfd\xd5\x40\x81\x83\x1c\x70\xe4\x30\xb8\xf5\xf5\x4f\x49\xdc\xc3\x0b\x9e\x0c\xb1\x11\x10\x8d\x3d\xdb\x38\x5c\x5f\x89\xf4\x78\x93\x06\x14\x22\xde\xc7\x4d\x97\x90\xd9\xd1\x0c\x70\xdc\xbc\x81\x0d\x4e\xd9\x40\xf5\xba\x82\x99\xaa\xa8\xe7\x86\xae\xe0\x18\xdd\x07\x86\x0f\x98\xa5\xc2\x8c\xe7\xe1\x40\x05\x9a\x80\xb1\x05\x96\x20\xcc\x08\xee\xa7\xf2\x73\xad\x91\x47\xf5\x02\x30\xb7\x95\xf7\x11\x1d\x59\x20\x60\xce\xd5\xdf\x59\x89\x04\xf9\x77\x36\x2e\xfa\x47\xfe\x77\x46\x22\xfa\x53\x37\x65\xf5\xf9\x1f\x26\x51\x86\x78\x97\x8c\xa0\x47\x13\x7b\x44\x61\x55\xb9\x67\x28\xe6\xa6\x13\xfc\xf6\x68\x36\x3d\x73\xdc\x9b\x91\x33\x21\xbc\x3a\xb0\xf2\x89\xd6\xd5\x44\xab\xd2\x6d\x5f\xf2\x36\xe8\x96\x7f\x93\x5b\xa9\xe7\xf8\x95\xff\x0f\x3e\xf1\xfd\xd0\xc5\xdf\x9c\x2f\xde\xf5\xf3\xc4\x3c\xd6\xa7\x60\x41\xd0\x89\x6e\xea\xa9\x0d\x00\x77\xad\x11\x97\x2d\x0c\xbe\xed\x24\x29\xf5\x8e\x27\xbc\x08\x81\x8c\x55\x99\x09\x05\x2b\xac\x99\x7b\x37\x17\x88\xe0\x8f\x50\x15\x2c\xc8\xf6\x62\x0a\xa5\x2e\xf7\xe2\x2e\x29\x4a\xd8\x22\x28\x46\xfb\xd4\xc4\x24\x25\xc4\x31\x0c\x9c\xf8\x5b\x5a\x57\xc5\x85\x36\xce\xdb\xc8\xfd\x18\x44\xc5\x59\x17\x8d\x00\x6d\x52\x4e\x88\x3e\x88\xb9\xbd\x14\x2b\x92\x38\x07\x83\xbb\x1c\x10\x13\x59\xb6\x8c\x08\x3d\x62\x86\xae\xea\x06\x78\xda\x4f\xa7\x9d\xdd\xe2\x88\xe1\x58\x7e\x4f\xcd\x3c\x02\x56\x4a\xe8\x65\x0c\x42\xf8\x95\xfa\xd2\xcd\x07\xbc\x06\xd8\x0b\xe0\x53\x5d\x92\x58\x88\xb5\xb8\xad\xde\x3f\xa6\xf5\x12\x3e\xc1\xa8\xe9\x60\xdd\xa3\xf5\x04\x32\x87\xb8\xfc\x08\xb4\x70\x19\xe3\x87\xf4\x73\x2d\xf3\x3e\x0b\x8a\x64\x9d\x03\xc4\x01\xc9\xa3\xf7\xbc\x67\xed\x84\x6f\x83\xdd\xb2\x38\x16\x99\x64\xf9\xe3\x64\x39\xd2\xc9\x92\xd8\x0c\x41\x0e\xbd\xd3\x70\x7a\x82\x07\xa3\x49\x1a\xd5\x87\xf9\x72\xe6\xcd\xb6\xf8\x3c\x7a\x8e\xe8\xaa\x4f\x06\x98\xc6\xc4\x63\x84\x18\x2b\xe2\x05\x03\x36\xdb\x2a\x86\xe2\x48\x59\xd6\xa3\x70\x5f\x25\x3e\xe6\xce\x12\x3e\x1e\xe5\x6d\x32\xb1\xa3\xbe\xc2\x10\x4b\x26\xe0\xf5\xa4\xe9\xe8\xfa\x7e\x14\xad\x78\xed\x14\x00\xb7\xca\x34\x69\xc7\xf1\xa4\xf9\xbe\xe8\x52\x64\x13\xe1\x8f\xef\x68\xf2\x8f\xb7\x35\x29\x96\xc7\x33\x6d\x06\x1b\x7c\x0d\x3b\x83\x0d\xcb\x2f\x40\xdc\xd1\xda\x0f\xd6\x9a\x67\xef\x3f\x56\xd5\xce\x35\x91\x76\xdf\x39\x24\x82\x47\x48\x6d\x81\x67\xa8\x99\x52\x58\x8b\x40\x92\xf4\x26\x15\x17\x9c\x59\xe5\x1d\xf2\xc2\x21\x8e\x67\xbe\x32\xe3\xeb\xee\x70\x9c\x9e\x6e\x31\xbb\x9f\xc2\xe3\x27\xb8\xa3\x0a\x30\x2c\x23\x2c\x1d\xed\x87\x6f\x89\x11\xf5\x99\xaa\xc4\x67\x65\x64\x3c\x1a\x23\x9b\x84\xae\x59\x81\xee\x70\xf7\x52\xb7\x84\x7c\xc6\x1d\xc1\xf1\x61\x1c\xb7\x2f\xe2\x7b\x2e\x7e\x7e\x3c\x9e\x67\x2e\xf9\x70\x81\x91\x7f\x5d\x52\x57\xea\x5f\xe7\x3a\x28\xb8\x78\xa8\x9e\x67\xb3\x75\x28\xfe\xba\x5a\xc4\x06\x4b\x42\xf7\xa6\xd6\x2e\x6a\x94\x05\x92\xbc\x58\x24\x6c\x50\xc7\xe6\x75\x1c\x61\x46\x23\x85\xea\x0b\x40\xe3\xe0\x32\x9a\x7b\x7d\xd5\xba\xb8\x6f\xe2\x26\x88\xf3\xcf\x77\x7d\x91\xce\xce\xb5\xb0\xf6\x3a\x93\xca\xe8\x8f\x24\x80\x20\x95\xaa\x18\x00\xc5\xe4\x76\x4f\x7d\x86\x14\x0a\x6e\x5f\x5f\x0d\x38\x39\x3b\xc7\x25\x05\x6d\x3c\x3a\xbb\xd7\x4c\xeb\xf3\x3f\x13\xcf\x88\x58\xd6\x1c\xbc\x5f\xa9\xdf\x6a\xc5\xae\xbd\x75\xa3\x91\x7e\xaf\x2b\xf3\xb9\x6a\xca\x8d\xd0\x4a\xef\xf8\x6d\xcc\xb9\x5c\x56\xe4\x08\xd1\xcf\x3b\xbc\xdf\x55\xab\xfa\xf2\x66\xc1\x56\x0c\x5d\x83\xc7\x90\xc2\x5b\x2c\xb7\xba\x16\x84\x91\xc0\xf4\x92\xef\x34\xdc\xb4\xe8\x94\xf8\xcb\x3e\x3d\xf7\x27\xd3\x33\x06\x9d\x73\x72\xb2\x19\xbe\x4d\x4f\x01\xa2\x2e\xae\x3e\x35\x9f\x11\xb9\x9a\x06\xde\xe6\x41\x79\xb0\x0f\x3e\xd2\xb2\x34\xfd\xa5\xe4\x47\xab\x5a\x20\x34\x77\xe8\x0b\x07\x4a\xeb\xe1\xf5\x83\xdf\x77\x80\xdb\x14\x9c\x49\x1c\x52\x58\x80\xb0\xb1\xa9\xa2\x45\xa8\xd5\xe2\x7c\xe3\xf0\xb6\x39\xea\xa7\xb2\xd4\x6c\x1b\x71\x88\xe8\xda\xf5\x78\x9c\x82\xfb\x72\xd9\x20\xcd\x11\xa7\xbc\xaf\xf0\x16\xc3\xb6\xb8\x91\x60\xd2\x7c\x27\xd0\xd3\xf1\xd6\x94\xbd\x3d\xee\xc3\xcf\x8f\x91\x64\xc8\xea\x06\xf3\x0b\x98\x2c\xc9\xb4\x6f\x51\x5b\x6e\x2a\xf2\x19\x90\x7e\xd7\x8a\xa3\xc7\x3b\xfd\x9c\x02\x89\x12\x90\x47\xf5\x4a\xbe\xa6\x20\x3b\x8d\x20\x19\x62\x49\x4e\x41\x2e\xda\x92\xd7\xec\x29\xfd\x99\xca\xeb\xe1\x45\x22\x13\xda\xb1\x97\x77\x1c\xc5\x48\x6c\xac\x38\x83\xb0\xb3\xda\x5c\x4a\x38\x2a\x16\x76\xa0\xc5\x94\xeb\x2b\xf6\x90\x92\x80\xea\xec\xd1\x83\x0a\x74\x9e\xe0\x92\x8a\x88\xb2\xfe\x6e\x4a\x63\x86\xf8\x68\x0d\xe3\x3e\xe1\xce\xde\xfa\xf5\x5a\xd8\x44\xac\x26\x74\xb6\x12\xfc\xf7\x88\x39\x00\x16\x99\xcd\x8a\xc6\xf8\x84\x9d\x04\xfc\xe5\x38\x19\x44\x03\x10\xe2\xcd\x40\x44\xcc\x10\xdb\x64\xe7\xac\x64\xcf\x9f\x60\x6f\x62\xc2\xa6\x3d\x52\xe7\x32\x9e\x20\x71\x2b\x9b\x40\x44\x1b\x1f\x00\x99\x1b\xf7\xf8\x20\x57\xf0\xa8\xb9\x78\x95\x90\x0f\x47\x80\x93\xa7\xa2\xd0\x51\x0d\xe4\x2b\x92\x25\x13\x56\x13\x24\xdd\x15\x20\xcf\x15\x0b\xb0\x8e\x18\x32\x37\x45\x0c\xac\x08\x3a\x5d\xb5\x2e\xba\xd2\x02\xdf\x29\x61\x66\x17\x59\x10\x60\x1f\x5d\xa4\xd8\xf4\xad\x55\x41\x07\x09\x81\x7c\x64\xa3\x60\x5a\x6f\xe6\x43\x4d\x8d\xce\x0c\x7d\xd4\x3d\x32\x2d\xde\xef\x98\x3c\x0b\xad\xb7\x76\x30\xe4\x6f\xff\xfd\xec\xe4\xed\x51\xfe\xf9\xd1\xf5\xf5\xf5\x23\x2e\xfe\x88\xa4\x69\x76\xdc\x2f\x39\xb0\xde\xff\x7f\xfc\xe6\x28\xaf\x86\xd5\xc3\x45\x7e\x2c\x54\x3b\x12\x43\xbd\x70\xc3\x65\x3a\x6e\xaf\x88\x40\xfc\xf3\xd4\x5c\x77\x8c\xaa\x45\x7c\x04\x56\xcf\x81\xf0\xea\x99\xe9\xa3\x2e\xa6\x98\x40\xba\xf3\x7b\xd5\x55\xb0\x1c\xc4\x87\xcb\xa0\xc3\xfc\xe3\x5c\x18\xa3\x31\x48\x4d\xed\x68\x37\x5e\xaf\xf4\x19\x9c\x11\x88\x19\xca\x3c\x83\x89\x4c\xd4\xd8\xf0\xc2\x85\x53\x98\x55\x30\x44\xa5\x58\x0b\x9c\x1c\x30\x17\x95\x2d\x44\x55\xfe\x32\x2e\x0c\x7b\x7f\x3c\x65\xf1\x38\xff\x77\xbe\x00\xe1\x85\x12\xdc\xe2\x2c\xc3\x2d\x00\x2f\xc6\x85\x11\x9b\xd9\x09\x2f\x34\x00\x89\x38\x6d\xc2\x53\xcc\x0b\x02\xd4\xa4\x12\x15\xb1\xd9\xe4\x90\x88\x70\x10\xb9\x81\x6b\x52\xdd\xb4\x48\x7a\xfd\x34\x9f\x6d\xf3\x22\xa6\xfe\x47\xea\x04\x60\x77\x33\x73\xf3\x90\x8b\xb3\xc3\xec\x14\x39\xfa\x08\x50\xa6\x22\xde\xfb\x22\xee\x5d\x10\xa6\x5c\x03\x91\x57\xe3\x0c\x17\xfa\xa9\x1a\x10\x1b\x67\x6e\x2f\x8a\xd2\x23\xac\x5a\xdc\x3d\x46\xdf\xf4\xf4\x11\x46\x4e\xfc\x8a\x13\xea\x01\xd2\x91\x32\xb5\xf3\x87\xe1\x62\x42\x9b\x22\xe7\xa7\xb4\x69\xc2\xdd\x28\xe0\xa8\x8d\x09\x53\xa1\xe2\xc7\x54\x34\x8b\x2d\x1c\xe2\x9f\xc4\xc0\xd5\xce\x75\x8b\xc4\x87\xe0\x0c\xcf\x43\x5a\xca\x8d\xda\x2e\x05\xdd\x4d\xb7\x28\x4f\x88\xec\x23\x4f\x51\x99\xaf\x4d\xcd\xe1\x18\x04\x11\x45\xd8\xf9\xd0\xfc\x9c\x26\xf1\x54\xfc\x49\x2f\xb5\x9a\x77\xbc\x78\xf1\x8f\x32\xc7\xef\x7e\x8d\x77\x36\xb1\xb6\xf2\x72\xe4\x33\xf9\xf2\xb3\xb5\xdb\xb4\x37\x16\x72\xe6\x39\x7e\x69\x00\x3d\x3f\xb2\x08\xa6\x83\x8a\x90\x73\x75\x45\x56\x14\x50\xa8\x1d\x9a\x35\x56\x8c\x3d\x92\xc7\x7e\xb0\xa4\x0b\x56\x9d\xdd\x04\x3f\xb4\x20\x6e\x17\xa9\x7f\xbe\x3c\x23\xa3\x91\x5b\xbc\x46\xae\x5d\xa6\x03\xf8\x8b\x8b\x5b\xaf\x32\x48\xc3\x5a\x90\xd0\x0d\x2f\x9a\x26\x57\xc7\x73\xa3\x98\x86\x4a\x09\x50\xe3\x90\x2e\x71\xa4\x07\x43\xba\xf8\xa2\x3e\xae\x8b\x2b\x8a\x73\x33\x4c\xc2\xec\x6d\x4d\xb2\x2c\xd3\xa8\x2d\x71\xa8\x5f\x10\xb8\x65\x7e\xe5\xc6\x82\xc7\x9d\x4b\x7d\xdb\x55\x69\xe9\x07\xf7\x05\x21\x5c\x46\x4a\x8f\x2f\x91\x41\xe6\xfa\x12\x27\xc5\xcd\xee\x5d\x17\xa7\x65\x7d\x79\xb9\xb8\xe8\x88\x05\xe7\x38\x29\x78\xbb\x8b\x29\x3b\xff\xce\xcf\xf0\x5b\x40\xd8\x60\x0e\x58\x21\x1f\x92\xa8\x06\xbe\x8f\xd5\xe8\x4b\x12\x61\xad\x34\x7e\x32\xe8\x39\xe5\x88\xe5\xd2\x5b\x42\xf9\x27\x96\xb3\x90\x22\x2c\x02\x2c\xf9\x0b\x11\x5e\x70\xb9\xc6\xd7\x45\x28\x74\xc6\x29\x0e\xac\xdf\x6d\x88\x7b\xd5\xf7\xa9\xce\xf8\x07\x9c\xb6\x1c\xc4\xbe\x21\x39\xb6\x2a\x0d\xe6\xbd\xfc\xf4\x50\x5c\xa5\x2d\x9d\x9d\xa8\xb0\x51\x17\x1b\x31\x61\xbd\xa3\x66\x12\x18\x6a\x70\x04\x46\x68\x55\x83\xb7\x8e\x20\x3e\x22\x04\x41\xd8\x9a\x44\x08\x9d\x68\x10\xac\xa7\xaf\xdf\xca\x4f\x38\x9e\x69\xc4\x47\x78\x9e\xb1\xa9\x5a\x66\xee\x6c\x8b\x39\xb7\x36\xcb\x13\x6f\x44\xd1\xa4\xd9\x4b\xbe\xf8\x15\x20\xca\xae\xb8\x84\x65\x06\xff\x0d\xa9\xc4\xbf\xc7\x62\xa7\x5d\xf5\x68\x5c\x8c\x26\x47\x96\xec\x0c\x1f\x21\x5d\x2d\x2b\xf8\x4f\x48\x2b\x60\x30\xf9\xd8\x8d\x3c\xce\x88\x59\xe6\x11\xfe\xde\xef\xf3\xbe\x66\xd5\xbc\x22\xfa\xa8\x41\x60\x59\x7c\x1e\x02\x38\x08\xff\x44\x3f\x56\x6f\xb2\x81\xa0\x50\xfd\x55\x1e\xe6\x87\x5d\x78\x07\x09\xf8\xa2\xcf\xd2\x2d\x92\x7e\x27\xa5\x85\x3d\xa8\x6c\xb5\xf3\x4d\xbb\x06\x07\x8c\x70\x09\x12\xa7\x6f\xcf\xef\xf8\xd1\x44\x70\x54\x52\xe6\x96\xc2\x26\xaa\xb7\x54\xff\x27\x79\x59\x46\xaa\x27\xce\x27\x04\xa4\x21\x26\xa8\x91\x98\x18\x96\x07\xed\x89\x45\xe7\x4d\xca\xc4\xf7\x2b\xec\x22\x24\xfa\x81\x52\x3e\xb8\xaa\x95\x77\x2f\x65\x16\x8b\x03\x74\xc9\xd8\x5d\x07\x12\x8a\x6e\xa9\x53\x2a\x6e\x39\x72\x07\xaa\xf7\xfe\x1e\x2d\x74\xbb\x9c\xca\x57\xc8\x61\xee\x5d\x58\xd0\x37\xf2\x25\x6f\x13\x8f\xb1\x69\x1a\x32\x89\xf2\x1e\x8d\xd7\xda\xc1\x87\x09\xf8\x73\xf5\x80\x15\xf8\x2d\xf1\x06\xb9\x58\x1f\x14\x43\x82\x29\xe6\x11\x1f\x5f\x1c\x7c\x84\xe3\x21\x76\x63\x6c\x73\x13\x9a\x53\x44\x89\x28\x33\xc1\x76\xb6\x66\xb0\x9d\x02\x73\x86\x74\xbb\x00\x7b\xe2\x86\x81\x5d\xd1\x64\xa3\x09\xf3\x15\xa1\xd2\x4b\xab\x19\x60\x39\x6a\x34\x2b\xaa\x5d\xc7\x30\xf3\xa7\x8b\xb5\xe3\x43\xd5\x88\x79\x61\x27\x4a\x8f\x70\xa1\x41\x28\x73\xcb\x59\x32\x69\xcd\xeb\xbe\xa5\x89\x3b\x0e\x8f\xf1\x1e\x48\xed\x31\x5c\x3d\x7a\xc4\xb3\x7d\x8d\xee\x91\xc9\x11\x1f\x7a\xa3\xaf\xc4\xe1\x18\xb3\xef\x2c\xfb\xad\xed\xd6\x1f\xe2\xb3\x04\x41\x95\x9b\x3c\x49\x00\xcd\x01\xc3\x84\x50\xbc\x07\x00\x63\x78\xde\x58\xa3\xa1\xe3\x4b\xde\x74\xd3\x17\x75\x45\x6f\x23\xaf\xc7\xc0\xc6\xc7\xe2\xd5\x2c\xcc\x3f\x5c\x22\xa2\xab\xf1\x4d\xf2\xd4\x39\xdc\xb6\xa3\x51\xc9\x7b\xf5\x2d\x53\xa3\x04\x76\x2d\xe6\x0f\x0e\x5a\xcf\x8f\x33\xb3\xd2\x56\xee\x8b\x5f\x23\x81\x48\x22\x12\xf0\xa8\x82\x68\xe0\xe8\x6f\x86\x40\xd8\xaa\xa6\xe6\x54\xfd\xd2\xf4\x51\xb0\xed\x24\x38\xb6\xf3\x67\x47\x08\xfe\xc4\x62\x88\x2b\xc7\xac\xcc\xd8\x12\x86\x57\x1d\xb4\x13\x32\x85\x48\xbd\x0d\x3a\x09\x06\xc3\x7b\x5d\xac\x50\x79\x57\x17\x62\x97\xa5\x0e\x85\x8a\x22\x78\x16\xa0\x49\x1c\x6f\xfa\x45\x6c\xc6\x51\x8e\x2b\x31\x34\x8c\xc5\xf0\xdc\x27\xdb\x30\xfd\x22\xf0\x49\x0c\x08\x15\xe6\x0b\x09\xe6\x24\xc9\xf9\x86\xe4\xc2\x4d\x22\xdd\xa3\x22\xe6\xa7\x7f\x39\x10\x0c\x7c\xfa\x0c\xc6\xd7\x47\x00\x99\xd6\x71\x7b\x0c\x90\x7f\xd6\xee\x68\x3e\x28\xb5\x57\x61\x8e\xa2\x53\x87\xac\xb9\x30\xd5\xff\x8c\xa1\x50\x0a\xea\x88\x4c\x32\x05\xa1\xa6\x2f\xbd\x63\x53\xfb\x23\xc2\xd4\x7f\xcd\xfc\x28\x7d\x38\x62\xdc\xeb\x49\x3c\xe5\xa4\xd3\x5f\x17\x57\xf9\xa0\x71\x43\x42\x2b\xc6\x22\xfd\x24\x98\x19\x06\x78\x6b\x91\x34\xb4\x99\xef\x70\x50\xe2\xba\xdb\x72\xbd\x38\x93\xa0\x66\x72\x91\x73\x77\x64\xb3\x03\x77\x89\xb7\x85\x38\x1b\xf7\x92\x69\x4c\x70\x2b\xf5\x9d\xbc\xb5\x84\xe7\x32\x52\x83\x96\x7f\x25\xec\xd9\xfc\xed\x1b\x8b\xfc\xd7\xa6\xe9\x04\x57\x62\xf3\x17\xf5\x47\x2c\xbe\xd9\x7c\x89\x7c\x17\x09\x6d\x9c\x39\xf0\x93\x32\xb9\xa3\x87\x4a\x94\x6a\x2f\xe2\x3b\x17\xcb\x24\xd4\xd9\x71\x7c\x49\x23\x46\x3d\xfb\x31\x14\xd3\xbb\x71\x8b\x93\x3a\x4a\x8f\x94\x12\x16\xa9\x7a\xfb\x1f\x81\xe4\x37\x78\xbe\xd9\x9c\x71\xf9\xb4\x0d\x7d\x59\xb1\x6b\x37\x55\xe8\x68\xfe\x8e\x7e\xc5\xee\xa5\xfe\x99\x69\xc1\x50\x26\xa4\xab\x98\xac\x8f\xc7\xc4\xde\xc8\xc3\x20\xf0\x9c\x76\xa9\x7a\x5a\xba\xb5\x12\x3e\x59\x6b\x87\xd8\xf1\xe3\x18\x5a\x5e\x6a\xd4\x73\xf5\x2d\x3f\xf7\x80\x43\x75\x01\x77\x4f\x79\xac\x42\x53\xd2\x46\x25\x8d\x39\x16\x8d\xb6\x99\x4b\x1c\x30\x8d\xc7\x38\xcd\x1f\x85\x5a\xc2\x99\x12\x82\x2c\xd9\xcb\x33\xcc\x70\xab\x63\x71\x23\x57\x94\x69\xec\x21\xa9\x15\x0c\x7b\x6c\x56\xec\x75\x93\x76\x3d\xc4\x97\x34\xcc\xfd\x9c\x34\x77\x64\x0a\x4f\xe8\xa1\x54\x13\x2b\x51\x8a\xa5\x15\x79\x8c\x36\xf4\x23\x3c\x77\x1c\xfb\xe1\x21\xbe\xa4\x1f\xdc\x0a\xfc\xde\x44\x80\xbb\xa5\x3f\x24\x71\x6b\x18\xf2\xc4\xfa\x66\xdc\xc5\x18\x04\xe8\xdc\x9d\xe4\x30\xf8\x2a\x47\x9c\x09\xdf\x2f\x4c\x8f\x54\xc9\x11\xb3\x8a\x19\xe6\x41\xec\xf2\x66\x03\x95\xde\x4d\x04\xe0\x60\xc8\x25\x03\xa8\xb3\xb8\x8b\x60\xb3\xe7\x92\xf4\x2b\x32\x7b\xe0\xbe\x94\x36\x68\xe6\xdd\x47\xb2\xc0\x59\x88\x4e\xe1\xfc\xfc\xa1\x02\xd6\xcf\x56\xb2\x04\x44\x34\x83\xe0\x0d\xe6\x5a\x9d\x56\x16\x88\x39\xa0\x02\x11\x9f\xc2\xd9\x8e\xf5\x7c\x9b\xd3\xbe\x33\xd9\x3e\x32\x6e\x36\x98\x04\x01\x8a\x2f\x92\xbd\xc1\x1d\x87\x56\x6d\xbd\x6f\x52\x7d\xab\xaf\xc1\xb4\x2b\xf1\x5c\x97\xb7\xad\x02\xc2\x1c\x14\x7a\x16\x7e\xab\x4f\x11\x24\xa2\xdd\xba\x83\xef\xa5\xad\x35\x13\x0b\x87\x0a\xa8\xf0\xc7\x30\xca\xf0\x1e\x7a\xa4\x06\xb0\xbe\xa0\x8a\x1e\xdc\x46\x14\xbe\xa2\x03\x20\x1b\xb7\xf7\x00\x64\x41\x5c\xf7\xa9\x1b\x8e\x04\xdc\xd6\x11\x7d\xc8\xfc\xcb\x3b\x02\xba\xf1\x85\x1d\x39\xb2\x5e\xe8\x4b\x2f\x65\x39\xbb\xff\x6f\xeb\xdf\x48\x10\x02\x72\x26\x4f\x0f\x19\x31\x80\xb1\x90\xbc\x0d\x3e\x67\x2c\xe4\xd4\xb3\x8b\xc5\x78\x97\x38\x83\x35\xb7\x53\x9c\xbd\xaa\xf5\x05\x76\x4d\x6a\x3f\xab\xa7\x5c\xac\xaa\xa1\x75\x47\x20\xf3\x66\xf0\x36\xb6\x69\xb8\x36\x36\xef\x1c\xba\x1b\xe5\x74\x78\x46\xd2\x68\x73\xd1\xbc\x4e\x64\x3a\x18\x12\xc8\x1b\x56\xbf\x61\xad\x3e\x64\xe1\x09\x6e\xde\xff\xf6\x9d\x89\xe6\x4b\x2e\x53\xf1\x28\x50\x7c\x0d\x28\x1f\xbf\x0e\x74\xeb\x53\x4e\xe9\x13\x56\xe3\x97\xcc\x7a\x89\x8a\xbb\x36\x16\xd1\xde\x3d\xcf\xd4\xac\x90\x67\xfc\x86\xe6\x60\xcb\x8a\x62\x4e\xc8\xb6\x6d\x53\x8b\xe9\xd9\xb1\x7c\xd5\xfc\x94\x93\x77\xa3\x79\xc1\x3f\x24\x1a\xb9\xa6\xb0\xdf\x46\x36\xb4\x03\xc2\x5c\x9e\xf3\xdf\x1f\xf3\xfb\x65\x16\x87\x0e\x1d\x30\xab\xdb\x56\xa2\xe9\x94\x6f\x97\xef\xde\x11\x82\x13\x60\x67\x0f\x23\xc5\x1a\xd0\x4d\x68\xac\xf7\xae\xdb\xda\x49\x54\xba\xef\xe7\x5a\x34\xdf\x18\x58\x1e\x94\xf6\x72\x3d\x93\x1d\x7e\x90\xb8\xe4\x07\x89\x45\x0f\x79\xe4\x12\x92\x05\xf1\x19\xbb\x10\x21\x3f\x49\x4e\x8f\xd2\x98\x2e\xc1\x36\x93\x24\x8e\xa9\x97\x24\x14\xab\x49\x2b\x76\x5f\xe1\xd3\xcc\x52\x36\xa6\x98\xcd\x6c\x52\x7b\x1a\x26\xdd\x67\x89\x9d\x71\x92\xa4\xef\xb0\xa7\x23\x11\x2d\xaf\x4f\xdb\xb4\x6b\x7e\x6e\x0c\xba\xe2\x74\x78\xca\xaf\xa7\x75\x9a\x8f\x59\x52\x05\xc2\x5e\xf8\x14\x5c\x9d\x0e\x45\x9f\x96\xc6\xfe\xf4\x09\xea\x18\x35\x01\x24\xf9\xbd\x58\x5d\xa9\xc7\xf3\x0c\x22\x99\x18\x1e\x90\x49\x64\xf1\x39\x48\x79\x2b\x3f\xb7\x97\xf1\x67\x61\xba\x3d\x74\x88\xfb\xc6\xe5\xb2\xdf\x26\xfb\x08\x23\x92\x7c\xab\x21\x43\xd9\x89\x33\x44\x8d\xcf\x4f\xb0\x1d\xfb\x5b\x0b\xb9\x73\x91\x03\x4e\x69\xa4\x7a\x2d\x29\x3c\xcc\x2d\x07\x64\xac\x59\x8f\x5a\xb5\x29\x72\xaf\x27\xf7\x91\xf3\x28\xe0\x4f\xae\x77\xfb\x96\xfd\x45\x75\x8c\x7a\x19\x21\x42\x35\x5f\xdf\x55\xd0\x7f\xa6\xf7\xd4\x9b\x51\x27\x13\x9a\x67\x20\x77\xd4\x30\xea\xe2\x6c\x15\x5f\xdf\x49\x9c\xb4\xcd\x5a\x4e\x9d\x03\x9d\xbc\xc1\x53\x03\x5d\xa9\x82\xeb\x86\x0d\x38\x5f\x9a\x51\xd9\x1d\x55\x1e\xea\xf5\xad\x75\x7e\xc5\x30\xd6\xf5\xb0\x5c\xaf\x62\xf7\xf9\x99\x95\xee\x82\x09\x37\x1f\xee\xd5\x4a\x62\x15\x34\xa9\xd2\x72\xbe\xf8\x6d\x13\x8c\x0e\xb1\xba\x62\xae\xfa\x43\x7d\xeb\xaa\xfe\xa6\x59\xb1\xa2\x8e\x5f\xa5\xd1\x0b\xf6\x77\x95\x5c\x9a\x3c\x58\x50\xda\x77\x85\x46\xdf\xad\x70\x15\xdd\x3f\x90\xb7\xbd\xbe\x5d\x15\x70\xfe\xf9\x91\x8e\xe2\xe6\x11\x48\x3b\x4a\x1b\x67\xcb\xb3\xf5\xf0\xd6\x86\x46\x63\x71\x74\xdd\xcd\x6d\x87\xae\x0c\xd5\x17\x8d\xc0\x99\x93\xf8\x61\x30\xa2\x28\x11\x03\xc9\x1b\xbd\x8a\x99\x7f\xcb\xa6\x41\xfc\x70\x0e\xdb\x3d\xa9\x3d\xa1\x1e\xda\x88\x7b\x1b\x14\x6c\xe5\x81\x01\xf9\x76\x6f\x59\xa1\x07\x49\x2f\xbe\x6e\x8c\x1c\x4f\x7b\xb2\x11\xde\x21\x59\xe3\x6b\xff\x53\xdb\x61\xae\xe2\x7f\x75\x3b\x74\xae\x57\x93\xb7\xd6\x1c\x7b\x80\x18\xc6\x34\x77\xec\x75\x01\xbe\x13\x31\x8d\xdf\xe3\xb7\x27\xd7\xf2\x00\xda\x72\xdd\x76\x2d\x61\x9c\x04\xa6\xd4\x47\xd1\x5e\x5a\x5a\x3f\x53\x00\x37\x16\x37\xcb\xbd\xfa\xfd\x5a\x99\x63\x24\x13\xdb\xc7\xae\xb5\xb1\x14\x98\x27\x2b\xc3\x7a\xe8\x95\xde\x5e\x80\x9b\xb2\x52\x4f\x2c\xc3\x95\xd4\x32\xed\x05\xbb\x52\x69\x3c\x14\x00\x9f\x68\x8a\x83\xc5\xad\x1f\x47\x7b\x24\x0c\xd8\xef\x96\x3c\x54\x38\xe4\x4a\x72\xfe\x06\xc9\xf9\x39\x27\x4f\x5b\xb0\x5e\x85\x62\xa3\x4e\x1d\x2a\xc7\x11\xc0\xc6\x65\x5e\x70\xa0\xb0\x31\xbc\xcd\xdc\x55\x55\xec\x26\xf3\xf6\x8a\x12\x27\xb3\x06\xc8\xe9\x04\x00\xf6\xf0\x2c\xf8\x52\x75\x09\x21\xda\x97\x78\x4d\x49\x87\xa0\x61\x8b\x33\x86\x6f\x98\x89\x3f\x50\x42\xb9\xa9\x71\xaf\xf4\xa6\x6e\xd2\xab\xf6\x82\xdd\xdb\x7b\x83\x3e\x91\x9f\x0e\xea\xa2\x6d\x07\x92\xe5\x08\x94\xd8\x48\x98\x65\xca\x34\x3d\xb5\x74\x66\x84\x57\x1f\x27\x33\x25\xd0\xd3\xa9\x12\xe8\xc3\x73\xb5\xe5\x00\xe4\xd4\x56\xb7\x5f\x0d\x7b\xa2\x39\xa1\xc1\xe3\x33\x0e\x5c\x7e\x16\x32\x26\x2d\x4e\x4a\x7a\x0c\x1d\x17\x9e\x6b\x79\xc5\xe1\xe3\x67\x9b\x7e\xc6\x39\xb7\xb6\x3d\x29\xeb\x1b\x9f\x14\x9f\xdb\x29\x78\xe3\x93\x89\xd2\xc5\x7e\xf5\xb1\x1a\xd8\x1d\xf3\x6a\x09\x13\x0d\x5f\xd7\xa9\x81\xe5\x4f\x01\x96\xbf\x22\xb0\xfc\x1c\x1a\xb7\x99\x5a\xe9\x1c\xdd\x56\x43\x01\x93\x1d\x57\xcb\xcb\x67\xb4\x02\x92\x3c\x57\x0a\x9a\xb8\xa5\xca\x3f\xba\x0b\x99\x25\x75\x35\x9c\x40\x59\xa7\x22\xd1\x93\x00\x32\x57\x1b\xc7\x9c\x94\x03\x7d\x75\xb3\x92\xa7\x2f\x39\x0a\x25\xf5\xe1\x9d\xa4\x38\x58\xc8\x78\x04\x6b\x34\x12\x56\x25\x70\xd2\x27\xf0\xf3\x94\x50\x0a\x05\x8b\xc0\x42\xb8\x08\xee\x94\xc3\xe0\xcc\x01\xee\x0a\xd9\x4c\x07\x21\xad\x79\x03\xb4\x96\xc7\x70\xda\x68\x2f\x53\x29\x64\x45\x04\x6c\xf1\x31\xd2\x87\x9b\x08\xe7\x60\xb5\x00\x17\x23\x7b\xb6\x89\xd3\x14\x16\x0f\x94\xc6\x1b\x95\x78\x49\x1b\x5e\xe3\x15\x30\x91\x2b\x20\x4d\x48\x8a\x71\xc2\x78\x48\xdc\xbe\x2d\x2f\x09\xa4\x28\x69\xf1\x00\xa5\xbf\x9a\x66\xa1\x56\x42\x40\x58\x4d\x87\x69\x72\x57\xad\x59\x51\x21\xee\xab\x08\x69\x02\xef\x93\x77\x48\x36\xe9\xc6\xfb\x13\x9d\xb7\x18\xa5\x1b\x58\x6a\xc2\x67\xc3\xbc\x3b\xdc\xcb\x42\xeb\xf0\x81\x07\x75\x64\x10\x5d\xcc\x86\x6d\xf4\x80\xba\xda\xb2\x09\xa4\xc4\xeb\x97\x8b\xcd\x8d\x2f\x0d\xb9\xd2\x04\xb5\x51\x0d\x6f\x20\x73\xba\x59\x0e\xaf\x7f\x06\x55\x37\x2e\x0b\x58\xe5\x22\x4e\x10\x50\xb5\xc3\x48\x75\xdf\xd8\xeb\xa2\x86\x06\x87\x1e\xf4\xb5\x27\x7f\xbe\xf0\x4d\xdf\x38\x17\x0e\x53\x60\xa5\x92\xe2\xc8\xb6\xf8\xac\xc1\xeb\xe3\xeb\x18\xc7\xfa\x0e\x86\x73\x28\x7c\x66\xb9\x6f\xf8\x49\x8c\x43\x65\x4d\xc7\xf7\xed\x19\x11\x98\x47\xdf\xe3\x71\x26\xda\x0f\xeb\x4d\x7b\x51\xb0\x49\x8a\x3c\x3b\x82\x57\x35\x1e\x6a\x1d\x75\xbf\xf4\x48\x39\x7e\xb1\xa8\x18\x21\x29\x83\x2b\x9e\x26\xa0\xf0\x2e\xe7\x0c\x41\xb3\xb6\x73\x57\xf9\x86\xb8\xb8\x34\x67\x47\x90\xa5\xda\x42\x4f\x6a\x70\x65\xa0\x21\x96\x8d\xc5\xbc\x9b\x04\xdd\xf0\xf5\xc8\xd3\x10\x4b\xc3\x98\xbb\xea\x3a\xf8\x92\xc4\xec\xba\x47\x25\xbd\x2d\x7b\x78\xf0\x19\xd0\xb7\xde\x01\xa7\x0b\x3c\xff\x22\xfe\xf4\x69\x7e\xf7\x18\x3e\xb3\x97\xc9\xfb\xf4\xde\x35\xda\xbf\xcc\xaf\x17\xd6\x87\x1e\xc7\xf7\x1d\xe0\x20\x01\x62\x08\x73\xa0\xfd\x78\xd1\x89\x58\x41\xbe\x79\xaf\xe2\x4a\x3b\x20\x97\x71\x6d\xe7\xcd\x9d\x52\x0d\x65\xd2\x95\x19\x8b\xa6\x27\xe3\x57\xf4\x0e\x98\xc3\xf2\x63\xe8\x0b\xf8\x7f\xa6\x24\x3a\xb9\xa1\x4e\x48\x35\x4a\x78\x12\x8c\x84\xd4\x56\x07\x49\xf1\xf6\xc6\x2e\x6e\x44\x8f\x0a\xea\x3b\x6e\xcf\xed\xc9\xa4\x35\x29\x31\x7d\x9e\x2b\xed\x82\xa4\x4c\xef\x77\x25\x5d\x55\x80\xb9\x3d\xb7\xa3\xfa\xdc\x05\xf4\x80\xc2\x82\x75\x96\x36\x7e\xb9\x01\xea\x5d\x25\x96\xa3\x2e\x8f\xc8\x65\xd2\x6d\x29\x25\x31\xdf\xcc\x81\x58\x29\xb2\x66\xb9\xde\x4b\x8a\x0f\x8b\x2e\x29\xf2\xdc\x35\x93\x0f\x89\xc9\x51\x6a\xfa\xd4\xb2\xca\x75\x52\xab\x19\x75\xce\xd5\x0a\xa8\x79\x8a\xef\x7a\x33\x76\x36\x90\x54\xf8\xc5\xb2\x67\x44\x3f\x68\xca\x4e\x82\x9d\x9f\x72\xb0\x73\x49\x81\x5a\xad\x84\xd9\x2f\x6b\xd1\x9e\xbf\xf5\xe9\xee\x05\x6c\xe4\x86\xb7\xaf\x67\x60\x9c\xdd\x53\xd1\x71\xac\xf5\x1f\x35\xda\xa1\x7b\x09\x9b\x1d\x26\xe5\x1d\xcc\xdd\x86\xfb\xcb\x0f\xf8\xe0\x46\x8c\xef\x07\xf6\x88\x74\xc6\x4f\xd5\xc2\x14\x80\xc8\xcc\x5a\x2c\xd1\xe5\x71\x45\x9d\x4c\xe6\x4f\x34\x88\x2b\xf8\x12\xbd\xff\x78\xca\x46\x8c\x0e\x04\x23\x02\x40\x18\x51\x31\x48\x08\x94\xf9\x27\xe6\x43\xee\x41\xe8\xf1\x9b\x04\xd8\xf4\xe1\x24\xe5\xde\x73\xbc\xe6\x47\x35\x42\xb3\x31\xf5\xa9\x36\xa5\x3a\x1a\x26\xa1\x5e\x16\x93\x16\xcc\x00\x0a\x31\xb6\xee\xe8\x4d\xbf\xb7\xae\x9f\xed\xef\xea\xb9\xbe\xdc\x2c\x0f\x42\x8f\xc1\x24\x60\x97\xcd\x92\x04\xec\xb2\x1a\x70\x69\x16\x00\xe4\x2a\x3d\x81\xd8\xf2\x01\xb8\xec\x0b\xa6\x16\x44\xea\xcb\xfc\xec\x89\xe6\xf4\xdb\x61\x67\xaf\x41\x9d\x1d\x9f\x9f\xde\x82\xda\x0c\xaa\x28\x0a\x48\x87\xa7\x9c\xa5\xb8\x8a\x2c\x87\xb0\x6a\x74\xa6\xfe\x35\xaa\xf6\x80\xd9\x9a\xe0\x7e\x3f\x0f\x77\x1b\x17\x24\x4f\x9f\xd2\x91\xcd\xf1\x44\xe1\x9c\x22\x65\x16\xf9\x31\x71\x0a\x35\x5b\x41\x5a\x6b\x6a\x89\x77\x41\x8b\x5d\xed\x8a\xce\x5e\x22\xc0\x33\x38\xf9\x83\xa3\x07\x8b\x84\x18\x2c\x07\x79\x23\x5d\x62\xf4\x9c\xbf\x39\xa3\xcf\x55\x77\x23\xd7\xfc\x3a\xd2\x8f\xf5\x8e\xc1\x96\xec\xdb\x24\xac\x2a\xa5\x00\xf6\x4f\x48\xb1\x9d\xcb\xf7\xc1\x55\xf7\xa9\x5e\x05\x7c\x39\x7d\x72\x0c\x35\x0c\x25\x79\x5a\xa0\x4d\x23\x20\xa8\x31\xc2\xb1\x13\xb4\x1c\x6d\xc2\x08\x1b\x3d\xab\x77\x38\x10\xe8\x8f\xd5\xe3\x62\x15\x8e\xb9\x55\xb9\xb3\xb7\x99\x9e\x70\x4e\x29\xb4\x63\xa0\x22\xa5\x1d\x33\xd8\x69\x91\xbb\xfc\x64\x16\x09\x6d\xf5\x07\x69\x5a\xcf\x17\xda\xbe\xf9\xca\x1c\xd3\x73\xdb\xa0\x67\x43\x00\xa5\x25\x12\xc8\xa5\x90\x7b\x7b\x39\x33\xad\x3a\xbe\x94\x3a\x29\x91\xbc\xa1\x39\x99\xd7\x19\x9b\xb2\x5b\xec\xc8\x5c\xed\x23\xf6\x23\xad\xf8\x2e\x2e\x44\xb4\xad\xa6\x12\x0c\x17\xa6\xaa\x12\x4c\xef\x4d\x15\xb6\xd8\xed\xc2\x29\xe6\x1e\x47\x05\xda\x3a\x90\x4f\x42\x70\x1c\x04\x6d\x82\x7e\x54\x8f\xb8\xcc\x7a\x20\xf6\x9c\x55\x80\xf1\x49\xa8\xc9\xed\xe5\x25\x3f\x51\xc5\x91\xdd\x35\xc0\x1c\xff\xe4\x48\x97\xa1\x7d\x75\x04\x5f\xb2\x8e\x12\x3a\x3f\x1e\xd3\x73\xf5\x0e\x7f\x87\x44\x16\xb2\x0c\xbc\xdb\x43\xb9\xc5\xfd\x7d\xb7\x6f\x44\x7c\x74\x59\xda\x10\x67\xf9\x46\xc0\x4c\x75\x6d\x3b\xd8\x1b\x6d\x8e\x93\x7a\x47\xc9\x74\xc4\x0e\x57\x61\x82\xf9\x4a\x76\xb5\x94\xa7\xa2\x5c\x19\x5c\x08\xaf\xe0\x8d\x33\x2d\x44\xfd\x9e\x96\xa0\x7e\x1f\x00\x17\xb3\x23\xe3\x43\xce\xf0\x4b\x88\x74\xe8\x31\x9b\x39\x2b\x36\xda\x80\x25\x6d\x8c\x37\x7e\x0e\xca\x8b\x88\x18\xcf\xed\x12\x79\x16\x35\x08\xd2\x33\x53\x31\xd5\xb3\x2f\x31\xd5\xb3\x62\x31\x55\x3b\x36\xea\x41\xdf\x6f\x6c\x21\xce\xce\xde\xa4\xab\x1d\x73\xdd\x9b\xa6\x7c\x50\xdf\xe3\x27\x1e\x38\x7a\xf4\xbd\x9c\xbd\x22\x1f\xba\x12\x3a\x9b\x7e\xfe\x34\x75\x5c\x47\xff\xd7\x4d\x3d\x54\x3f\xdc\x83\x61\xc8\xbd\xa1\x2e\x2f\xee\x3d\xf4\xfb\xa6\x86\x4b\x91\xdb\x38\xf5\xea\xc0\xf4\x04\x5d\x06\x8b\xea\x9b\xa5\xc5\xb8\x92\xd8\x12\x75\x57\xe9\xf1\xae\x06\xad\xe9\xcc\x1a\x46\xc7\x53\x20\xe0\xb3\x3f\x01\xac\x5f\xec\x9d\xd6\xb9\x8c\x18\xdc\x12\xfe\x6e\xef\xac\x9a\xa7\x48\x8e\x1d\x94\xd7\x29\xec\xb5\x0a\x75\xd4\xb1\xee\xe1\xb1\x89\xd7\x8d\xf8\xb7\x69\x11\x3d\xa2\x44\xeb\xa8\x66\xca\xe1\x84\x12\x75\xe3\x13\xa4\x5a\x01\x0c\x3d\x28\x73\x8e\x79\xc0\x5e\x7f\x33\x1e\x30\x7c\x30\xeb\xbf\x55\x12\x34\xdc\x0d\xfb\x98\x44\x73\xd6\x29\xf0\x9b\xf7\x67\x7c\x0d\xf3\x8c\x01\x26\xdd\xda\x91\xdc\x51\xf8\x1e\x21\x21\xd0\x20\x71\xe8\x66\x8f\xb0\xe5\x46\x6f\x62\xc5\xe9\x1b\x7e\x61\xf9\x1b\x5c\xbd\x86\xd9\xa1\x33\x28\x32\xc9\x49\xa1\x77\x9c\x17\x98\xea\x99\xc2\x16\x0b\x22\x60\x8a\xf9\x5a\xcf\x62\x0a\x42\x9a\x2c\x37\x55\xb3\x06\x96\xfe\x27\xff\x24\x6e\x87\x7f\x86\x09\x12\x27\x6a\xa8\xff\xd8\x99\xe9\xb1\xb9\x55\x43\x0b\x48\x29\x01\x17\xee\x64\x4b\xdc\xca\xf8\x43\xe0\x18\xbf\xe7\x3b\xa8\xb0\x53\x41\x29\xcd\xb7\x55\xa4\x2d\xd5\xba\xb5\x7b\xf5\xeb\x9b\x93\x11\xe4\x0c\x2d\xd0\x9c\x19\xda\xa1\x39\x33\x94\x42\xac\x0a\xc2\x10\x60\x49\x30\x3f\x02\x81\x3c\x38\x00\x41\xe8\x68\x41\x04\x4c\x9e\xad\x48\x51\xbf\x24\xcc\x12\x37\x3b\x41\x7a\xf9\x9d\x02\xb9\x17\x71\x05\xca\x1e\xc4\x9d\xb4\xda\xf8\x36\x1b\xb9\x4a\x8e\x44\x47\xec\xdf\x1c\xd1\x11\x0f\x93\xd9\xee\x19\x34\xbb\x13\xd6\x66\x68\x26\xf0\xa7\x9a\x64\xa0\x06\x12\x6b\x36\x08\xad\x3a\x74\x93\x10\xb7\x0e\xcc\xeb\x33\xfc\x4a\x96\x4e\xb7\x1f\xef\x17\x81\x8d\x3b\x90\x35\x79\x52\xc2\x80\xd7\xab\x30\x31\xa6\x41\x7f\xf9\x2c\xbe\x15\x0c\x65\xfb\x68\x30\x9b\xfa\xb2\x0a\xaa\x79\x1d\xcd\x1b\x4a\x4b\x80\xaf\x86\x61\xd7\x5b\x60\x0c\xbc\xe7\x9a\x9f\xd0\x8f\xd1\x20\x7c\x55\x3a\x92\x49\x4d\xbb\x1a\xd7\x25\x6e\x5e\x24\x61\x7e\xc6\x0d\x5a\x0f\x07\x07\xae\xa7\xc3\x98\xc6\xad\xbb\x40\x38\x6d\x87\xbc\xd4\x24\xcf\x0a\x84\xd6\x99\x05\x98\x6d\x99\xa1\xf4\x90\x64\x18\x1c\x92\x66\xd5\xb6\x58\x75\x12\x0f\x98\xff\x9c\xb3\x49\x51\xc8\xf1\x7b\xcf\xd2\x7a\x7e\xc0\x78\x2f\xee\xb9\xfa\x19\xe1\xe3\xdb\x5d\x32\x4d\x96\x31\xf3\xde\x57\x0a\x50\x7d\xae\x56\x7b\x77\x8f\xfa\xab\xfc\xd6\x8b\x8b\x58\x4d\x6b\x96\xef\xfb\x06\x6f\xbd\x9d\x4a\x8a\x83\x99\x0b\x40\x6f\x5d\xa7\x79\x1b\x54\xbb\x34\x1c\x6e\x3f\x34\x0f\x59\x96\xa1\xcc\x32\xd0\x0c\xee\xe4\xe7\x72\x23\x2e\x86\x23\x63\x41\x83\x85\x67\x75\x09\x4f\xdf\x65\xf0\xfc\x85\x8b\xb5\x40\xaa\x17\x70\x80\x57\x93\x37\x3d\x68\x58\x99\x1c\x5a\xad\xd8\x66\x84\xaf\xb9\xf2\xf0\xc8\x37\x09\xc4\x21\x9f\x86\xec\x21\x9e\xeb\xcf\x04\xa6\x6e\x84\xc5\x93\x2c\xd1\xbe\xbf\x96\x34\xad\xd2\x59\x40\x9a\x74\x12\xde\x0d\x0c\x22\xd0\x99\xa6\x8c\x21\xad\x65\x00\xb1\x8d\xc2\x78\x36\x3c\xfb\xe7\xd3\x10\x9f\xd2\x99\xa9\xba\x31\x8d\x97\xd1\xb2\xda\x1d\x13\xf0\xdd\x62\xd2\xdb\x20\xeb\xe8\x8a\x98\x3d\xe7\x5d\x76\x41\xd9\x6f\x32\xf7\x1f\x46\x0f\x9c\xdb\xdd\x8f\xb3\xb7\x48\x82\x8a\xdc\x97\x17\xf0\xba\xaa\x71\x31\x69\xe5\x57\x39\x79\x49\xd7\xde\x9b\xf9\x3e\xbe\x37\xc3\x36\xfb\x07\xdf\xd5\x0b\xef\x9c\xa1\x56\x36\x42\x96\xe8\x66\xa3\x37\x7b\xfa\x6e\xf5\xdd\xb8\x2c\xeb\xb4\x53\x30\xce\xfc\x37\xab\x58\xc6\x68\x2f\xc2\xfd\xae\xaf\xb0\xc9\x6f\x37\xbe\xef\x44\xf1\xfa\x9d\x8c\xf4\x0f\xee\x99\x34\xad\x61\xfc\x10\x91\x4d\x57\xf2\x88\x87\xaf\x50\xdf\x17\x9a\xd6\x37\x7a\xa4\xce\x3d\xc4\xd7\x36\x5f\xd3\xb1\xd9\xd7\x4c\x7e\xd7\x57\x57\xbe\xba\x5b\x21\xf0\xa5\xae\x81\xfd\x1e\x61\x84\xac\xeb\xfc\xa2\x46\x24\x41\xa0\x21\x79\xbf\xd8\xd6\x92\x7e\xf8\x6e\x60\x25\xfd\x7b\x74\xd3\xd5\x1e\xe1\x87\xbd\x69\xa5\xcf\x0f\x81\xb6\x48\x72\xdd\xeb\xeb\x11\xf2\xe8\xd3\xfd\xf0\x26\x12\xe1\xfa\xd0\xb6\x9b\x0f\x59\xb1\xe6\x21\xd1\xff\x19\x5e\xea\x16\xaf\x24\x20\x2a\x7d\x66\xf2\x93\xbf\xbe\xe7\x9a\xbf\xd7\x98\x79\x1c\x7f\xfe\xfb\x2d\x12\xb6\x75\xc3\xf4\x99\x13\xae\x90\xc0\x0f\xf7\xe3\x67\x89\x9f\x65\x71\x83\x5f\xd7\xf8\x75\x5d\x55\x1f\xa5\x30\x08\x0f\x15\x6f\x1b\xe2\xbf\x38\xe5\x06\xbf\x6f\xf8\xb5\x8f\xfb\xec\xb3\x29\xb1\xf9\xf0\xa8\x8a\xfd\xc0\xd3\x29\xdc\x9c\xa6\xdb\x0f\x4a\xe7\x56\x35\x55\x3e\xef\xb3\x65\xc8\x8d\x26\xe1\x8b\x63\xfd\x53\xf3\x9a\x24\x9f\xf7\x71\x5e\x0c\x57\x56\xa1\x7c\x53\x2a\xf7\x43\x13\xe5\x93\xd2\xba\xe2\x7a\x19\xfb\xa5\x5f\x48\x8d\xbd\xd2\x2f\x9a\xde\xb2\x6b\x77\x1c\x6c\xfb\x43\x66\xef\x1d\xc4\x87\x0e\x9e\x53\x9e\x19\x67\x71\x20\x68\x0e\xb0\x80\x90\xea\xac\x5c\xde\xb1\x9f\xf9\x22\xb3\xf7\x4d\xea\x66\xb7\x0f\x32\x7b\x7c\x5b\x47\xc0\x62\x64\x3e\x71\x4d\xe1\x27\x51\xe5\xbd\x68\x5a\xdd\xe5\x45\xad\xcf\x64\xb3\xba\x9a\x04\xa0\x6f\xff\xfe\x77\xc0\xd3\xf7\x3f\xfe\x91\x1f\x3f\x7d\x98\x57\x9f\x39\x92\x6b\x9f\x6f\xf5\xfe\xd5\xc0\xe8\xf7\x8b\x04\x92\xbd\xe2\xe1\x31\xa0\x77\x85\xe2\x31\x80\xe6\xb3\xff\x13\x00\x00\xff\xff\x20\x90\x83\x6d\xdb\xbd\x00\x00") func confLocaleLocale_enUsIniBytes() ([]byte, error) { return bindataRead( @@ -4337,7 +4337,7 @@ func confLocaleLocale_enUsIni() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "conf/locale/locale_en-US.ini", size: 48606, mode: os.FileMode(420), modTime: time.Unix(1454607425, 0)} + info := bindataFileInfo{name: "conf/locale/locale_en-US.ini", size: 48603, mode: os.FileMode(420), modTime: time.Unix(1454695912, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/modules/setting/setting.go b/modules/setting/setting.go index 3936546c..99b968c8 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -118,6 +118,7 @@ var ( // Markdown sttings Markdown struct { EnableHardLineBreak bool + CustomURLSchemes []string `ini:"CUSTOM_URL_SCHEMES"` } // Picture settings diff --git a/public/css/gogs.css b/public/css/gogs.css index 74a29e13..e2ae300c 100755 --- a/public/css/gogs.css +++ b/public/css/gogs.css @@ -1385,12 +1385,34 @@ footer .container .links > *:first-child { .repository.view.issue .comment-list .comment .content .header { font-weight: normal; padding: auto 15px; + position: relative; color: #767676; background-color: #f7f7f7; border-bottom: 1px solid #eee; border-top-left-radius: 3px; border-top-right-radius: 3px; } +.repository.view.issue .comment-list .comment .content .header:before, +.repository.view.issue .comment-list .comment .content .header:after { + right: 100%; + top: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; +} +.repository.view.issue .comment-list .comment .content .header:before { + border-right-color: #D4D4D5; + border-width: 9px; + margin-top: -9px; +} +.repository.view.issue .comment-list .comment .content .header:after { + border-right-color: #f7f7f7; + border-width: 8px; + margin-top: -8px; +} .repository.view.issue .comment-list .comment .content .header .text { max-width: 78%; padding-top: 10px; diff --git a/public/img/404.png b/public/img/404.png Binary files differindex 80c081d3..c4a068df 100644 --- a/public/img/404.png +++ b/public/img/404.png diff --git a/public/img/500.png b/public/img/500.png Binary files differindex 6237f9a9..8813da10 100644 --- a/public/img/500.png +++ b/public/img/500.png diff --git a/public/img/emoji/back.png b/public/img/emoji/back.png Binary files differindex 0cde6287..5851ddca 100755..100644 --- a/public/img/emoji/back.png +++ b/public/img/emoji/back.png diff --git a/public/img/emoji/black_medium_small_square.png b/public/img/emoji/black_medium_small_square.png Binary files differindex 25bfe9c4..9ac79989 100755..100644 --- a/public/img/emoji/black_medium_small_square.png +++ b/public/img/emoji/black_medium_small_square.png diff --git a/public/img/emoji/black_medium_square.png b/public/img/emoji/black_medium_square.png Binary files differindex 204cce12..2f61dc23 100755..100644 --- a/public/img/emoji/black_medium_square.png +++ b/public/img/emoji/black_medium_square.png diff --git a/public/img/emoji/package.png b/public/img/emoji/package.png Binary files differindex 26602af9..168434bc 100755..100644 --- a/public/img/emoji/package.png +++ b/public/img/emoji/package.png diff --git a/public/img/emoji/sparkle.png b/public/img/emoji/sparkle.png Binary files differindex 23a68ceb..59637de0 100755..100644 --- a/public/img/emoji/sparkle.png +++ b/public/img/emoji/sparkle.png diff --git a/public/img/emoji/white_medium_small_square.png b/public/img/emoji/white_medium_small_square.png Binary files differindex a115cdc4..1a35981a 100755..100644 --- a/public/img/emoji/white_medium_small_square.png +++ b/public/img/emoji/white_medium_small_square.png diff --git a/public/img/emoji/white_medium_square.png b/public/img/emoji/white_medium_square.png Binary files differindex 199808bc..3bcd1512 100755..100644 --- a/public/img/emoji/white_medium_square.png +++ b/public/img/emoji/white_medium_square.png diff --git a/public/img/emoji/white_small_square.png b/public/img/emoji/white_small_square.png Binary files differindex 24ba879f..65d0be20 100755..100644 --- a/public/img/emoji/white_small_square.png +++ b/public/img/emoji/white_small_square.png diff --git a/public/img/gogs-large-resize.png b/public/img/gogs-large-resize.png Binary files differindex 5e39d505..dc66c1ab 100644 --- a/public/img/gogs-large-resize.png +++ b/public/img/gogs-large-resize.png diff --git a/public/img/gogs-lg.png b/public/img/gogs-lg.png Binary files differindex fde06eb2..9fa0a9da 100644 --- a/public/img/gogs-lg.png +++ b/public/img/gogs-lg.png diff --git a/public/less/_repository.less b/public/less/_repository.less index 4360f3d3..da4cb7d8 100644 --- a/public/less/_repository.less +++ b/public/less/_repository.less @@ -268,6 +268,10 @@ } .content { margin-left: 4em; + #avatar-arrow; + &:after { + border-right-color: #fff; + } .markdown { font-size: 14px; } @@ -376,8 +380,10 @@ .content { margin-left: 4em; .header { + #avatar-arrow; font-weight: normal; padding: auto 15px; + position: relative; color: #767676; background-color: #f7f7f7; border-bottom: 1px solid #eee; @@ -477,6 +483,12 @@ .field:first-child { clear: none; } + .form { + #avatar-arrow; + &:after { + border-right-color: #fff; + } + } .tab.segment { border: none; padding: 0; @@ -576,6 +588,14 @@ padding-right: 10px; } } + .comment.form { + .content { + #avatar-arrow; + &:after { + border-right-color: #fff; + } + } + } } .filter.dropdown .menu { @@ -1228,6 +1248,29 @@ } } +#avatar-arrow { + &:before, &:after { + right: 100%; + top: 20px; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + } + &:before { + border-right-color: #D4D4D5; + border-width: 9px; + margin-top: -9px; + } + &:after { + border-right-color: #f7f7f7; + border-width: 8px; + margin-top: -8px; + } +} + #transfer-repo-modal, #delete-repo-modal { .ui.message { diff --git a/public/plugins/jquery.datetimepicker-2.4.5/jquery.datetimepicker.css b/public/plugins/jquery.datetimepicker-2.4.5/jquery.datetimepicker.css new file mode 100644 index 00000000..a26fccec --- /dev/null +++ b/public/plugins/jquery.datetimepicker-2.4.5/jquery.datetimepicker.css @@ -0,0 +1,545 @@ +.xdsoft_datetimepicker { + box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.506); + background: #fff; + border-bottom: 1px solid #bbb; + border-left: 1px solid #ccc; + border-right: 1px solid #ccc; + border-top: 1px solid #ccc; + color: #333; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: 8px; + padding-left: 0; + padding-top: 2px; + position: absolute; + z-index: 9999; + -moz-box-sizing: border-box; + box-sizing: border-box; + display: none; +} + +.xdsoft_datetimepicker iframe { + position: absolute; + left: 0; + top: 0; + width: 75px; + height: 210px; + background: transparent; + border: none; +} + +/*For IE8 or lower*/ +.xdsoft_datetimepicker button { + border: none !important; +} + +.xdsoft_noselect { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; +} + +.xdsoft_noselect::selection { background: transparent } +.xdsoft_noselect::-moz-selection { background: transparent } + +.xdsoft_datetimepicker.xdsoft_inline { + display: inline-block; + position: static; + box-shadow: none; +} + +.xdsoft_datetimepicker * { + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; + margin: 0; +} + +.xdsoft_datetimepicker .xdsoft_datepicker, .xdsoft_datetimepicker .xdsoft_timepicker { + display: none; +} + +.xdsoft_datetimepicker .xdsoft_datepicker.active, .xdsoft_datetimepicker .xdsoft_timepicker.active { + display: block; +} + +.xdsoft_datetimepicker .xdsoft_datepicker { + width: 224px; + float: left; + margin-left: 8px; +} + +.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker { + width: 256px; +} + +.xdsoft_datetimepicker .xdsoft_timepicker { + width: 58px; + float: left; + text-align: center; + margin-left: 8px; + margin-top: 0; +} + +.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker { + margin-top: 8px; + margin-bottom: 3px +} + +.xdsoft_datetimepicker .xdsoft_mounthpicker { + position: relative; + text-align: center; +} + +.xdsoft_datetimepicker .xdsoft_label i, +.xdsoft_datetimepicker .xdsoft_prev, +.xdsoft_datetimepicker .xdsoft_next, +.xdsoft_datetimepicker .xdsoft_today_button { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC); +} + +.xdsoft_datetimepicker .xdsoft_label i { + opacity: 0.5; + background-position: -92px -19px; + display: inline-block; + width: 9px; + height: 20px; + vertical-align: middle; +} + +.xdsoft_datetimepicker .xdsoft_prev { + float: left; + background-position: -20px 0; +} +.xdsoft_datetimepicker .xdsoft_today_button { + float: left; + background-position: -70px 0; + margin-left: 5px; +} + +.xdsoft_datetimepicker .xdsoft_next { + float: right; + background-position: 0 0; +} + +.xdsoft_datetimepicker .xdsoft_next, +.xdsoft_datetimepicker .xdsoft_prev , +.xdsoft_datetimepicker .xdsoft_today_button { + background-color: transparent; + background-repeat: no-repeat; + border: 0 none; + cursor: pointer; + display: block; + height: 30px; + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + outline: medium none; + overflow: hidden; + padding: 0; + position: relative; + text-indent: 100%; + white-space: nowrap; + width: 20px; + min-width: 0; +} + +.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev, +.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next { + float: none; + background-position: -40px -15px; + height: 15px; + width: 30px; + display: block; + margin-left: 14px; + margin-top: 7px; +} + +.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev { + background-position: -40px 0; + margin-bottom: 7px; + margin-top: 0; +} + +.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box { + height: 151px; + overflow: hidden; + border-bottom: 1px solid #ddd; +} + +.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div { + background: #f5f5f5; + border-top: 1px solid #ddd; + color: #666; + font-size: 12px; + text-align: center; + border-collapse: collapse; + cursor: pointer; + border-bottom-width: 0; + height: 25px; + line-height: 25px; +} + +.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div > div:first-child { + border-top-width: 0; +} + +.xdsoft_datetimepicker .xdsoft_today_button:hover, +.xdsoft_datetimepicker .xdsoft_next:hover, +.xdsoft_datetimepicker .xdsoft_prev:hover { + opacity: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; +} + +.xdsoft_datetimepicker .xdsoft_label { + display: inline; + position: relative; + z-index: 9999; + margin: 0; + padding: 5px 3px; + font-size: 14px; + line-height: 20px; + font-weight: bold; + background-color: #fff; + float: left; + width: 182px; + text-align: center; + cursor: pointer; +} + +.xdsoft_datetimepicker .xdsoft_label:hover>span { + text-decoration: underline; +} + +.xdsoft_datetimepicker .xdsoft_label:hover i { + opacity: 1.0; +} + +.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select { + border: 1px solid #ccc; + position: absolute; + right: 0; + top: 30px; + z-index: 101; + display: none; + background: #fff; + max-height: 160px; + overflow-y: hidden; +} + +.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_monthselect{ right: -7px } +.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_yearselect{ right: 2px } +.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover { + color: #fff; + background: #ff8000; +} + +.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option { + padding: 2px 10px 2px 5px; + text-decoration: none !important; +} + +.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current { + background: #33aaff; + box-shadow: #178fe5 0 1px 3px 0 inset; + color: #fff; + font-weight: 700; +} + +.xdsoft_datetimepicker .xdsoft_month { + width: 100px; + text-align: right; +} + +.xdsoft_datetimepicker .xdsoft_calendar { + clear: both; +} + +.xdsoft_datetimepicker .xdsoft_year{ + width: 48px; + margin-left: 5px; +} + +.xdsoft_datetimepicker .xdsoft_calendar table { + border-collapse: collapse; + width: 100%; + +} + +.xdsoft_datetimepicker .xdsoft_calendar td > div { + padding-right: 5px; +} + +.xdsoft_datetimepicker .xdsoft_calendar th { + height: 25px; +} + +.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th { + width: 14.2857142%; + background: #f5f5f5; + border: 1px solid #ddd; + color: #666; + font-size: 12px; + text-align: right; + vertical-align: middle; + padding: 0; + border-collapse: collapse; + cursor: pointer; + height: 25px; +} +.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th { + width: 12.5%; +} + +.xdsoft_datetimepicker .xdsoft_calendar th { + background: #f1f1f1; +} + +.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today { + color: #33aaff; +} + +.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_default { + background: #ffe9d2; + box-shadow: #ffb871 0 1px 4px 0 inset; + color: #000; +} +.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_mint { + background: #c1ffc9; + box-shadow: #00dd1c 0 1px 4px 0 inset; + color: #000; +} + +.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default, +.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current, +.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current { + background: #33aaff; + box-shadow: #178fe5 0 1px 3px 0 inset; + color: #fff; + font-weight: 700; +} + +.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month, +.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled, +.xdsoft_datetimepicker .xdsoft_time_box >div >div.xdsoft_disabled { + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + cursor: default; +} + +.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled { + opacity: 0.2; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"; +} + +.xdsoft_datetimepicker .xdsoft_calendar td:hover, +.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div:hover { + color: #fff !important; + background: #ff8000 !important; + box-shadow: none !important; +} + +.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current.xdsoft_disabled:hover, +.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current.xdsoft_disabled:hover { + background: #33aaff !important; + box-shadow: #178fe5 0 1px 3px 0 inset !important; + color: #fff !important; +} + +.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover, +.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_disabled:hover { + color: inherit !important; + background: inherit !important; + box-shadow: inherit !important; +} + +.xdsoft_datetimepicker .xdsoft_calendar th { + font-weight: 700; + text-align: center; + color: #999; + cursor: default; +} + +.xdsoft_datetimepicker .xdsoft_copyright { + color: #ccc !important; + font-size: 10px; + clear: both; + float: none; + margin-left: 8px; +} + +.xdsoft_datetimepicker .xdsoft_copyright a { color: #eee !important } +.xdsoft_datetimepicker .xdsoft_copyright a:hover { color: #aaa !important } + +.xdsoft_time_box { + position: relative; + border: 1px solid #ccc; +} +.xdsoft_scrollbar >.xdsoft_scroller { + background: #ccc !important; + height: 20px; + border-radius: 3px; +} +.xdsoft_scrollbar { + position: absolute; + width: 7px; + right: 0; + top: 0; + bottom: 0; + cursor: pointer; +} +.xdsoft_scroller_box { + position: relative; +} + +.xdsoft_datetimepicker.xdsoft_dark { + box-shadow: 0 5px 15px -5px rgba(255, 255, 255, 0.506); + background: #000; + border-bottom: 1px solid #444; + border-left: 1px solid #333; + border-right: 1px solid #333; + border-top: 1px solid #333; + color: #ccc; +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box { + border-bottom: 1px solid #222; +} +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div { + background: #0a0a0a; + border-top: 1px solid #222; + color: #999; +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label { + background-color: #000; +} +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select { + border: 1px solid #333; + background: #000; +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover { + color: #000; + background: #007fff; +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current { + background: #cc5500; + box-shadow: #b03e00 0 1px 3px 0 inset; + color: #000; +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i, +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev, +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next, +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==); +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td, +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th { + background: #0a0a0a; + border: 1px solid #222; + color: #999; +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th { + background: #0e0e0e; +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today { + color: #cc5500; +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_default { + background: #ffe9d2; + box-shadow: #ffb871 0 1px 4px 0 inset; + color:#000; +} +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_mint { + background: #c1ffc9; + box-shadow: #00dd1c 0 1px 4px 0 inset; + color:#000; +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default, +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current, +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current { + background: #cc5500; + box-shadow: #b03e00 0 1px 3px 0 inset; + color: #000; +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover, +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div:hover { + color: #000 !important; + background: #007fff !important; +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th { + color: #666; +} + +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright { color: #333 !important } +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a { color: #111 !important } +.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover { color: #555 !important } + +.xdsoft_dark .xdsoft_time_box { + border: 1px solid #333; +} + +.xdsoft_dark .xdsoft_scrollbar >.xdsoft_scroller { + background: #333 !important; +} +.xdsoft_datetimepicker .xdsoft_save_selected { + display: block; + border: 1px solid #dddddd !important; + margin-top: 5px; + width: 100%; + color: #454551; + font-size: 13px; +} +.xdsoft_datetimepicker .blue-gradient-button { + font-family: "museo-sans", "Book Antiqua", sans-serif; + font-size: 12px; + font-weight: 300; + color: #82878c; + height: 28px; + position: relative; + padding: 4px 17px 4px 33px; + border: 1px solid #d7d8da; + background: -moz-linear-gradient(top, #fff 0%, #f4f8fa 73%); + /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(73%, #f4f8fa)); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fff 0%, #f4f8fa 73%); + /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fff 0%, #f4f8fa 73%); + /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fff 0%, #f4f8fa 73%); + /* IE10+ */ + background: linear-gradient(to bottom, #fff 0%, #f4f8fa 73%); + /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#f4f8fa',GradientType=0 ); +/* IE6-9 */ +} +.xdsoft_datetimepicker .blue-gradient-button:hover, .xdsoft_datetimepicker .blue-gradient-button:focus, .xdsoft_datetimepicker .blue-gradient-button:hover span, .xdsoft_datetimepicker .blue-gradient-button:focus span { + color: #454551; + background: -moz-linear-gradient(top, #f4f8fa 0%, #FFF 73%); + /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f4f8fa), color-stop(73%, #FFF)); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #f4f8fa 0%, #FFF 73%); + /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #f4f8fa 0%, #FFF 73%); + /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #f4f8fa 0%, #FFF 73%); + /* IE10+ */ + background: linear-gradient(to bottom, #f4f8fa 0%, #FFF 73%); + /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f8fa', endColorstr='#FFF',GradientType=0 ); + /* IE6-9 */ +} diff --git a/public/plugins/jquery.datetimepicker-2.4.5/jquery.datetimepicker.js b/public/plugins/jquery.datetimepicker-2.4.5/jquery.datetimepicker.js new file mode 100644 index 00000000..9c00413c --- /dev/null +++ b/public/plugins/jquery.datetimepicker-2.4.5/jquery.datetimepicker.js @@ -0,0 +1,2073 @@ +/** + * @preserve jQuery DateTimePicker plugin v2.4.5 + * @homepage http://xdsoft.net/jqplugins/datetimepicker/ + * (c) 2014, Chupurnov Valeriy. + */ +/*global document,window,jQuery,setTimeout,clearTimeout,HighlightedDate,getCurrentValue*/ +(function ($) { + 'use strict'; + var default_options = { + i18n: { + ar: { // Arabic + months: [ + "كانون الثاني", "شباط", "آذار", "نيسان", "مايو", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول" + ], + dayOfWeek: [ + "ن", "ث", "ع", "خ", "ج", "س", "ح" + ] + }, + ro: { // Romanian + months: [ + "ianuarie", "februarie", "martie", "aprilie", "mai", "iunie", "iulie", "august", "septembrie", "octombrie", "noiembrie", "decembrie" + ], + dayOfWeek: [ + "l", "ma", "mi", "j", "v", "s", "d" + ] + }, + id: { // Indonesian + months: [ + "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember" + ], + dayOfWeek: [ + "Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab" + ] + }, + is: { // Icelandic + months: [ + "Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember" + ], + dayOfWeek: [ + "Sun", "Mán", "Þrið", "Mið", "Fim", "Fös", "Lau" + ] + }, + bg: { // Bulgarian + months: [ + "Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември" + ], + dayOfWeek: [ + "Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб" + ] + }, + fa: { // Persian/Farsi + months: [ + 'فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند' + ], + dayOfWeek: [ + 'یکشنبه', 'دوشنبه', 'سه شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه' + ] + }, + ru: { // Russian + months: [ + 'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь' + ], + dayOfWeek: [ + "Вск", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб" + ] + }, + uk: { // Ukrainian + months: [ + 'Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень' + ], + dayOfWeek: [ + "Ндл", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Сбт" + ] + }, + en: { // English + months: [ + "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" + ], + dayOfWeek: [ + "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" + ] + }, + el: { // Ελληνικά + months: [ + "Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος" + ], + dayOfWeek: [ + "Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ" + ] + }, + de: { // German + months: [ + 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember' + ], + dayOfWeek: [ + "So", "Mo", "Di", "Mi", "Do", "Fr", "Sa" + ] + }, + nl: { // Dutch + months: [ + "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december" + ], + dayOfWeek: [ + "zo", "ma", "di", "wo", "do", "vr", "za" + ] + }, + tr: { // Turkish + months: [ + "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık" + ], + dayOfWeek: [ + "Paz", "Pts", "Sal", "Çar", "Per", "Cum", "Cts" + ] + }, + fr: { //French + months: [ + "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre" + ], + dayOfWeek: [ + "Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam" + ] + }, + es: { // Spanish + months: [ + "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" + ], + dayOfWeek: [ + "Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb" + ] + }, + th: { // Thai + months: [ + 'มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม' + ], + dayOfWeek: [ + 'อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.' + ] + }, + pl: { // Polish + months: [ + "styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień" + ], + dayOfWeek: [ + "nd", "pn", "wt", "śr", "cz", "pt", "sb" + ] + }, + pt: { // Portuguese + months: [ + "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" + ], + dayOfWeek: [ + "Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab" + ] + }, + ch: { // Simplified Chinese + months: [ + "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" + ], + dayOfWeek: [ + "日", "一", "二", "三", "四", "五", "六" + ] + }, + se: { // Swedish + months: [ + "Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December" + ], + dayOfWeek: [ + "Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör" + ] + }, + kr: { // Korean + months: [ + "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월" + ], + dayOfWeek: [ + "일", "월", "화", "수", "목", "금", "토" + ] + }, + it: { // Italian + months: [ + "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre" + ], + dayOfWeek: [ + "Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab" + ] + }, + da: { // Dansk + months: [ + "January", "Februar", "Marts", "April", "Maj", "Juni", "July", "August", "September", "Oktober", "November", "December" + ], + dayOfWeek: [ + "Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør" + ] + }, + no: { // Norwegian + months: [ + "Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember" + ], + dayOfWeek: [ + "Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør" + ] + }, + ja: { // Japanese + months: [ + "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月" + ], + dayOfWeek: [ + "日", "月", "火", "水", "木", "金", "土" + ] + }, + vi: { // Vietnamese + months: [ + "Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12" + ], + dayOfWeek: [ + "CN", "T2", "T3", "T4", "T5", "T6", "T7" + ] + }, + sl: { // Slovenščina + months: [ + "Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December" + ], + dayOfWeek: [ + "Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob" + ] + }, + cs: { // Čeština + months: [ + "Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec" + ], + dayOfWeek: [ + "Ne", "Po", "Út", "St", "Čt", "Pá", "So" + ] + }, + hu: { // Hungarian + months: [ + "Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December" + ], + dayOfWeek: [ + "Va", "Hé", "Ke", "Sze", "Cs", "Pé", "Szo" + ] + }, + az: { //Azerbaijanian (Azeri) + months: [ + "Yanvar", "Fevral", "Mart", "Aprel", "May", "Iyun", "Iyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr" + ], + dayOfWeek: [ + "B", "Be", "Ça", "Ç", "Ca", "C", "Ş" + ] + }, + bs: { //Bosanski + months: [ + "Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar" + ], + dayOfWeek: [ + "Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub" + ] + }, + ca: { //Català + months: [ + "Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre" + ], + dayOfWeek: [ + "Dg", "Dl", "Dt", "Dc", "Dj", "Dv", "Ds" + ] + }, + 'en-GB': { //English (British) + months: [ + "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" + ], + dayOfWeek: [ + "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" + ] + }, + et: { //"Eesti" + months: [ + "Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember" + ], + dayOfWeek: [ + "P", "E", "T", "K", "N", "R", "L" + ] + }, + eu: { //Euskara + months: [ + "Urtarrila", "Otsaila", "Martxoa", "Apirila", "Maiatza", "Ekaina", "Uztaila", "Abuztua", "Iraila", "Urria", "Azaroa", "Abendua" + ], + dayOfWeek: [ + "Ig.", "Al.", "Ar.", "Az.", "Og.", "Or.", "La." + ] + }, + fi: { //Finnish (Suomi) + months: [ + "Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu" + ], + dayOfWeek: [ + "Su", "Ma", "Ti", "Ke", "To", "Pe", "La" + ] + }, + gl: { //Galego + months: [ + "Xan", "Feb", "Maz", "Abr", "Mai", "Xun", "Xul", "Ago", "Set", "Out", "Nov", "Dec" + ], + dayOfWeek: [ + "Dom", "Lun", "Mar", "Mer", "Xov", "Ven", "Sab" + ] + }, + hr: { //Hrvatski + months: [ + "Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac" + ], + dayOfWeek: [ + "Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub" + ] + }, + ko: { //Korean (한국어) + months: [ + "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월" + ], + dayOfWeek: [ + "일", "월", "화", "수", "목", "금", "토" + ] + }, + lt: { //Lithuanian (lietuvių) + months: [ + "Sausio", "Vasario", "Kovo", "Balandžio", "Gegužės", "Birželio", "Liepos", "Rugpjūčio", "Rugsėjo", "Spalio", "Lapkričio", "Gruodžio" + ], + dayOfWeek: [ + "Sek", "Pir", "Ant", "Tre", "Ket", "Pen", "Šeš" + ] + }, + lv: { //Latvian (Latviešu) + months: [ + "Janvāris", "Februāris", "Marts", "Aprīlis ", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris" + ], + dayOfWeek: [ + "Sv", "Pr", "Ot", "Tr", "Ct", "Pk", "St" + ] + }, + mk: { //Macedonian (Македонски) + months: [ + "јануари", "февруари", "март", "април", "мај", "јуни", "јули", "август", "септември", "октомври", "ноември", "декември" + ], + dayOfWeek: [ + "нед", "пон", "вто", "сре", "чет", "пет", "саб" + ] + }, + mn: { //Mongolian (Монгол) + months: [ + "1-р сар", "2-р сар", "3-р сар", "4-р сар", "5-р сар", "6-р сар", "7-р сар", "8-р сар", "9-р сар", "10-р сар", "11-р сар", "12-р сар" + ], + dayOfWeek: [ + "Дав", "Мяг", "Лха", "Пүр", "Бсн", "Бям", "Ням" + ] + }, + 'pt-BR': { //Português(Brasil) + months: [ + "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" + ], + dayOfWeek: [ + "Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb" + ] + }, + sk: { //Slovenčina + months: [ + "Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December" + ], + dayOfWeek: [ + "Ne", "Po", "Ut", "St", "Št", "Pi", "So" + ] + }, + sq: { //Albanian (Shqip) + months: [ + "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" + ], + dayOfWeek: [ + "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" + ] + }, + 'sr-YU': { //Serbian (Srpski) + months: [ + "Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar" + ], + dayOfWeek: [ + "Ned", "Pon", "Uto", "Sre", "čet", "Pet", "Sub" + ] + }, + sr: { //Serbian Cyrillic (Српски) + months: [ + "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар" + ], + dayOfWeek: [ + "нед", "пон", "уто", "сре", "чет", "пет", "суб" + ] + }, + sv: { //Svenska + months: [ + "Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December" + ], + dayOfWeek: [ + "Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör" + ] + }, + 'zh-TW': { //Traditional Chinese (繁體中文) + months: [ + "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" + ], + dayOfWeek: [ + "日", "一", "二", "三", "四", "五", "六" + ] + }, + zh: { //Simplified Chinese (简体中文) + months: [ + "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" + ], + dayOfWeek: [ + "日", "一", "二", "三", "四", "五", "六" + ] + }, + he: { //Hebrew (עברית) + months: [ + 'ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר' + ], + dayOfWeek: [ + 'א\'', 'ב\'', 'ג\'', 'ד\'', 'ה\'', 'ו\'', 'שבת' + ] + }, + hy: { // Armenian + months: [ + "Հունվար", "Փետրվար", "Մարտ", "Ապրիլ", "Մայիս", "Հունիս", "Հուլիս", "Օգոստոս", "Սեպտեմբեր", "Հոկտեմբեր", "Նոյեմբեր", "Դեկտեմբեր" + ], + dayOfWeek: [ + "Կի", "Երկ", "Երք", "Չոր", "Հնգ", "Ուրբ", "Շբթ" + ] + }, + kg: { // Kyrgyz + months: [ + 'Үчтүн айы', 'Бирдин айы', 'Жалган Куран', 'Чын Куран', 'Бугу', 'Кулжа', 'Теке', 'Баш Оона', 'Аяк Оона', 'Тогуздун айы', 'Жетинин айы', 'Бештин айы' + ], + dayOfWeek: [ + "Жек", "Дүй", "Шей", "Шар", "Бей", "Жум", "Ише" + ] + } + }, + value: '', + lang: 'en', + + format: 'Y/m/d H:i', + formatTime: 'H:i', + formatDate: 'Y/m/d', + + startDate: false, // new Date(), '1986/12/08', '-1970/01/05','-1970/01/05', + step: 60, + monthChangeSpinner: true, + + closeOnDateSelect: false, + closeOnTimeSelect: true, + closeOnWithoutClick: true, + closeOnInputClick: true, + + timepicker: true, + datepicker: true, + weeks: false, + + defaultTime: false, // use formatTime format (ex. '10:00' for formatTime: 'H:i') + defaultDate: false, // use formatDate format (ex new Date() or '1986/12/08' or '-1970/01/05' or '-1970/01/05') + + minDate: false, + maxDate: false, + minTime: false, + maxTime: false, + disabledMinTime: false, + disabledMaxTime: false, + + allowTimes: [], + opened: false, + initTime: true, + inline: false, + theme: '', + + onSelectDate: function () {}, + onSelectTime: function () {}, + onChangeMonth: function () {}, + onChangeYear: function () {}, + onChangeDateTime: function () {}, + onShow: function () {}, + onClose: function () {}, + onGenerate: function () {}, + + withoutCopyright: true, + inverseButton: false, + hours12: false, + next: 'xdsoft_next', + prev : 'xdsoft_prev', + dayOfWeekStart: 0, + parentID: 'body', + timeHeightInTimePicker: 25, + timepickerScrollbar: true, + todayButton: true, + prevButton: true, + nextButton: true, + defaultSelect: true, + + scrollMonth: true, + scrollTime: true, + scrollInput: true, + + lazyInit: false, + mask: false, + validateOnBlur: true, + allowBlank: true, + yearStart: 1950, + yearEnd: 2050, + monthStart: 0, + monthEnd: 11, + style: '', + id: '', + fixed: false, + roundTime: 'round', // ceil, floor + className: '', + weekends: [], + highlightedDates: [], + highlightedPeriods: [], + disabledDates : [], + disabledWeekDays: [], + yearOffset: 0, + beforeShowDay: null, + + enterLikeTab: true, + showApplyButton: false + }; + // fix for ie8 + if (!window.getComputedStyle) { + window.getComputedStyle = function (el, pseudo) { + this.el = el; + this.getPropertyValue = function (prop) { + var re = /(\-([a-z]){1})/g; + if (prop === 'float') { + prop = 'styleFloat'; + } + if (re.test(prop)) { + prop = prop.replace(re, function (a, b, c) { + return c.toUpperCase(); + }); + } + return el.currentStyle[prop] || null; + }; + return this; + }; + } + if (!Array.prototype.indexOf) { + Array.prototype.indexOf = function (obj, start) { + var i, j; + for (i = (start || 0), j = this.length; i < j; i += 1) { + if (this[i] === obj) { return i; } + } + return -1; + }; + } + Date.prototype.countDaysInMonth = function () { + return new Date(this.getFullYear(), this.getMonth() + 1, 0).getDate(); + }; + $.fn.xdsoftScroller = function (percent) { + return this.each(function () { + var timeboxparent = $(this), + pointerEventToXY = function (e) { + var out = {x: 0, y: 0}, + touch; + if (e.type === 'touchstart' || e.type === 'touchmove' || e.type === 'touchend' || e.type === 'touchcancel') { + touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0]; + out.x = touch.clientX; + out.y = touch.clientY; + } else if (e.type === 'mousedown' || e.type === 'mouseup' || e.type === 'mousemove' || e.type === 'mouseover' || e.type === 'mouseout' || e.type === 'mouseenter' || e.type === 'mouseleave') { + out.x = e.clientX; + out.y = e.clientY; + } + return out; + }, + move = 0, + timebox, + parentHeight, + height, + scrollbar, + scroller, + maximumOffset = 100, + start = false, + startY = 0, + startTop = 0, + h1 = 0, + touchStart = false, + startTopScroll = 0, + calcOffset = function () {}; + if (percent === 'hide') { + timeboxparent.find('.xdsoft_scrollbar').hide(); + return; + } + if (!$(this).hasClass('xdsoft_scroller_box')) { + timebox = timeboxparent.children().eq(0); + parentHeight = timeboxparent[0].clientHeight; + height = timebox[0].offsetHeight; + scrollbar = $('<div class="xdsoft_scrollbar"></div>'); + scroller = $('<div class="xdsoft_scroller"></div>'); + scrollbar.append(scroller); + + timeboxparent.addClass('xdsoft_scroller_box').append(scrollbar); + calcOffset = function calcOffset(event) { + var offset = pointerEventToXY(event).y - startY + startTopScroll; + if (offset < 0) { + offset = 0; + } + if (offset + scroller[0].offsetHeight > h1) { + offset = h1 - scroller[0].offsetHeight; + } + timeboxparent.trigger('scroll_element.xdsoft_scroller', [maximumOffset ? offset / maximumOffset : 0]); + }; + + scroller + .on('touchstart.xdsoft_scroller mousedown.xdsoft_scroller', function (event) { + if (!parentHeight) { + timeboxparent.trigger('resize_scroll.xdsoft_scroller', [percent]); + } + + startY = pointerEventToXY(event).y; + startTopScroll = parseInt(scroller.css('margin-top'), 10); + h1 = scrollbar[0].offsetHeight; + + if (event.type === 'mousedown') { + if (document) { + $(document.body).addClass('xdsoft_noselect'); + } + $([document.body, window]).on('mouseup.xdsoft_scroller', function arguments_callee() { + $([document.body, window]).off('mouseup.xdsoft_scroller', arguments_callee) + .off('mousemove.xdsoft_scroller', calcOffset) + .removeClass('xdsoft_noselect'); + }); + $(document.body).on('mousemove.xdsoft_scroller', calcOffset); + } else { + touchStart = true; + event.stopPropagation(); + event.preventDefault(); + } + }) + .on('touchmove', function (event) { + if (touchStart) { + event.preventDefault(); + calcOffset(event); + } + }) + .on('touchend touchcancel', function (event) { + touchStart = false; + startTopScroll = 0; + }); + + timeboxparent + .on('scroll_element.xdsoft_scroller', function (event, percentage) { + if (!parentHeight) { + timeboxparent.trigger('resize_scroll.xdsoft_scroller', [percentage, true]); + } + percentage = percentage > 1 ? 1 : (percentage < 0 || isNaN(percentage)) ? 0 : percentage; + + scroller.css('margin-top', maximumOffset * percentage); + + setTimeout(function () { + timebox.css('marginTop', -parseInt((timebox[0].offsetHeight - parentHeight) * percentage, 10)); + }, 10); + }) + .on('resize_scroll.xdsoft_scroller', function (event, percentage, noTriggerScroll) { + var percent, sh; + parentHeight = timeboxparent[0].clientHeight; + height = timebox[0].offsetHeight; + percent = parentHeight / height; + sh = percent * scrollbar[0].offsetHeight; + if (percent > 1) { + scroller.hide(); + } else { + scroller.show(); + scroller.css('height', parseInt(sh > 10 ? sh : 10, 10)); + maximumOffset = scrollbar[0].offsetHeight - scroller[0].offsetHeight; + if (noTriggerScroll !== true) { + timeboxparent.trigger('scroll_element.xdsoft_scroller', [percentage || Math.abs(parseInt(timebox.css('marginTop'), 10)) / (height - parentHeight)]); + } + } + }); + + timeboxparent.on('mousewheel', function (event) { + var top = Math.abs(parseInt(timebox.css('marginTop'), 10)); + + top = top - (event.deltaY * 20); + if (top < 0) { + top = 0; + } + + timeboxparent.trigger('scroll_element.xdsoft_scroller', [top / (height - parentHeight)]); + event.stopPropagation(); + return false; + }); + + timeboxparent.on('touchstart', function (event) { + start = pointerEventToXY(event); + startTop = Math.abs(parseInt(timebox.css('marginTop'), 10)); + }); + + timeboxparent.on('touchmove', function (event) { + if (start) { + event.preventDefault(); + var coord = pointerEventToXY(event); + timeboxparent.trigger('scroll_element.xdsoft_scroller', [(startTop - (coord.y - start.y)) / (height - parentHeight)]); + } + }); + + timeboxparent.on('touchend touchcancel', function (event) { + start = false; + startTop = 0; + }); + } + timeboxparent.trigger('resize_scroll.xdsoft_scroller', [percent]); + }); + }; + + $.fn.datetimepicker = function (opt) { + var KEY0 = 48, + KEY9 = 57, + _KEY0 = 96, + _KEY9 = 105, + CTRLKEY = 17, + DEL = 46, + ENTER = 13, + ESC = 27, + BACKSPACE = 8, + ARROWLEFT = 37, + ARROWUP = 38, + ARROWRIGHT = 39, + ARROWDOWN = 40, + TAB = 9, + F5 = 116, + AKEY = 65, + CKEY = 67, + VKEY = 86, + ZKEY = 90, + YKEY = 89, + ctrlDown = false, + options = ($.isPlainObject(opt) || !opt) ? $.extend(true, {}, default_options, opt) : $.extend(true, {}, default_options), + + lazyInitTimer = 0, + createDateTimePicker, + destroyDateTimePicker, + + lazyInit = function (input) { + input + .on('open.xdsoft focusin.xdsoft mousedown.xdsoft', function initOnActionCallback(event) { + if (input.is(':disabled') || input.data('xdsoft_datetimepicker')) { + return; + } + clearTimeout(lazyInitTimer); + lazyInitTimer = setTimeout(function () { + + if (!input.data('xdsoft_datetimepicker')) { + createDateTimePicker(input); + } + input + .off('open.xdsoft focusin.xdsoft mousedown.xdsoft', initOnActionCallback) + .trigger('open.xdsoft'); + }, 100); + }); + }; + + createDateTimePicker = function (input) { + var datetimepicker = $('<div class="xdsoft_datetimepicker xdsoft_noselect"></div>'), + xdsoft_copyright = $('<div class="xdsoft_copyright"><a target="_blank" href="http://xdsoft.net/jqplugins/datetimepicker/">xdsoft.net</a></div>'), + datepicker = $('<div class="xdsoft_datepicker active"></div>'), + mounth_picker = $('<div class="xdsoft_mounthpicker"><button type="button" class="xdsoft_prev"></button><button type="button" class="xdsoft_today_button"></button>' + + '<div class="xdsoft_label xdsoft_month"><span></span><i></i></div>' + + '<div class="xdsoft_label xdsoft_year"><span></span><i></i></div>' + + '<button type="button" class="xdsoft_next"></button></div>'), + calendar = $('<div class="xdsoft_calendar"></div>'), + timepicker = $('<div class="xdsoft_timepicker active"><button type="button" class="xdsoft_prev"></button><div class="xdsoft_time_box"></div><button type="button" class="xdsoft_next"></button></div>'), + timeboxparent = timepicker.find('.xdsoft_time_box').eq(0), + timebox = $('<div class="xdsoft_time_variant"></div>'), + applyButton = $('<button type="button" class="xdsoft_save_selected blue-gradient-button">Save Selected</button>'), + /*scrollbar = $('<div class="xdsoft_scrollbar"></div>'), + scroller = $('<div class="xdsoft_scroller"></div>'),*/ + monthselect = $('<div class="xdsoft_select xdsoft_monthselect"><div></div></div>'), + yearselect = $('<div class="xdsoft_select xdsoft_yearselect"><div></div></div>'), + triggerAfterOpen = false, + XDSoft_datetime, + //scroll_element, + xchangeTimer, + timerclick, + current_time_index, + setPos, + timer = 0, + timer1 = 0, + _xdsoft_datetime; + + if (options.id) { + datetimepicker.attr('id', options.id); + } + if (options.style) { + datetimepicker.attr('style', options.style); + } + if (options.weeks) { + datetimepicker.addClass('xdsoft_showweeks'); + } + + datetimepicker.addClass('xdsoft_' + options.theme); + datetimepicker.addClass(options.className); + + mounth_picker + .find('.xdsoft_month span') + .after(monthselect); + mounth_picker + .find('.xdsoft_year span') + .after(yearselect); + + mounth_picker + .find('.xdsoft_month,.xdsoft_year') + .on('mousedown.xdsoft', function (event) { + var select = $(this).find('.xdsoft_select').eq(0), + val = 0, + top = 0, + visible = select.is(':visible'), + items, + i; + + mounth_picker + .find('.xdsoft_select') + .hide(); + if (_xdsoft_datetime.currentTime) { + val = _xdsoft_datetime.currentTime[$(this).hasClass('xdsoft_month') ? 'getMonth' : 'getFullYear'](); + } + + select[visible ? 'hide' : 'show'](); + for (items = select.find('div.xdsoft_option'), i = 0; i < items.length; i += 1) { + if (items.eq(i).data('value') === val) { + break; + } else { + top += items[0].offsetHeight; + } + } + + select.xdsoftScroller(top / (select.children()[0].offsetHeight - (select[0].clientHeight))); + event.stopPropagation(); + return false; + }); + + mounth_picker + .find('.xdsoft_select') + .xdsoftScroller() + .on('mousedown.xdsoft', function (event) { + event.stopPropagation(); + event.preventDefault(); + }) + .on('mousedown.xdsoft', '.xdsoft_option', function (event) { + + if (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) { + _xdsoft_datetime.currentTime = _xdsoft_datetime.now(); + } + + var year = _xdsoft_datetime.currentTime.getFullYear(); + if (_xdsoft_datetime && _xdsoft_datetime.currentTime) { + _xdsoft_datetime.currentTime[$(this).parent().parent().hasClass('xdsoft_monthselect') ? 'setMonth' : 'setFullYear']($(this).data('value')); + } + + $(this).parent().parent().hide(); + + datetimepicker.trigger('xchange.xdsoft'); + if (options.onChangeMonth && $.isFunction(options.onChangeMonth)) { + options.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); + } + + if (year !== _xdsoft_datetime.currentTime.getFullYear() && $.isFunction(options.onChangeYear)) { + options.onChangeYear.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); + } + }); + + datetimepicker.setOptions = function (_options) { + var highlightedDates = {}, + getCaretPos = function (input) { + try { + if (document.selection && document.selection.createRange) { + var range = document.selection.createRange(); + return range.getBookmark().charCodeAt(2) - 2; + } + if (input.setSelectionRange) { + return input.selectionStart; + } + } catch (e) { + return 0; + } + }, + setCaretPos = function (node, pos) { + node = (typeof node === "string" || node instanceof String) ? document.getElementById(node) : node; + if (!node) { + return false; + } + if (node.createTextRange) { + var textRange = node.createTextRange(); + textRange.collapse(true); + textRange.moveEnd('character', pos); + textRange.moveStart('character', pos); + textRange.select(); + return true; + } + if (node.setSelectionRange) { + node.setSelectionRange(pos, pos); + return true; + } + return false; + }, + isValidValue = function (mask, value) { + var reg = mask + .replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g, '\\$1') + .replace(/_/g, '{digit+}') + .replace(/([0-9]{1})/g, '{digit$1}') + .replace(/\{digit([0-9]{1})\}/g, '[0-$1_]{1}') + .replace(/\{digit[\+]\}/g, '[0-9_]{1}'); + return (new RegExp(reg)).test(value); + }; + options = $.extend(true, {}, options, _options); + + if (_options.allowTimes && $.isArray(_options.allowTimes) && _options.allowTimes.length) { + options.allowTimes = $.extend(true, [], _options.allowTimes); + } + + if (_options.weekends && $.isArray(_options.weekends) && _options.weekends.length) { + options.weekends = $.extend(true, [], _options.weekends); + } + + if (_options.highlightedDates && $.isArray(_options.highlightedDates) && _options.highlightedDates.length) { + $.each(_options.highlightedDates, function (index, value) { + var splitData = $.map(value.split(','), $.trim), + exDesc, + hDate = new HighlightedDate(Date.parseDate(splitData[0], options.formatDate), splitData[1], splitData[2]), // date, desc, style + keyDate = hDate.date.dateFormat(options.formatDate); + if (highlightedDates[keyDate] !== undefined) { + exDesc = highlightedDates[keyDate].desc; + if (exDesc && exDesc.length && hDate.desc && hDate.desc.length) { + highlightedDates[keyDate].desc = exDesc + "\n" + hDate.desc; + } + } else { + highlightedDates[keyDate] = hDate; + } + }); + + options.highlightedDates = $.extend(true, [], highlightedDates); + } + + if (_options.highlightedPeriods && $.isArray(_options.highlightedPeriods) && _options.highlightedPeriods.length) { + highlightedDates = $.extend(true, [], options.highlightedDates); + $.each(_options.highlightedPeriods, function (index, value) { + var splitData = $.map(value.split(','), $.trim), + dateTest = Date.parseDate(splitData[0], options.formatDate), // start date + dateEnd = Date.parseDate(splitData[1], options.formatDate), + desc = splitData[2], + hDate, + keyDate, + exDesc, + style = splitData[3]; + + while (dateTest <= dateEnd) { + hDate = new HighlightedDate(dateTest, desc, style); + keyDate = dateTest.dateFormat(options.formatDate); + dateTest.setDate(dateTest.getDate() + 1); + if (highlightedDates[keyDate] !== undefined) { + exDesc = highlightedDates[keyDate].desc; + if (exDesc && exDesc.length && hDate.desc && hDate.desc.length) { + highlightedDates[keyDate].desc = exDesc + "\n" + hDate.desc; + } + } else { + highlightedDates[keyDate] = hDate; + } + } + }); + + options.highlightedDates = $.extend(true, [], highlightedDates); + } + + if (_options.disabledDates && $.isArray(_options.disabledDates) && _options.disabledDates.length) { + options.disabledDates = $.extend(true, [], _options.disabledDates); + } + + if (_options.disabledWeekDays && $.isArray(_options.disabledWeekDays) && _options.disabledWeekDays.length) { + options.disabledWeekDays = $.extend(true, [], _options.disabledWeekDays); + } + + if ((options.open || options.opened) && (!options.inline)) { + input.trigger('open.xdsoft'); + } + + if (options.inline) { + triggerAfterOpen = true; + datetimepicker.addClass('xdsoft_inline'); + input.after(datetimepicker).hide(); + } + + if (options.inverseButton) { + options.next = 'xdsoft_prev'; + options.prev = 'xdsoft_next'; + } + + if (options.datepicker) { + datepicker.addClass('active'); + } else { + datepicker.removeClass('active'); + } + + if (options.timepicker) { + timepicker.addClass('active'); + } else { + timepicker.removeClass('active'); + } + + if (options.value) { + _xdsoft_datetime.setCurrentTime(options.value); + if (input && input.val) { + input.val(_xdsoft_datetime.str); + } + } + + if (isNaN(options.dayOfWeekStart)) { + options.dayOfWeekStart = 0; + } else { + options.dayOfWeekStart = parseInt(options.dayOfWeekStart, 10) % 7; + } + + if (!options.timepickerScrollbar) { + timeboxparent.xdsoftScroller('hide'); + } + + if (options.minDate && /^-(.*)$/.test(options.minDate)) { + options.minDate = _xdsoft_datetime.strToDateTime(options.minDate).dateFormat(options.formatDate); + } + + if (options.maxDate && /^\+(.*)$/.test(options.maxDate)) { + options.maxDate = _xdsoft_datetime.strToDateTime(options.maxDate).dateFormat(options.formatDate); + } + + applyButton.toggle(options.showApplyButton); + + mounth_picker + .find('.xdsoft_today_button') + .css('visibility', !options.todayButton ? 'hidden' : 'visible'); + + mounth_picker + .find('.' + options.prev) + .css('visibility', !options.prevButton ? 'hidden' : 'visible'); + + mounth_picker + .find('.' + options.next) + .css('visibility', !options.nextButton ? 'hidden' : 'visible'); + + if (options.mask) { + input.off('keydown.xdsoft'); + + if (options.mask === true) { + options.mask = options.format + .replace(/Y/g, '9999') + .replace(/F/g, '9999') + .replace(/m/g, '19') + .replace(/d/g, '39') + .replace(/H/g, '29') + .replace(/i/g, '59') + .replace(/s/g, '59'); + } + + if ($.type(options.mask) === 'string') { + if (!isValidValue(options.mask, input.val())) { + input.val(options.mask.replace(/[0-9]/g, '_')); + } + + input.on('keydown.xdsoft', function (event) { + var val = this.value, + key = event.which, + pos, + digit; + + if (((key >= KEY0 && key <= KEY9) || (key >= _KEY0 && key <= _KEY9)) || (key === BACKSPACE || key === DEL)) { + pos = getCaretPos(this); + digit = (key !== BACKSPACE && key !== DEL) ? String.fromCharCode((_KEY0 <= key && key <= _KEY9) ? key - KEY0 : key) : '_'; + + if ((key === BACKSPACE || key === DEL) && pos) { + pos -= 1; + digit = '_'; + } + + while (/[^0-9_]/.test(options.mask.substr(pos, 1)) && pos < options.mask.length && pos > 0) { + pos += (key === BACKSPACE || key === DEL) ? -1 : 1; + } + + val = val.substr(0, pos) + digit + val.substr(pos + 1); + if ($.trim(val) === '') { + val = options.mask.replace(/[0-9]/g, '_'); + } else { + if (pos === options.mask.length) { + event.preventDefault(); + return false; + } + } + + pos += (key === BACKSPACE || key === DEL) ? 0 : 1; + while (/[^0-9_]/.test(options.mask.substr(pos, 1)) && pos < options.mask.length && pos > 0) { + pos += (key === BACKSPACE || key === DEL) ? -1 : 1; + } + + if (isValidValue(options.mask, val)) { + this.value = val; + setCaretPos(this, pos); + } else if ($.trim(val) === '') { + this.value = options.mask.replace(/[0-9]/g, '_'); + } else { + input.trigger('error_input.xdsoft'); + } + } else { + if (([AKEY, CKEY, VKEY, ZKEY, YKEY].indexOf(key) !== -1 && ctrlDown) || [ESC, ARROWUP, ARROWDOWN, ARROWLEFT, ARROWRIGHT, F5, CTRLKEY, TAB, ENTER].indexOf(key) !== -1) { + return true; + } + } + + event.preventDefault(); + return false; + }); + } + } + if (options.validateOnBlur) { + input + .off('blur.xdsoft') + .on('blur.xdsoft', function () { + if (options.allowBlank && !$.trim($(this).val()).length) { + $(this).val(null); + datetimepicker.data('xdsoft_datetime').empty(); + } else if (!Date.parseDate($(this).val(), options.format)) { + var splittedHours = +([$(this).val()[0], $(this).val()[1]].join('')), + splittedMinutes = +([$(this).val()[2], $(this).val()[3]].join('')); + + // parse the numbers as 0312 => 03:12 + if (!options.datepicker && options.timepicker && splittedHours >= 0 && splittedHours < 24 && splittedMinutes >= 0 && splittedMinutes < 60) { + $(this).val([splittedHours, splittedMinutes].map(function (item) { + return item > 9 ? item : '0' + item; + }).join(':')); + } else { + $(this).val((_xdsoft_datetime.now()).dateFormat(options.format)); + } + + datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val()); + } else { + datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val()); + } + + datetimepicker.trigger('changedatetime.xdsoft'); + }); + } + options.dayOfWeekStartPrev = (options.dayOfWeekStart === 0) ? 6 : options.dayOfWeekStart - 1; + + datetimepicker + .trigger('xchange.xdsoft') + .trigger('afterOpen.xdsoft'); + }; + + datetimepicker + .data('options', options) + .on('mousedown.xdsoft', function (event) { + event.stopPropagation(); + event.preventDefault(); + yearselect.hide(); + monthselect.hide(); + return false; + }); + + //scroll_element = timepicker.find('.xdsoft_time_box'); + timeboxparent.append(timebox); + timeboxparent.xdsoftScroller(); + + datetimepicker.on('afterOpen.xdsoft', function () { + timeboxparent.xdsoftScroller(); + }); + + datetimepicker + .append(datepicker) + .append(timepicker); + + if (options.withoutCopyright !== true) { + datetimepicker + .append(xdsoft_copyright); + } + + datepicker + .append(mounth_picker) + .append(calendar) + .append(applyButton); + + $(options.parentID) + .append(datetimepicker); + + XDSoft_datetime = function () { + var _this = this; + _this.now = function (norecursion) { + var d = new Date(), + date, + time; + + if (!norecursion && options.defaultDate) { + date = _this.strToDateTime(options.defaultDate); + d.setFullYear(date.getFullYear()); + d.setMonth(date.getMonth()); + d.setDate(date.getDate()); + } + + if (options.yearOffset) { + d.setFullYear(d.getFullYear() + options.yearOffset); + } + + if (!norecursion && options.defaultTime) { + time = _this.strtotime(options.defaultTime); + d.setHours(time.getHours()); + d.setMinutes(time.getMinutes()); + } + return d; + }; + + _this.isValidDate = function (d) { + if (Object.prototype.toString.call(d) !== "[object Date]") { + return false; + } + return !isNaN(d.getTime()); + }; + + _this.setCurrentTime = function (dTime) { + _this.currentTime = (typeof dTime === 'string') ? _this.strToDateTime(dTime) : _this.isValidDate(dTime) ? dTime : _this.now(); + datetimepicker.trigger('xchange.xdsoft'); + }; + + _this.empty = function () { + _this.currentTime = null; + }; + + _this.getCurrentTime = function (dTime) { + return _this.currentTime; + }; + + _this.nextMonth = function () { + + if (_this.currentTime === undefined || _this.currentTime === null) { + _this.currentTime = _this.now(); + } + + var month = _this.currentTime.getMonth() + 1, + year; + if (month === 12) { + _this.currentTime.setFullYear(_this.currentTime.getFullYear() + 1); + month = 0; + } + + year = _this.currentTime.getFullYear(); + + _this.currentTime.setDate( + Math.min( + new Date(_this.currentTime.getFullYear(), month + 1, 0).getDate(), + _this.currentTime.getDate() + ) + ); + _this.currentTime.setMonth(month); + + if (options.onChangeMonth && $.isFunction(options.onChangeMonth)) { + options.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); + } + + if (year !== _this.currentTime.getFullYear() && $.isFunction(options.onChangeYear)) { + options.onChangeYear.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); + } + + datetimepicker.trigger('xchange.xdsoft'); + return month; + }; + + _this.prevMonth = function () { + + if (_this.currentTime === undefined || _this.currentTime === null) { + _this.currentTime = _this.now(); + } + + var month = _this.currentTime.getMonth() - 1; + if (month === -1) { + _this.currentTime.setFullYear(_this.currentTime.getFullYear() - 1); + month = 11; + } + _this.currentTime.setDate( + Math.min( + new Date(_this.currentTime.getFullYear(), month + 1, 0).getDate(), + _this.currentTime.getDate() + ) + ); + _this.currentTime.setMonth(month); + if (options.onChangeMonth && $.isFunction(options.onChangeMonth)) { + options.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); + } + datetimepicker.trigger('xchange.xdsoft'); + return month; + }; + + _this.getWeekOfYear = function (datetime) { + var onejan = new Date(datetime.getFullYear(), 0, 1); + return Math.ceil((((datetime - onejan) / 86400000) + onejan.getDay() + 1) / 7); + }; + + _this.strToDateTime = function (sDateTime) { + var tmpDate = [], timeOffset, currentTime; + + if (sDateTime && sDateTime instanceof Date && _this.isValidDate(sDateTime)) { + return sDateTime; + } + + tmpDate = /^(\+|\-)(.*)$/.exec(sDateTime); + if (tmpDate) { + tmpDate[2] = Date.parseDate(tmpDate[2], options.formatDate); + } + if (tmpDate && tmpDate[2]) { + timeOffset = tmpDate[2].getTime() - (tmpDate[2].getTimezoneOffset()) * 60000; + currentTime = new Date((_this.now(true)).getTime() + parseInt(tmpDate[1] + '1', 10) * timeOffset); + } else { + currentTime = sDateTime ? Date.parseDate(sDateTime, options.format) : _this.now(); + } + + if (!_this.isValidDate(currentTime)) { + currentTime = _this.now(); + } + + return currentTime; + }; + + _this.strToDate = function (sDate) { + if (sDate && sDate instanceof Date && _this.isValidDate(sDate)) { + return sDate; + } + + var currentTime = sDate ? Date.parseDate(sDate, options.formatDate) : _this.now(true); + if (!_this.isValidDate(currentTime)) { + currentTime = _this.now(true); + } + return currentTime; + }; + + _this.strtotime = function (sTime) { + if (sTime && sTime instanceof Date && _this.isValidDate(sTime)) { + return sTime; + } + var currentTime = sTime ? Date.parseDate(sTime, options.formatTime) : _this.now(true); + if (!_this.isValidDate(currentTime)) { + currentTime = _this.now(true); + } + return currentTime; + }; + + _this.str = function () { + return _this.currentTime.dateFormat(options.format); + }; + _this.currentTime = this.now(); + }; + + _xdsoft_datetime = new XDSoft_datetime(); + + applyButton.on('click', function (e) {//pathbrite + e.preventDefault(); + datetimepicker.data('changed', true); + _xdsoft_datetime.setCurrentTime(getCurrentValue()); + input.val(_xdsoft_datetime.str()); + datetimepicker.trigger('close.xdsoft'); + }); + mounth_picker + .find('.xdsoft_today_button') + .on('mousedown.xdsoft', function () { + datetimepicker.data('changed', true); + _xdsoft_datetime.setCurrentTime(0); + datetimepicker.trigger('afterOpen.xdsoft'); + }).on('dblclick.xdsoft', function () { + var currentDate = _xdsoft_datetime.getCurrentTime(), minDate, maxDate; + currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()); + minDate = _xdsoft_datetime.strToDate(options.minDate); + minDate = new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate()); + if (currentDate < minDate) { + return; + } + maxDate = _xdsoft_datetime.strToDate(options.maxDate); + maxDate = new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate()); + if (currentDate > maxDate) { + return; + } + input.val(_xdsoft_datetime.str()); + datetimepicker.trigger('close.xdsoft'); + }); + mounth_picker + .find('.xdsoft_prev,.xdsoft_next') + .on('mousedown.xdsoft', function () { + var $this = $(this), + timer = 0, + stop = false; + + (function arguments_callee1(v) { + if ($this.hasClass(options.next)) { + _xdsoft_datetime.nextMonth(); + } else if ($this.hasClass(options.prev)) { + _xdsoft_datetime.prevMonth(); + } + if (options.monthChangeSpinner) { + if (!stop) { + timer = setTimeout(arguments_callee1, v || 100); + } + } + }(500)); + + $([document.body, window]).on('mouseup.xdsoft', function arguments_callee2() { + clearTimeout(timer); + stop = true; + $([document.body, window]).off('mouseup.xdsoft', arguments_callee2); + }); + }); + + timepicker + .find('.xdsoft_prev,.xdsoft_next') + .on('mousedown.xdsoft', function () { + var $this = $(this), + timer = 0, + stop = false, + period = 110; + (function arguments_callee4(v) { + var pheight = timeboxparent[0].clientHeight, + height = timebox[0].offsetHeight, + top = Math.abs(parseInt(timebox.css('marginTop'), 10)); + if ($this.hasClass(options.next) && (height - pheight) - options.timeHeightInTimePicker >= top) { + timebox.css('marginTop', '-' + (top + options.timeHeightInTimePicker) + 'px'); + } else if ($this.hasClass(options.prev) && top - options.timeHeightInTimePicker >= 0) { + timebox.css('marginTop', '-' + (top - options.timeHeightInTimePicker) + 'px'); + } + timeboxparent.trigger('scroll_element.xdsoft_scroller', [Math.abs(parseInt(timebox.css('marginTop'), 10) / (height - pheight))]); + period = (period > 10) ? 10 : period - 10; + if (!stop) { + timer = setTimeout(arguments_callee4, v || period); + } + }(500)); + $([document.body, window]).on('mouseup.xdsoft', function arguments_callee5() { + clearTimeout(timer); + stop = true; + $([document.body, window]) + .off('mouseup.xdsoft', arguments_callee5); + }); + }); + + xchangeTimer = 0; + // base handler - generating a calendar and timepicker + datetimepicker + .on('xchange.xdsoft', function (event) { + clearTimeout(xchangeTimer); + xchangeTimer = setTimeout(function () { + + if (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) { + _xdsoft_datetime.currentTime = _xdsoft_datetime.now(); + } + + var table = '', + start = new Date(_xdsoft_datetime.currentTime.getFullYear(), _xdsoft_datetime.currentTime.getMonth(), 1, 12, 0, 0), + i = 0, + j, + today = _xdsoft_datetime.now(), + maxDate = false, + minDate = false, + hDate, + day, + d, + y, + m, + w, + classes = [], + customDateSettings, + newRow = true, + time = '', + h = '', + line_time, + description; + + while (start.getDay() !== options.dayOfWeekStart) { + start.setDate(start.getDate() - 1); + } + + table += '<table><thead><tr>'; + + if (options.weeks) { + table += '<th></th>'; + } + + for (j = 0; j < 7; j += 1) { + table += '<th>' + options.i18n[options.lang].dayOfWeek[(j + options.dayOfWeekStart) % 7] + '</th>'; + } + + table += '</tr></thead>'; + table += '<tbody>'; + + if (options.maxDate !== false) { + maxDate = _xdsoft_datetime.strToDate(options.maxDate); + maxDate = new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate(), 23, 59, 59, 999); + } + + if (options.minDate !== false) { + minDate = _xdsoft_datetime.strToDate(options.minDate); + minDate = new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate()); + } + + while (i < _xdsoft_datetime.currentTime.countDaysInMonth() || start.getDay() !== options.dayOfWeekStart || _xdsoft_datetime.currentTime.getMonth() === start.getMonth()) { + classes = []; + i += 1; + + day = start.getDay(); + d = start.getDate(); + y = start.getFullYear(); + m = start.getMonth(); + w = _xdsoft_datetime.getWeekOfYear(start); + description = ''; + + classes.push('xdsoft_date'); + + if (options.beforeShowDay && $.isFunction(options.beforeShowDay.call)) { + customDateSettings = options.beforeShowDay.call(datetimepicker, start); + } else { + customDateSettings = null; + } + + if ((maxDate !== false && start > maxDate) || (minDate !== false && start < minDate) || (customDateSettings && customDateSettings[0] === false)) { + classes.push('xdsoft_disabled'); + } else if (options.disabledDates.indexOf(start.dateFormat(options.formatDate)) !== -1) { + classes.push('xdsoft_disabled'); + } else if (options.disabledWeekDays.indexOf(day) !== -1) { + classes.push('xdsoft_disabled'); + } + + if (customDateSettings && customDateSettings[1] !== "") { + classes.push(customDateSettings[1]); + } + + if (_xdsoft_datetime.currentTime.getMonth() !== m) { + classes.push('xdsoft_other_month'); + } + + if ((options.defaultSelect || datetimepicker.data('changed')) && _xdsoft_datetime.currentTime.dateFormat(options.formatDate) === start.dateFormat(options.formatDate)) { + classes.push('xdsoft_current'); + } + + if (today.dateFormat(options.formatDate) === start.dateFormat(options.formatDate)) { + classes.push('xdsoft_today'); + } + + if (start.getDay() === 0 || start.getDay() === 6 || options.weekends.indexOf(start.dateFormat(options.formatDate)) !== -1) { + classes.push('xdsoft_weekend'); + } + + if (options.highlightedDates[start.dateFormat(options.formatDate)] !== undefined) { + hDate = options.highlightedDates[start.dateFormat(options.formatDate)]; + classes.push(hDate.style === undefined ? 'xdsoft_highlighted_default' : hDate.style); + description = hDate.desc === undefined ? '' : hDate.desc; + } + + if (options.beforeShowDay && $.isFunction(options.beforeShowDay)) { + classes.push(options.beforeShowDay(start)); + } + + if (newRow) { + table += '<tr>'; + newRow = false; + if (options.weeks) { + table += '<th>' + w + '</th>'; + } + } + + table += '<td data-date="' + d + '" data-month="' + m + '" data-year="' + y + '"' + ' class="xdsoft_date xdsoft_day_of_week' + start.getDay() + ' ' + classes.join(' ') + '" title="' + description + '">' + + '<div>' + d + '</div>' + + '</td>'; + + if (start.getDay() === options.dayOfWeekStartPrev) { + table += '</tr>'; + newRow = true; + } + + start.setDate(d + 1); + } + table += '</tbody></table>'; + + calendar.html(table); + + mounth_picker.find('.xdsoft_label span').eq(0).text(options.i18n[options.lang].months[_xdsoft_datetime.currentTime.getMonth()]); + mounth_picker.find('.xdsoft_label span').eq(1).text(_xdsoft_datetime.currentTime.getFullYear()); + + // generate timebox + time = ''; + h = ''; + m = ''; + line_time = function line_time(h, m) { + var now = _xdsoft_datetime.now(), optionDateTime, current_time; + now.setHours(h); + h = parseInt(now.getHours(), 10); + now.setMinutes(m); + m = parseInt(now.getMinutes(), 10); + optionDateTime = new Date(_xdsoft_datetime.currentTime); + optionDateTime.setHours(h); + optionDateTime.setMinutes(m); + classes = []; + if ((options.minDateTime !== false && options.minDateTime > optionDateTime) || (options.maxTime !== false && _xdsoft_datetime.strtotime(options.maxTime).getTime() < now.getTime()) || (options.minTime !== false && _xdsoft_datetime.strtotime(options.minTime).getTime() > now.getTime())) { + classes.push('xdsoft_disabled'); + } + if ((options.minDateTime !== false && options.minDateTime > optionDateTime) || ((options.disabledMinTime !== false && now.getTime() > _xdsoft_datetime.strtotime(options.disabledMinTime).getTime()) && (options.disabledMaxTime !== false && now.getTime() < _xdsoft_datetime.strtotime(options.disabledMaxTime).getTime()))) { + classes.push('xdsoft_disabled'); + } + + current_time = new Date(_xdsoft_datetime.currentTime); + current_time.setHours(parseInt(_xdsoft_datetime.currentTime.getHours(), 10)); + current_time.setMinutes(Math[options.roundTime](_xdsoft_datetime.currentTime.getMinutes() / options.step) * options.step); + + if ((options.initTime || options.defaultSelect || datetimepicker.data('changed')) && current_time.getHours() === parseInt(h, 10) && (options.step > 59 || current_time.getMinutes() === parseInt(m, 10))) { + if (options.defaultSelect || datetimepicker.data('changed')) { + classes.push('xdsoft_current'); + } else if (options.initTime) { + classes.push('xdsoft_init_time'); + } + } + if (parseInt(today.getHours(), 10) === parseInt(h, 10) && parseInt(today.getMinutes(), 10) === parseInt(m, 10)) { + classes.push('xdsoft_today'); + } + time += '<div class="xdsoft_time ' + classes.join(' ') + '" data-hour="' + h + '" data-minute="' + m + '">' + now.dateFormat(options.formatTime) + '</div>'; + }; + + if (!options.allowTimes || !$.isArray(options.allowTimes) || !options.allowTimes.length) { + for (i = 0, j = 0; i < (options.hours12 ? 12 : 24); i += 1) { + for (j = 0; j < 60; j += options.step) { + h = (i < 10 ? '0' : '') + i; + m = (j < 10 ? '0' : '') + j; + line_time(h, m); + } + } + } else { + for (i = 0; i < options.allowTimes.length; i += 1) { + h = _xdsoft_datetime.strtotime(options.allowTimes[i]).getHours(); + m = _xdsoft_datetime.strtotime(options.allowTimes[i]).getMinutes(); + line_time(h, m); + } + } + + timebox.html(time); + + opt = ''; + i = 0; + + for (i = parseInt(options.yearStart, 10) + options.yearOffset; i <= parseInt(options.yearEnd, 10) + options.yearOffset; i += 1) { + opt += '<div class="xdsoft_option ' + (_xdsoft_datetime.currentTime.getFullYear() === i ? 'xdsoft_current' : '') + '" data-value="' + i + '">' + i + '</div>'; + } + yearselect.children().eq(0) + .html(opt); + + for (i = parseInt(options.monthStart, 10), opt = ''; i <= parseInt(options.monthEnd, 10); i += 1) { + opt += '<div class="xdsoft_option ' + (_xdsoft_datetime.currentTime.getMonth() === i ? 'xdsoft_current' : '') + '" data-value="' + i + '">' + options.i18n[options.lang].months[i] + '</div>'; + } + monthselect.children().eq(0).html(opt); + $(datetimepicker) + .trigger('generate.xdsoft'); + }, 10); + event.stopPropagation(); + }) + .on('afterOpen.xdsoft', function () { + if (options.timepicker) { + var classType, pheight, height, top; + if (timebox.find('.xdsoft_current').length) { + classType = '.xdsoft_current'; + } else if (timebox.find('.xdsoft_init_time').length) { + classType = '.xdsoft_init_time'; + } + if (classType) { + pheight = timeboxparent[0].clientHeight; + height = timebox[0].offsetHeight; + top = timebox.find(classType).index() * options.timeHeightInTimePicker + 1; + if ((height - pheight) < top) { + top = height - pheight; + } + timeboxparent.trigger('scroll_element.xdsoft_scroller', [parseInt(top, 10) / (height - pheight)]); + } else { + timeboxparent.trigger('scroll_element.xdsoft_scroller', [0]); + } + } + }); + + timerclick = 0; + calendar + .on('click.xdsoft', 'td', function (xdevent) { + xdevent.stopPropagation(); // Prevents closing of Pop-ups, Modals and Flyouts in Bootstrap + timerclick += 1; + var $this = $(this), + currentTime = _xdsoft_datetime.currentTime; + + if (currentTime === undefined || currentTime === null) { + _xdsoft_datetime.currentTime = _xdsoft_datetime.now(); + currentTime = _xdsoft_datetime.currentTime; + } + + if ($this.hasClass('xdsoft_disabled')) { + return false; + } + + currentTime.setDate(1); + currentTime.setFullYear($this.data('year')); + currentTime.setMonth($this.data('month')); + currentTime.setDate($this.data('date')); + + datetimepicker.trigger('select.xdsoft', [currentTime]); + + input.val(_xdsoft_datetime.str()); + if ((timerclick > 1 || (options.closeOnDateSelect === true || (options.closeOnDateSelect === false && !options.timepicker))) && !options.inline) { + datetimepicker.trigger('close.xdsoft'); + } + + if (options.onSelectDate && $.isFunction(options.onSelectDate)) { + options.onSelectDate.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), xdevent); + } + + datetimepicker.data('changed', true); + datetimepicker.trigger('xchange.xdsoft'); + datetimepicker.trigger('changedatetime.xdsoft'); + setTimeout(function () { + timerclick = 0; + }, 200); + }); + + timebox + .on('click.xdsoft', 'div', function (xdevent) { + xdevent.stopPropagation(); + var $this = $(this), + currentTime = _xdsoft_datetime.currentTime; + + if (currentTime === undefined || currentTime === null) { + _xdsoft_datetime.currentTime = _xdsoft_datetime.now(); + currentTime = _xdsoft_datetime.currentTime; + } + + if ($this.hasClass('xdsoft_disabled')) { + return false; + } + currentTime.setHours($this.data('hour')); + currentTime.setMinutes($this.data('minute')); + datetimepicker.trigger('select.xdsoft', [currentTime]); + + datetimepicker.data('input').val(_xdsoft_datetime.str()); + + if (options.inline !== true && options.closeOnTimeSelect === true) { + datetimepicker.trigger('close.xdsoft'); + } + + if (options.onSelectTime && $.isFunction(options.onSelectTime)) { + options.onSelectTime.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), xdevent); + } + datetimepicker.data('changed', true); + datetimepicker.trigger('xchange.xdsoft'); + datetimepicker.trigger('changedatetime.xdsoft'); + }); + + + datepicker + .on('mousewheel.xdsoft', function (event) { + if (!options.scrollMonth) { + return true; + } + if (event.deltaY < 0) { + _xdsoft_datetime.nextMonth(); + } else { + _xdsoft_datetime.prevMonth(); + } + return false; + }); + + input + .on('mousewheel.xdsoft', function (event) { + if (!options.scrollInput) { + return true; + } + if (!options.datepicker && options.timepicker) { + current_time_index = timebox.find('.xdsoft_current').length ? timebox.find('.xdsoft_current').eq(0).index() : 0; + if (current_time_index + event.deltaY >= 0 && current_time_index + event.deltaY < timebox.children().length) { + current_time_index += event.deltaY; + } + if (timebox.children().eq(current_time_index).length) { + timebox.children().eq(current_time_index).trigger('mousedown'); + } + return false; + } + if (options.datepicker && !options.timepicker) { + datepicker.trigger(event, [event.deltaY, event.deltaX, event.deltaY]); + if (input.val) { + input.val(_xdsoft_datetime.str()); + } + datetimepicker.trigger('changedatetime.xdsoft'); + return false; + } + }); + + datetimepicker + .on('changedatetime.xdsoft', function (event) { + if (options.onChangeDateTime && $.isFunction(options.onChangeDateTime)) { + var $input = datetimepicker.data('input'); + options.onChangeDateTime.call(datetimepicker, _xdsoft_datetime.currentTime, $input, event); + delete options.value; + $input.trigger('change'); + } + }) + .on('generate.xdsoft', function () { + if (options.onGenerate && $.isFunction(options.onGenerate)) { + options.onGenerate.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); + } + if (triggerAfterOpen) { + datetimepicker.trigger('afterOpen.xdsoft'); + triggerAfterOpen = false; + } + }) + .on('click.xdsoft', function (xdevent) { + xdevent.stopPropagation(); + }); + + current_time_index = 0; + + setPos = function () { + var offset = datetimepicker.data('input').offset(), top = offset.top + datetimepicker.data('input')[0].offsetHeight - 1, left = offset.left, position = "absolute", node; + if (options.fixed) { + top -= $(window).scrollTop(); + left -= $(window).scrollLeft(); + position = "fixed"; + } else { + if (top + datetimepicker[0].offsetHeight > $(window).height() + $(window).scrollTop()) { + top = offset.top - datetimepicker[0].offsetHeight + 1; + } + if (top < 0) { + top = 0; + } + if (left + datetimepicker[0].offsetWidth > $(window).width()) { + left = $(window).width() - datetimepicker[0].offsetWidth; + } + } + + node = datetimepicker[0]; + do { + node = node.parentNode; + if (window.getComputedStyle(node).getPropertyValue('position') === 'relative' && $(window).width() >= node.offsetWidth) { + left = left - (($(window).width() - node.offsetWidth) / 2); + break; + } + } while (node.nodeName !== 'HTML'); + datetimepicker.css({ + left: left, + top: top, + position: position + }); + }; + datetimepicker + .on('open.xdsoft', function (event) { + var onShow = true; + if (options.onShow && $.isFunction(options.onShow)) { + onShow = options.onShow.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), event); + } + if (onShow !== false) { + datetimepicker.show(); + setPos(); + $(window) + .off('resize.xdsoft', setPos) + .on('resize.xdsoft', setPos); + + if (options.closeOnWithoutClick) { + $([document.body, window]).on('mousedown.xdsoft', function arguments_callee6() { + datetimepicker.trigger('close.xdsoft'); + $([document.body, window]).off('mousedown.xdsoft', arguments_callee6); + }); + } + } + }) + .on('close.xdsoft', function (event) { + var onClose = true; + mounth_picker + .find('.xdsoft_month,.xdsoft_year') + .find('.xdsoft_select') + .hide(); + if (options.onClose && $.isFunction(options.onClose)) { + onClose = options.onClose.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), event); + } + if (onClose !== false && !options.opened && !options.inline) { + datetimepicker.hide(); + } + event.stopPropagation(); + }) + .on('toggle.xdsoft', function (event) { + if (datetimepicker.is(':visible')) { + datetimepicker.trigger('close.xdsoft'); + } else { + datetimepicker.trigger('open.xdsoft'); + } + }) + .data('input', input); + + timer = 0; + timer1 = 0; + + datetimepicker.data('xdsoft_datetime', _xdsoft_datetime); + datetimepicker.setOptions(options); + + function getCurrentValue() { + var ct = false, time; + + if (options.startDate) { + ct = _xdsoft_datetime.strToDate(options.startDate); + } else { + ct = options.value || ((input && input.val && input.val()) ? input.val() : ''); + if (ct) { + ct = _xdsoft_datetime.strToDateTime(ct); + } else if (options.defaultDate) { + ct = _xdsoft_datetime.strToDateTime(options.defaultDate); + if (options.defaultTime) { + time = _xdsoft_datetime.strtotime(options.defaultTime); + ct.setHours(time.getHours()); + ct.setMinutes(time.getMinutes()); + } + } + } + + if (ct && _xdsoft_datetime.isValidDate(ct)) { + datetimepicker.data('changed', true); + } else { + ct = ''; + } + + return ct || 0; + } + + _xdsoft_datetime.setCurrentTime(getCurrentValue()); + + input + .data('xdsoft_datetimepicker', datetimepicker) + .on('open.xdsoft focusin.xdsoft mousedown.xdsoft', function (event) { + if (input.is(':disabled') || (input.data('xdsoft_datetimepicker').is(':visible') && options.closeOnInputClick)) { + return; + } + clearTimeout(timer); + timer = setTimeout(function () { + if (input.is(':disabled')) { + return; + } + + triggerAfterOpen = true; + _xdsoft_datetime.setCurrentTime(getCurrentValue()); + + datetimepicker.trigger('open.xdsoft'); + }, 100); + }) + .on('keydown.xdsoft', function (event) { + var val = this.value, elementSelector, + key = event.which; + if ([ENTER].indexOf(key) !== -1 && options.enterLikeTab) { + elementSelector = $("input:visible,textarea:visible"); + datetimepicker.trigger('close.xdsoft'); + elementSelector.eq(elementSelector.index(this) + 1).focus(); + return false; + } + if ([TAB].indexOf(key) !== -1) { + datetimepicker.trigger('close.xdsoft'); + return true; + } + }); + }; + destroyDateTimePicker = function (input) { + var datetimepicker = input.data('xdsoft_datetimepicker'); + if (datetimepicker) { + datetimepicker.data('xdsoft_datetime', null); + datetimepicker.remove(); + input + .data('xdsoft_datetimepicker', null) + .off('.xdsoft'); + $(window).off('resize.xdsoft'); + $([window, document.body]).off('mousedown.xdsoft'); + if (input.unmousewheel) { + input.unmousewheel(); + } + } + }; + $(document) + .off('keydown.xdsoftctrl keyup.xdsoftctrl') + .on('keydown.xdsoftctrl', function (e) { + if (e.keyCode === CTRLKEY) { + ctrlDown = true; + } + }) + .on('keyup.xdsoftctrl', function (e) { + if (e.keyCode === CTRLKEY) { + ctrlDown = false; + } + }); + return this.each(function () { + var datetimepicker = $(this).data('xdsoft_datetimepicker'), $input; + if (datetimepicker) { + if ($.type(opt) === 'string') { + switch (opt) { + case 'show': + $(this).select().focus(); + datetimepicker.trigger('open.xdsoft'); + break; + case 'hide': + datetimepicker.trigger('close.xdsoft'); + break; + case 'toggle': + datetimepicker.trigger('toggle.xdsoft'); + break; + case 'destroy': + destroyDateTimePicker($(this)); + break; + case 'reset': + this.value = this.defaultValue; + if (!this.value || !datetimepicker.data('xdsoft_datetime').isValidDate(Date.parseDate(this.value, options.format))) { + datetimepicker.data('changed', false); + } + datetimepicker.data('xdsoft_datetime').setCurrentTime(this.value); + break; + case 'validate': + $input = datetimepicker.data('input'); + $input.trigger('blur.xdsoft'); + break; + } + } else { + datetimepicker + .setOptions(opt); + } + return 0; + } + if ($.type(opt) !== 'string') { + if (!options.lazyInit || options.open || options.inline) { + createDateTimePicker($(this)); + } else { + lazyInit($(this)); + } + } + }); + }; + $.fn.datetimepicker.defaults = default_options; +}(jQuery)); + +function HighlightedDate(date, desc, style) { + "use strict"; + this.date = date; + this.desc = desc; + this.style = style; +} + +(function () { + +/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh) + * Licensed under the MIT License (LICENSE.txt). + * + * Version: 3.1.12 + * + * Requires: jQuery 1.2.2+ + */ +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}); + +// Parse and Format Library +//http://www.xaprb.com/blog/2005/12/12/javascript-closures-for-runtime-efficiency/ +/* + * Copyright (C) 2004 Baron Schwartz <baron at sequent dot org> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, version 2.1. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ +Date.parseFunctions={count:0};Date.parseRegexes=[];Date.formatFunctions={count:0};Date.prototype.dateFormat=function(b){if(b=="unixtime"){return parseInt(this.getTime()/1000);}if(Date.formatFunctions[b]==null){Date.createNewFormat(b);}var a=Date.formatFunctions[b];return this[a]();};Date.createNewFormat=function(format){var funcName="format"+Date.formatFunctions.count++;Date.formatFunctions[format]=funcName;var codePrefix="Date.prototype."+funcName+" = function() {return ";var code="";var special=false;var ch="";for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true;}else{if(special){special=false;code+="'"+String.escape(ch)+"' + ";}else{code+=Date.getFormatCode(ch);}}}if(code.length==0){code="\"\"";}else{code=code.substring(0,code.length-3);}eval(codePrefix+code+";}");};Date.getFormatCode=function(a){switch(a){case"d":return"String.leftPad(this.getDate(), 2, '0') + ";case"D":return"Date.dayNames[this.getDay()].substring(0, 3) + ";case"j":return"this.getDate() + ";case"l":return"Date.dayNames[this.getDay()] + ";case"S":return"this.getSuffix() + ";case"w":return"this.getDay() + ";case"z":return"this.getDayOfYear() + ";case"W":return"this.getWeekOfYear() + ";case"F":return"Date.monthNames[this.getMonth()] + ";case"m":return"String.leftPad(this.getMonth() + 1, 2, '0') + ";case"M":return"Date.monthNames[this.getMonth()].substring(0, 3) + ";case"n":return"(this.getMonth() + 1) + ";case"t":return"this.getDaysInMonth() + ";case"L":return"(this.isLeapYear() ? 1 : 0) + ";case"Y":return"this.getFullYear() + ";case"y":return"('' + this.getFullYear()).substring(2, 4) + ";case"a":return"(this.getHours() < 12 ? 'am' : 'pm') + ";case"A":return"(this.getHours() < 12 ? 'AM' : 'PM') + ";case"g":return"((this.getHours() %12) ? this.getHours() % 12 : 12) + ";case"G":return"this.getHours() + ";case"h":return"String.leftPad((this.getHours() %12) ? this.getHours() % 12 : 12, 2, '0') + ";case"H":return"String.leftPad(this.getHours(), 2, '0') + ";case"i":return"String.leftPad(this.getMinutes(), 2, '0') + ";case"s":return"String.leftPad(this.getSeconds(), 2, '0') + ";case"O":return"this.getGMTOffset() + ";case"T":return"this.getTimezone() + ";case"Z":return"(this.getTimezoneOffset() * -60) + ";default:return"'"+String.escape(a)+"' + ";}};Date.parseDate=function(a,c){if(c=="unixtime"){return new Date(!isNaN(parseInt(a))?parseInt(a)*1000:0);}if(Date.parseFunctions[c]==null){Date.createParser(c);}var b=Date.parseFunctions[c];return Date[b](a);};Date.createParser=function(format){var funcName="parse"+Date.parseFunctions.count++;var regexNum=Date.parseRegexes.length;var currentGroup=1;Date.parseFunctions[format]=funcName;var code="Date."+funcName+" = function(input) {\nvar y = -1, m = -1, d = -1, h = -1, i = -1, s = -1, z = -1;\nvar d = new Date();\ny = d.getFullYear();\nm = d.getMonth();\nd = d.getDate();\nvar results = input.match(Date.parseRegexes["+regexNum+"]);\nif (results && results.length > 0) {";var regex="";var special=false;var ch="";for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true;}else{if(special){special=false;regex+=String.escape(ch);}else{obj=Date.formatCodeToRegex(ch,currentGroup);currentGroup+=obj.g;regex+=obj.s;if(obj.g&&obj.c){code+=obj.c;}}}}code+="if (y > 0 && z > 0){\nvar doyDate = new Date(y,0);\ndoyDate.setDate(z);\nm = doyDate.getMonth();\nd = doyDate.getDate();\n}";code+="if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0)\n{return new Date(y, m, d, h, i, s);}\nelse if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0)\n{return new Date(y, m, d, h, i);}\nelse if (y > 0 && m >= 0 && d > 0 && h >= 0)\n{return new Date(y, m, d, h);}\nelse if (y > 0 && m >= 0 && d > 0)\n{return new Date(y, m, d);}\nelse if (y > 0 && m >= 0)\n{return new Date(y, m);}\nelse if (y > 0)\n{return new Date(y);}\n}return null;}";Date.parseRegexes[regexNum]=new RegExp("^"+regex+"$",'i');eval(code);};Date.formatCodeToRegex=function(b,a){switch(b){case"D":return{g:0,c:null,s:"(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)"};case"j":case"d":return{g:1,c:"d = parseInt(results["+a+"], 10);\n",s:"(\\d{1,2})"};case"l":return{g:0,c:null,s:"(?:"+Date.dayNames.join("|")+")"};case"S":return{g:0,c:null,s:"(?:st|nd|rd|th)"};case"w":return{g:0,c:null,s:"\\d"};case"z":return{g:1,c:"z = parseInt(results["+a+"], 10);\n",s:"(\\d{1,3})"};case"W":return{g:0,c:null,s:"(?:\\d{2})"};case"F":return{g:1,c:"m = parseInt(Date.monthNumbers[results["+a+"].substring(0, 3)], 10);\n",s:"("+Date.monthNames.join("|")+")"};case"M":return{g:1,c:"m = parseInt(Date.monthNumbers[results["+a+"]], 10);\n",s:"(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)"};case"n":case"m":return{g:1,c:"m = parseInt(results["+a+"], 10) - 1;\n",s:"(\\d{1,2})"};case"t":return{g:0,c:null,s:"\\d{1,2}"};case"L":return{g:0,c:null,s:"(?:1|0)"};case"Y":return{g:1,c:"y = parseInt(results["+a+"], 10);\n",s:"(\\d{4})"};case"y":return{g:1,c:"var ty = parseInt(results["+a+"], 10);\ny = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"};case"a":return{g:1,c:"if (results["+a+"] == 'am') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(am|pm)"};case"A":return{g:1,c:"if (results["+a+"] == 'AM') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(AM|PM)"};case"g":case"G":case"h":case"H":return{g:1,c:"h = parseInt(results["+a+"], 10);\n",s:"(\\d{1,2})"};case"i":return{g:1,c:"i = parseInt(results["+a+"], 10);\n",s:"(\\d{2})"};case"s":return{g:1,c:"s = parseInt(results["+a+"], 10);\n",s:"(\\d{2})"};case"O":return{g:0,c:null,s:"[+-]\\d{4}"};case"T":return{g:0,c:null,s:"[A-Z]{3}"};case"Z":return{g:0,c:null,s:"[+-]\\d{1,5}"};default:return{g:0,c:null,s:String.escape(b)};}};Date.prototype.getTimezone=function(){return this.toString().replace(/^.*? ([A-Z]{3}) [0-9]{4}.*$/,"$1").replace(/^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/,"$1$2$3");};Date.prototype.getGMTOffset=function(){return(this.getTimezoneOffset()>0?"-":"+")+String.leftPad(Math.floor(Math.abs(this.getTimezoneOffset())/60),2,"0")+String.leftPad(Math.abs(this.getTimezoneOffset())%60,2,"0");};Date.prototype.getDayOfYear=function(){var a=0;Date.daysInMonth[1]=this.isLeapYear()?29:28;for(var b=0;b<this.getMonth();++b){a+=Date.daysInMonth[b];}return a+this.getDate();};Date.prototype.getWeekOfYear=function(){var b=this.getDayOfYear()+(4-this.getDay());var a=new Date(this.getFullYear(),0,1);var c=(7-a.getDay()+4);return String.leftPad(Math.ceil((b-c)/7)+1,2,"0");};Date.prototype.isLeapYear=function(){var a=this.getFullYear();return((a&3)==0&&(a%100||(a%400==0&&a)));};Date.prototype.getFirstDayOfMonth=function(){var a=(this.getDay()-(this.getDate()-1))%7;return(a<0)?(a+7):a;};Date.prototype.getLastDayOfMonth=function(){var a=(this.getDay()+(Date.daysInMonth[this.getMonth()]-this.getDate()))%7;return(a<0)?(a+7):a;};Date.prototype.getDaysInMonth=function(){Date.daysInMonth[1]=this.isLeapYear()?29:28;return Date.daysInMonth[this.getMonth()];};Date.prototype.getSuffix=function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th";}};String.escape=function(a){return a.replace(/('|\\)/g,"\\$1");};String.leftPad=function(d,b,c){var a=new String(d);if(c==null){c=" ";}while(a.length<b){a=c+a;}return a;};Date.daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31];Date.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"];Date.dayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];Date.y2kYear=50;Date.monthNumbers={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11};Date.patterns={ISO8601LongPattern:"Y-m-d H:i:s",ISO8601ShortPattern:"Y-m-d",ShortDatePattern:"n/j/Y",LongDatePattern:"l, F d, Y",FullDateTimePattern:"l, F d, Y g:i:s A",MonthDayPattern:"F d",ShortTimePattern:"g:i A",LongTimePattern:"g:i:s A",SortableDateTimePattern:"Y-m-d\\TH:i:s",UniversalSortableDateTimePattern:"Y-m-d H:i:sO",YearMonthPattern:"F, Y"}; +}()); diff --git a/routers/install.go b/routers/install.go index 02bc6fd6..fc9e5ec5 100644 --- a/routers/install.go +++ b/routers/install.go @@ -91,6 +91,9 @@ func GlobalInit() { ssh.Listen(setting.SSHPort) log.Info("SSH server started on :%v", setting.SSHPort) } + + // Build Sanitizer + base.BuildSanitizer() } func InstallInit(ctx *middleware.Context) { diff --git a/routers/repo/issue.go b/routers/repo/issue.go index 57852a5a..635dee93 100644 --- a/routers/repo/issue.go +++ b/routers/repo/issue.go @@ -1079,7 +1079,7 @@ func NewMilestonePost(ctx *middleware.Context, form auth.CreateMilestoneForm) { if len(form.Deadline) == 0 { form.Deadline = "9999-12-31" } - deadline, err := time.Parse("2006-01-02", form.Deadline) + deadline, err := time.ParseInLocation("2006-01-02", form.Deadline, time.Local) if err != nil { ctx.Data["Err_Deadline"] = true ctx.RenderWithErr(ctx.Tr("repo.milestones.invalid_due_date_format"), MILESTONE_NEW, &form) @@ -1139,7 +1139,7 @@ func EditMilestonePost(ctx *middleware.Context, form auth.CreateMilestoneForm) { if len(form.Deadline) == 0 { form.Deadline = "9999-12-31" } - deadline, err := time.Parse("2006-01-02", form.Deadline) + deadline, err := time.ParseInLocation("2006-01-02", form.Deadline, time.Local) if err != nil { ctx.Data["Err_Deadline"] = true ctx.RenderWithErr(ctx.Tr("repo.milestones.invalid_due_date_format"), MILESTONE_NEW, &form) diff --git a/templates/.VERSION b/templates/.VERSION index 17e89bcd..9ac7ae77 100644 --- a/templates/.VERSION +++ b/templates/.VERSION @@ -1 +1 @@ -0.8.29.0204
\ No newline at end of file +0.8.31.0205
\ No newline at end of file |