From ab174b8de5c9efe3104dbd744bab6631007a6a7b Mon Sep 17 00:00:00 2001 From: Max Doe Date: Tue, 28 Jan 2025 18:43:37 +0300 Subject: [PATCH] first commit --- .gitignore | 2 + LICENSE | 21 + README.md | 23 + flake.lock | 27 ++ flake.nix | 29 ++ go.mod | 32 ++ go.sum | 69 +++ iternal/controllers/AdminController.go | 71 +++ iternal/controllers/BlogController.go | 91 ++++ iternal/controllers/CCTweakedController.go | 74 ++++ iternal/controllers/IndexController.go | 20 + iternal/pkg/RepositoryInterface.go | 26 ++ iternal/pkg/repositories/BlogRepository.go | 116 +++++ .../pkg/repositories/SQL-basic-functions.go | 40 ++ main.go | 75 ++++ test/DecodeMessage_test.go | 78 ++++ test/readme_future_me.md | 18 + .../fuzz/FuzzPostMessage/46b16ae58246e7dc | 3 + web/static/fonts/Disket-Mono-Bold.ttf | Bin 0 -> 90660 bytes web/static/fonts/Disket-Mono-Regular.ttf | Bin 0 -> 84204 bytes web/static/fonts/codec-pro.regular.ttf | Bin 0 -> 344588 bytes web/static/styling/basic-styling.templ | 103 +++++ web/static/styling/basic-styling_templ.go | 184 ++++++++ web/templates/admin.templ | 76 ++++ web/templates/admin_templ.go | 347 +++++++++++++++ web/templates/blog.templ | 89 ++++ web/templates/blog_templ.go | 418 ++++++++++++++++++ web/templates/constructionBlocks.templ | 60 +++ web/templates/constructionBlocks_templ.go | 102 +++++ web/templates/errorPage.templ | 14 + web/templates/errorPage_templ.go | 135 ++++++ web/templates/index.templ | 71 +++ web/templates/index_templ.go | 255 +++++++++++ web/templates/wip.templ | 16 + web/templates/wip_templ.go | 119 +++++ 35 files changed, 2804 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 go.mod create mode 100644 go.sum create mode 100644 iternal/controllers/AdminController.go create mode 100644 iternal/controllers/BlogController.go create mode 100644 iternal/controllers/CCTweakedController.go create mode 100644 iternal/controllers/IndexController.go create mode 100644 iternal/pkg/RepositoryInterface.go create mode 100644 iternal/pkg/repositories/BlogRepository.go create mode 100644 iternal/pkg/repositories/SQL-basic-functions.go create mode 100644 main.go create mode 100644 test/DecodeMessage_test.go create mode 100644 test/readme_future_me.md create mode 100644 test/testdata/fuzz/FuzzPostMessage/46b16ae58246e7dc create mode 100644 web/static/fonts/Disket-Mono-Bold.ttf create mode 100644 web/static/fonts/Disket-Mono-Regular.ttf create mode 100644 web/static/fonts/codec-pro.regular.ttf create mode 100644 web/static/styling/basic-styling.templ create mode 100644 web/static/styling/basic-styling_templ.go create mode 100644 web/templates/admin.templ create mode 100644 web/templates/admin_templ.go create mode 100644 web/templates/blog.templ create mode 100644 web/templates/blog_templ.go create mode 100644 web/templates/constructionBlocks.templ create mode 100644 web/templates/constructionBlocks_templ.go create mode 100644 web/templates/errorPage.templ create mode 100644 web/templates/errorPage_templ.go create mode 100644 web/templates/index.templ create mode 100644 web/templates/index_templ.go create mode 100644 web/templates/wip.templ create mode 100644 web/templates/wip_templ.go diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cb7b2f0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.env +*.db \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b7dbf82 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 dixxe + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..4d2e05b --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# Personal web +This website is a showcase of my skills and interests. + +## Can I use this website? +Yes you can! But you must follow MIT license if you doing so. + +To start website you need to: +- Create .env file and populate it with LOGIN, PASSWORD for admin panel. +- Create blogs.db database and populate it with `initdb()` method. +- run compiled binary with `./personal-website ""` to start HTTP website or `./personal-website domain.com subdomain.domain.com` to start HTTPS website + +## How to contribute? + +1. Fork the repository +2. Create a new branch (`git checkout -b feature/AmazingFeature`) +3. Make your changes +4. Commit your changes (`git commit -m 'Add some AmazingFeature'`) +5. Push to the branch (`git push origin feature/AmazingFeature`) +6. Open a Pull Request + +## ToDo +- [x] Comments and code refactoring +- [ ] Comments and likes for blog \ No newline at end of file diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..0782e05 --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1736012469, + "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..4ea039e --- /dev/null +++ b/flake.nix @@ -0,0 +1,29 @@ +{ + description = "A portable go dev flake!"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + }; + + outputs = { nixpkgs, ... }@inputs: + let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + in + { + devShells.${system} = { + default = pkgs.mkShell { + nativeBuildInputs = with pkgs; [ + delve + go + gopls + templ + ]; + + hardeningDisable = [ "fortify" ]; + + shellHook = "echo Welcome to go-backend environment"; + }; + }; + }; +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..a347bd8 --- /dev/null +++ b/go.mod @@ -0,0 +1,32 @@ +module github.com/dixxe/personal-website + +go 1.23.2 + +require github.com/a-h/templ v0.3.819 + +require ( + github.com/go-chi/chi/v5 v5.2.0 + github.com/joho/godotenv v1.5.1 + golang.org/x/crypto v0.32.0 + modernc.org/sqlite v1.34.4 +) + +require ( + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect + github.com/kaptinlin/jsonrepair v0.1.0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/ncruces/go-strftime v0.1.9 // indirect + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect + golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/text v0.21.0 // indirect + modernc.org/gc/v3 v3.0.0-20241223112719-96e2e1e4408d // indirect + modernc.org/libc v1.61.6 // indirect + modernc.org/mathutil v1.7.1 // indirect + modernc.org/memory v1.8.0 // indirect + modernc.org/strutil v1.2.1 // indirect + modernc.org/token v1.1.0 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..caab1f4 --- /dev/null +++ b/go.sum @@ -0,0 +1,69 @@ +github.com/a-h/templ v0.3.819 h1:KDJ5jTFN15FyJnmSmo2gNirIqt7hfvBD2VXVDTySckM= +github.com/a-h/templ v0.3.819/go.mod h1:iDJKJktpttVKdWoTkRNNLcllRI+BlpopJc+8au3gOUo= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/go-chi/chi/v5 v5.2.0 h1:Aj1EtB0qR2Rdo2dG4O94RIU35w2lvQSj6BRA4+qwFL0= +github.com/go-chi/chi/v5 v5.2.0/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd h1:gbpYu9NMq8jhDVbvlGkMFWCjLFlqqEZjEmObmhUy6Vo= +github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/kaptinlin/jsonrepair v0.1.0 h1:71Pwmyqan+fZPStHDSBTJngPhxtTkjEeWciZF3405cs= +github.com/kaptinlin/jsonrepair v0.1.0/go.mod h1:hW2xIfVQwmskoVSv9g8g3ITOkEiOKKRj934dDCVW6aM= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4= +github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= +golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= +golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= +golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= +golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= +modernc.org/cc/v4 v4.24.2 h1:uektamHbSXU7egelXcyVpMaaAsrRH4/+uMKUQAQUdOw= +modernc.org/cc/v4 v4.24.2/go.mod h1:T1lKJZhXIi2VSqGBiB4LIbKs9NsKTbUXj4IDrmGqtTI= +modernc.org/ccgo/v4 v4.23.5 h1:6uAwu8u3pnla3l/+UVUrDDO1HIGxHTYmFH6w+X9nsyw= +modernc.org/ccgo/v4 v4.23.5/go.mod h1:FogrWfBdzqLWm1ku6cfr4IzEFouq2fSAPf6aSAHdAJQ= +modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE= +modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ= +modernc.org/gc/v2 v2.6.0 h1:Tiw3pezQj7PfV8k4Dzyu/vhRHR2e92kOXtTFU8pbCl4= +modernc.org/gc/v2 v2.6.0/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU= +modernc.org/gc/v3 v3.0.0-20241223112719-96e2e1e4408d h1:d0JExN5U5FjUVHCP6L9DIlLJBZveR6KUM4AvfDUL3+k= +modernc.org/gc/v3 v3.0.0-20241223112719-96e2e1e4408d/go.mod h1:qBSLm/exCqouT2hrfyTKikWKG9IPq8EoX5fS00l3jqk= +modernc.org/libc v1.61.6 h1:L2jW0wxHPCyHK0YSHaGaVlY0WxjpG/TTVdg6gRJOPqw= +modernc.org/libc v1.61.6/go.mod h1:G+DzuaCcReUYYg4nNSfigIfTDCENdj9EByglvaRx53A= +modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU= +modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg= +modernc.org/memory v1.8.0 h1:IqGTL6eFMaDZZhEWwcREgeMXYwmW83LYW8cROZYkg+E= +modernc.org/memory v1.8.0/go.mod h1:XPZ936zp5OMKGWPqbD3JShgd/ZoQ7899TUuQqxY+peU= +modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/sortutil v1.2.0 h1:jQiD3PfS2REGJNzNCMMaLSp/wdMNieTbKX920Cqdgqc= +modernc.org/sortutil v1.2.0/go.mod h1:TKU2s7kJMf1AE84OoiGppNHJwvB753OYfNl2WRb++Ss= +modernc.org/sqlite v1.34.4 h1:sjdARozcL5KJBvYQvLlZEmctRgW9xqIZc2ncN7PU0P8= +modernc.org/sqlite v1.34.4/go.mod h1:3QQFCG2SEMtc2nv+Wq4cQCH7Hjcg+p/RMlS1XK+zwbk= +modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0= +modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A= +modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= +modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= diff --git a/iternal/controllers/AdminController.go b/iternal/controllers/AdminController.go new file mode 100644 index 0000000..808ccdf --- /dev/null +++ b/iternal/controllers/AdminController.go @@ -0,0 +1,71 @@ +/* +This controller handles admin stuff and allows to redact databases. + +It has some noodles in it but this is how it works. +1. Users enters on "/admin" and this controller handles GetAdminLogin() +2. Than frontend passes a form with login and password to PostAdminLogin() +3. In PostAdminLogin() backend checks that login and password are equal to + ones that defined in .env file (without it code will panic! I will rewrite this) +4. If everything correct controller goes to GetAdminPanel() and shows admin-panel + template + +Currently page is vulnerable to bruteforce. +I will try to implement JWT in future. -d1xxe +Best practice is to move login to middleware- -TODO +*/ + +package controllers + +import ( + "context" + "log" + "net/http" + "os" + + "github.com/dixxe/personal-website/iternal/pkg/repositories" + "github.com/dixxe/personal-website/web/templates" + "github.com/joho/godotenv" +) + +// This controller has been written to control databases and blog. SECUIRITY-WARNING! +func GetAdminPanel(w http.ResponseWriter, r *http.Request) { + posts, err := repositories.Blog.GetAllValues() + + if err != nil { + log.Println(err) + component := templates.AdminPanelPage([]repositories.Post{}) + component.Render(context.Background(), w) + return + } + + component := templates.AdminPanelPage(posts) + component.Render(context.Background(), w) +} + +// This controller has been written to add protection for admin-panel. +func GetAdminLogin(w http.ResponseWriter, r *http.Request) { + // Respond with page that contains form for login and password. + component := templates.LoginPage() + component.Render(context.Background(), w) +} + +// This controller handles passed form and checks for its validity. +// If everything right it passes to GetAdminPanel. +func PostAdminLogin(w http.ResponseWriter, r *http.Request) { + r.ParseForm() + login := r.FormValue("login") + password := r.FormValue("password") + + if err := godotenv.Load(); err != nil { + // I better disable admin panel at all if .env not located. + component := templates.ErrorPage(404, "Admin-panel not configured.") + component.Render(context.Background(), w) + return + } + + admin_login, _ := os.LookupEnv("LOGIN") + admin_password, _ := os.LookupEnv("PASSWORD") + if login == admin_login && password == admin_password { + GetAdminPanel(w, r) + } +} diff --git a/iternal/controllers/BlogController.go b/iternal/controllers/BlogController.go new file mode 100644 index 0000000..9a327c2 --- /dev/null +++ b/iternal/controllers/BlogController.go @@ -0,0 +1,91 @@ +/* +Controller that handles everything d1xxe blog related features. +Under the hood it operates with repositories.Blog to get all information from +local database. + +In a nutshell it's pretty simple. +*/ +package controllers + +import ( + "context" + "fmt" + "log" + "net/http" + "strconv" + + "github.com/dixxe/personal-website/iternal/pkg/repositories" + "github.com/dixxe/personal-website/web/templates" + "github.com/go-chi/chi/v5" +) + +// This controller passes all posts in database in template and responds with page with all size-reduced posts. +func GetShowBlog(w http.ResponseWriter, r *http.Request) { + posts, err := repositories.Blog.GetAllValues() + if err != nil { + component := templates.ErrorPage(500, "Ошибка при обработке базы данных.") + // For some reason I can't set status code for request x-x + log.Println(err) + component.Render(context.Background(), w) + return + } + + component := templates.ShowBlogPage(posts) + component.Render(context.Background(), w) +} + +// This controller looks for specific post in database and handles all possible errors. Responds with page with post. +func GetPost(w http.ResponseWriter, r *http.Request) { + id, err := strconv.Atoi(chi.URLParam(r, "id")) + + if err != nil { + component := templates.ErrorPage(500, "Не удалось преобразовать id в целое число.") + log.Println(err) + component.Render(context.Background(), w) + return + } + + post, err := repositories.Blog.GetValueByID(id) + + if err != nil { + component := templates.ErrorPage(404, "Не удалось найти нужный пост.") + log.Println(err) + component.Render(context.Background(), w) + return + + } + component := templates.ShowPost(post) + component.Render(context.Background(), w) + +} + +// Controller that handles post creation. Responds with 200 if everything OK +func PostCreatePost(w http.ResponseWriter, r *http.Request) { + r.ParseForm() // Populating form. + header := r.FormValue("header") // To get value you need to specify name="header" in the form. + content := r.FormValue("content") + + // Creating a new post with 0 Id, don't worry database handles id assignment + // itself. And in the InsertValue() method I don't use Post.Id value + newPost := repositories.Post{Id: 0, Header: header, Content: content} + + // Process database is async way. WARNING errors are NOT HANDLED + go repositories.Blog.InsertValue(newPost) + + fmt.Println("Created post") +} + +// Controller that handles post deletion. Responds with 200 if everything is OK +func PostDeletePost(w http.ResponseWriter, r *http.Request) { + r.ParseForm() + id, err := strconv.Atoi(r.FormValue("id")) + + if err != nil { + component := templates.ErrorPage(500, "Ошибка при переводе id (int) в string.") + r.Response.StatusCode = 500 + log.Println(err) + component.Render(context.Background(), w) + } + // Process database is async way. WARNING errors are NOT HANDLED + go repositories.Blog.DeleteValueByID(id) +} diff --git a/iternal/controllers/CCTweakedController.go b/iternal/controllers/CCTweakedController.go new file mode 100644 index 0000000..6f4552d --- /dev/null +++ b/iternal/controllers/CCTweakedController.go @@ -0,0 +1,74 @@ +package controllers + +import ( + "encoding/json" + "fmt" + "io" + "log" + "net/http" + + "github.com/kaptinlin/jsonrepair" +) + +type Message struct { + Content string `json:"content"` + Msg_type int `json:"msg_type"` +} + +var message_queue = []Message{} + +func preprocess_message(r *http.Request) []byte { + message_bytes, _ := io.ReadAll(r.Body) + message_body := string(message_bytes) + + repaired, err := jsonrepair.JSONRepair(message_body) + if err != nil { + log.Printf("Failed to fix JSON: %v", err) + } + repaired_bytes := []byte(repaired) + + return repaired_bytes +} + +func decodeMessage(r *http.Request) (Message, error) { + var messageRC Message + + processed_message := preprocess_message(r) + + err := json.Unmarshal(processed_message, &messageRC) + if err != nil { + log.Println(err) + return Message{}, err + } + return messageRC, nil +} + +func clearQueue() { + if len(message_queue) <= 1 { + return + } + message_queue = message_queue[1:] +} + +func PostSendMessage(w http.ResponseWriter, r *http.Request) { + + decoded_message, err := decodeMessage(r) + if err != nil { + w.WriteHeader(400) + fmt.Fprintf(w, "Failed to decode message %v", err) + log.Printf("Failed to decode message %v", err) + return + } + message_queue = append(message_queue, decoded_message) + + clearQueue() + +} + +func GetMessage(w http.ResponseWriter, r *http.Request) { + w.Header().Set("content-type", "application/json") + if len(message_queue) == 0 { + message_queue = append(message_queue, Message{"no message accepted yet", 404}) + } + fmt.Fprintln(w, message_queue[0]) +} diff --git a/iternal/controllers/IndexController.go b/iternal/controllers/IndexController.go new file mode 100644 index 0000000..125fd69 --- /dev/null +++ b/iternal/controllers/IndexController.go @@ -0,0 +1,20 @@ +/* +Controller that only shows index template! Simple as it is! +*/ + +package controllers + +import ( + "context" + "net/http" + + "github.com/dixxe/personal-website/web/templates" +) + +// Controller that shows "/" root page. +func GetIndexHandler(w http.ResponseWriter, r *http.Request) { + // Templates are components and this is basic way to render them. + // I use this way across all code + component := templates.IndexPage() + component.Render(context.Background(), w) +} diff --git a/iternal/pkg/RepositoryInterface.go b/iternal/pkg/RepositoryInterface.go new file mode 100644 index 0000000..5d1bd9d --- /dev/null +++ b/iternal/pkg/RepositoryInterface.go @@ -0,0 +1,26 @@ +/* +Special interface that I made to make system more reusable. +So if you need in future another db it should satisfy this interface. +Generic T represents field of database. +In this approach DB must be open everytime. + +Why interface? For example you create a function that executes something on database +and you need to execute this command automaticly for any DB that contains service.Post passed. +So you will define it like this +func exec_fix_for_db(repo service.Repository[Post]) { + repo.ExecSpecific("Very important fix!!") +} +*/ + +package pkg + +import "database/sql" + +type Repository[T any] interface { + GetAllValues() ([]T, error) + GetValueByID(id int) (T, error) + InsertValue(T) (id int, err error) + DeleteValueByID(id int) error + ExecSpecific(SQL_command string) (sql.Result, error) + QuerySpecific(SQL_command string) (*sql.Rows, error) +} diff --git a/iternal/pkg/repositories/BlogRepository.go b/iternal/pkg/repositories/BlogRepository.go new file mode 100644 index 0000000..6881378 --- /dev/null +++ b/iternal/pkg/repositories/BlogRepository.go @@ -0,0 +1,116 @@ +/* +Managing blogRepo database with a little bit awful execution. +This can be considered as any-repository database example. +In this realisation database is *always* stays open after xxxRepository intitialization. +Because if something close it the struct will point to nothing and obviously this is bad. +*/ + +package repositories + +import ( + "database/sql" + "fmt" + + _ "modernc.org/sqlite" +) + +var database_name = "blogs.db" // You can change it if you want. + +// Defining it to use it later via repository.Blog +// Why here? Because it's best place for anything blog related! +var Blog blogRepository = blogRepository{Database: OpenDb(database_name)} + +// Post structure for database field. +type Post struct { + Id int + Header string + Content string +} + +// This struct implemets Repository[Post] +type blogRepository struct { + Database *sql.DB +} + +func (blogRepo blogRepository) GetAllValues() ([]Post, error) { + db := blogRepo.Database + + rows, err := db.Query("SELECT * from blogs") + if err != nil { + return nil, err + } + defer rows.Close() + + posts := []Post{} + + for rows.Next() { + p := Post{} + err := rows.Scan(&p.Id, &p.Header, &p.Content) + if err != nil { + fmt.Println(err) + continue + } + posts = append(posts, p) + } + fmt.Println("Readed all posts") + + return posts, err +} + +func (blogRepo blogRepository) GetValueByID(id int) (Post, error) { + db := blogRepo.Database + + row := db.QueryRow("SELECT * from blogs where id = ?", id) + p := Post{} + err := row.Scan(&p.Id, &p.Header, &p.Content) + if err != nil { + return Post{}, err + } + fmt.Println("Get one post") + + return p, err +} + +func (blogRepo blogRepository) DeleteValueByID(id int) error { + db := blogRepo.Database + //defer db.Close() + + _, err := db.Exec("DELETE from blogs where id = ?", id) + if err != nil { + return err + } + fmt.Println("Delete one post") + return err +} + +// Returning last inserted id +func (blogRepo blogRepository) InsertValue(postToInsert Post) (int, error) { + db := blogRepo.Database + + result, err := db.Exec("INSERT into blogs (header, content) values (?,?)", + postToInsert.Header, postToInsert.Content) + + if err != nil { + return 0, err + } + + id, _ := result.LastInsertId() + + return int(id), err +} + +func (blogRepo blogRepository) ExecSpecific(SQL_command string) (sql.Result, error) { + result, err := blogRepo.Database.Exec(SQL_command) + if err != nil { + return nil, err + } + return result, err +} + +func (blogRepo blogRepository) QuerySpecific(SQL_command string) (*sql.Rows, error) { + result, err := blogRepo.Database.Query(SQL_command) + if err != nil { + return nil, err + } + return result, err +} diff --git a/iternal/pkg/repositories/SQL-basic-functions.go b/iternal/pkg/repositories/SQL-basic-functions.go new file mode 100644 index 0000000..394df14 --- /dev/null +++ b/iternal/pkg/repositories/SQL-basic-functions.go @@ -0,0 +1,40 @@ +/* +Some SQL tools to reduce boilerplate. +Probably will be rewritten in future. +*/ +package repositories + +import ( + "database/sql" + "fmt" + "os" + + "github.com/dixxe/personal-website/iternal/pkg" +) + +func OpenDb(database_name string) *sql.DB { + if _, err := os.Stat("./" + database_name); err != nil { + panic(database_name + " not found!") + } + db, err := sql.Open("sqlite", database_name) + if err != nil { + panic(err) + } + fmt.Println("Database was openned") + + return db +} + +// I don't know a way how to automate this process. +func InitDb(repo pkg.Repository[Post]) { + //defer db.Close() + + repo.ExecSpecific(` + CREATE TABLE blogs( + id INTEGER PRIMARY KEY AUTOINCREMENT, + header TEXT, + content TEXT + ); + `) + fmt.Println("Database was initiated.") +} diff --git a/main.go b/main.go new file mode 100644 index 0000000..9fa9861 --- /dev/null +++ b/main.go @@ -0,0 +1,75 @@ +package main + +/* + Main file with routes and nothing else. +*/ + +import ( + "log" + "net/http" + "os" + + "github.com/dixxe/personal-website/iternal/controllers" + "github.com/go-chi/chi/v5" + "github.com/go-chi/chi/v5/middleware" + "golang.org/x/crypto/acme/autocert" +) + +var domains = os.Args[1:] + +func main() { + + log.Println(` + ____ _ ___ ____ _ _____ ____ ____ _____ _____ +/ _ \/ \\ \//\ \/// __/ / __\/ _ \/ __// __/ +| | \|| | \ / \ / | \ _____ | \/|| / \|| | _| \ +| |_/|| | / \ / \ | /_\____\| __/| |-||| |_//| /_ +\____/\_//__/\\/__/\\\____\ \_/ \_/ \|\____\\____\ + `) + + r := chi.NewRouter() + r.Use(middleware.Logger) + r.Use(middleware.StripSlashes) + + r.Get("/", controllers.GetIndexHandler) + + r.Get("/blog", controllers.GetShowBlog) + r.Get("/post/{id}", controllers.GetPost) + r.Post("/post", controllers.PostCreatePost) + r.Post("/post/delete", controllers.PostDeletePost) + + r.Post("/admin/login", controllers.PostAdminLogin) + r.Get("/admin", controllers.GetAdminLogin) + + r.Post("/cctweaked", controllers.PostSendMessage) + r.Get("/cctweaked", controllers.GetMessage) + + fs := http.FileServer(http.Dir("web/static")) + r.Handle("/static/*", http.StripPrefix("/static/", fs)) + + log.Println(domains) + + if domains[0] == "" { + + log.Println("HTTP website started") + log.Fatal(http.ListenAndServe("localhost:8080", r)) + + } else { + + log.Println("HTTPS website started with HTTP redirect.") + go redirectHTTPServer() + for _, domain := range domains { + log.Fatal(http.Serve(autocert.NewListener(domain), r)) + } + } +} + +func redirectHTTPServer() { + if err := http.ListenAndServe(":8080", http.HandlerFunc(redirectTLS)); err != nil { + log.Fatalf("ListenAndServe error: %v", err) + } +} + +func redirectTLS(w http.ResponseWriter, r *http.Request) { + http.Redirect(w, r, "https://"+domains[0]+":443"+r.RequestURI, http.StatusMovedPermanently) +} diff --git a/test/DecodeMessage_test.go b/test/DecodeMessage_test.go new file mode 100644 index 0000000..bf1e5e7 --- /dev/null +++ b/test/DecodeMessage_test.go @@ -0,0 +1,78 @@ +package test + +import ( + "fmt" + "net/http" + "net/http/httptest" + "strings" + "testing" + "unicode/utf8" + + "github.com/dixxe/personal-website/iternal/controllers" +) + +func TestPostMessage(t *testing.T) { + + test_value := `{"content":"banan","msg_type":10}` + + body := strings.NewReader(test_value) + req, err := http.NewRequest("POST", "/cctweaked", body) + if err != nil { + t.Fatal(err) + } + rr := httptest.NewRecorder() + + http.HandlerFunc(controllers.PostSendMessage).ServeHTTP(rr, req) + + req, err = http.NewRequest("GET", "/cctweaked", nil) + if err != nil { + t.Fatal(err) + } + http.HandlerFunc(controllers.GetMessage).ServeHTTP(rr, req) + + expected := `{banan 10}` + + if strings.Trim(rr.Body.String(), "\n ") != expected { + t.Errorf("handler returned unexpected body: got %v want %v", + rr.Body.String(), expected) + } + +} + +func FuzzPostMessage(f *testing.F) { + f.Add(0, "banan") + f.Fuzz(func(t *testing.T, msg_type int, content string) { + + if !utf8.Valid([]byte(content)) { + return + } + + body := strings.NewReader(fmt.Sprintf(`{"content":"%v","msg_type":%v}`, + content, msg_type)) + + req, err := http.NewRequest("POST", "/cctweaked", body) + if err != nil { + t.Fatal(err) + } + rr := httptest.NewRecorder() + + http.HandlerFunc(controllers.PostSendMessage).ServeHTTP(rr, req) + + req, err = http.NewRequest("GET", "/cctweaked", nil) + if err != nil { + t.Fatal(err) + } + http.HandlerFunc(controllers.GetMessage).ServeHTTP(rr, req) + + expected := fmt.Sprintf(`{%v %v}`, content, msg_type) + + if rr.Result().StatusCode == 400 { + return + } + + if strings.Trim(rr.Body.String(), "\n ") != expected { + t.Errorf("handler returned unexpected body: got %v want %v", + rr.Body.String(), expected) + } + }) +} diff --git a/test/readme_future_me.md b/test/readme_future_me.md new file mode 100644 index 0000000..04d122d --- /dev/null +++ b/test/readme_future_me.md @@ -0,0 +1,18 @@ +# Dear future me. +You can be proud of yourself that you have a very own backend and website. But please I BEG YOU + +## WRITE THE DAMN TESTS + +Not only you work with multi-directory project structure, but you test everything by **running website and look at endpoints!!** + +### THIS CAN NOT CONTINUE + +Please, dear future me. Have mercy to write better and modular code that *can be* tested by **UNIT-test** and **FUZZING-test** + +At least do this for + +- SQL-related stuff +- Any IO operations (in future) +- Any calculations/conversations/user-services + +### THANK YOU!! diff --git a/test/testdata/fuzz/FuzzPostMessage/46b16ae58246e7dc b/test/testdata/fuzz/FuzzPostMessage/46b16ae58246e7dc new file mode 100644 index 0000000..b143fee --- /dev/null +++ b/test/testdata/fuzz/FuzzPostMessage/46b16ae58246e7dc @@ -0,0 +1,3 @@ +go test fuzz v1 +int(34) +string("\"+") diff --git a/web/static/fonts/Disket-Mono-Bold.ttf b/web/static/fonts/Disket-Mono-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a33bfccb336054f663de8a0605fc4a5bd6fdc0f9 GIT binary patch literal 90660 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 TF8>m#rQzFH)aW}|bi{uEKvmU% literal 0 HcmV?d00001 diff --git a/web/static/fonts/Disket-Mono-Regular.ttf b/web/static/fonts/Disket-Mono-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b564c60ac3c09d7d97cf7a5828f05ff388cec5cf GIT binary patch literal 84204 zcmeFa34mNhwKraMyYKDp>FzsA&py*V-P5!0nI)5Cvd(0K1QJ35Gb~|3!V<#1BZ4R> z5JUvTg+&62vI!lO_mbd(;sQ_6h@wwf6%qBRPyKw)<&p0H?^ktiFOx}#etggT-^(Oj z+pT-=sZ*y;ojP^uTp@)JSFSyJ`4gp&3<+WV5&7X&NB8#MJQ(^s(oduQDlzO}gSKkdxRPA&PB?>r$6!}Z@?c>1QZF1`J!-E~6PAtCBZPCsSCrr_mY z`6}MO67^@EjsnZ{3?P3E@=d3ob>XFRFS_9aLKtmm@VCx9XXA#4zxIn+Le72|Wv8FD z;nH)xB^AY}e?RKS&)#s>Dc^hQ;@LvZEeHIA=bm%Hh4Hz6yi&+T%aISBd;TfszVMTK zZx@32GUf~7Qr1TQ-LrY?NyT&jL)3VFffBL1>4sl3{?Q#jDi`65X}sI>MPz-#U@87^ zpXZ{Cjc4o>VKK{iw|bJkrYj7vL=K1xg(;SxuME*B`o*KT19(Cpg~xbYeh^oMvDFyI zO)GRP*NcAHh0>rI;6>rRN*KLD#1B^wMzC(hu}6x9LNq_BVenie{(xe(MaVxI=uHvF zjrC$Je!|#+-%fEn;=-R>wo{yd>--&$Ulr`4U{q!K2^J`h`DTx3FIBx$b*4%!E7tH?<9HNB*y{O`X%g%ID|*T-fw`2}ceV z_ZnjtuKY5$?*7`n4bR(#`}3c10?Lk3@7aOp@|U}QEb^}*&)?6Gz5(&2#tu20{q2;+ zC`bRHY$wb445rm{_^c;T-iWedq%U;JpF{i{>b`;a4a9#z%pc*p1HV(9*oEiU$n&=g zzb~kGhwQ;~(Jy!|Xpny>pMf9mxd1WoafHh2=RSfof5)T#i@4@KTi0{j&1?D@#1-K= zzo0$(-otfURXZn8hriQM|1`wBhqU}ti!SYH+_0X0udb)- zx@GyXo6f;WSlxSdTIc`!-(T2Pwn6>KNmod@;$ZxfD_y|cSVK9mVg&*IJAq!gLXNCh zxnd>$<00y|a>dBXk&%_^4<-A(KEgXzaM(#9`6oi+&;E??3x6gp0tokrA`w6s6h#O_ zB8V_7LYX&(jT!GvQ7mkPC88K%sVK?(mnc(VM3f?3F3J#Ah)CwIqEeJ2tP&Lnt3@Tk z8c~(`i>MXV2FKUpEirUPdMNHHoY!LMb<06VMAz}y{MMLIKBB{bA5l6aNBoMZU z#>{_;R*^*5CYlhoi)Mr!q9yYmqEoaY>{4O3XhXV3v}gV(dPN7qKGBJAhUh}rFS;}T zM+}G_goC0N;gAYvioVPr#ITrwaF*ytI9m)LoFfJ^zZWB72;p2Y6X84+&KJX(--!ic z7Q%&MHo`?>4#H6}f^baC&HTGqEao9xBIYAps={SrLFTt&xmbwsFtG^X;bIiw3Ne=X zjaVrbBRoPZL3pHCif|ReUyIdZ8N#E)a)fKdVF-^FhiCpxtQ9K|t`jQ}9wUxGcr3zS ziE(ix!U?eo;c;R$!sEqJnO}+%#2SPrilY&(7i$roB-SCEMEDD_K^%kdWN|FQjba?( zCNYtDL!2UxLwKq<9^q-?1caxH6Ei;-n^ky*Sda7;aT3Ba#boAnahBMC@N981!gIt% zgy)J)nV*UC#3=~RSK$TXRHQEyr)6Ff7m3pmUMw~vyhNOV@KUiQ^HXt|I1}MJRCu{K z3+Z=?vok*tSBP^EUMbE+_%3lC!mGsj2;VI($h<1vBQ8XEwF<8h7a{##adGAq@jh`0 z!fVB)2(J^DA-rC^BlEJ@DlSKOgLo&x_p9(maYg1O@d0rq!kfgq5Pncxh45za?#zqg z7V#d0w~DI~en^G4iEA=1h!2bRBK(MWAHt7{YY~1-T$lN=xLsV2@D8yR;ho|Jgm5 z5FbYPp!i7U2jU^|QG^eRk0JbwxEh{!;sJzT5)Wp+ zE1p#0m&HR!e?>fu@G0?`%x>{j@d(1NiANEBU8E3xLu}7{M?9^_qro6+S0+A^kn^MCM!K`{MHmpBG<1_yh4p zgg+Et%6wD&t9TOOkHnV|{#b=Ch_4|1qIfFvFXAQfRfI2#uOWOzd>!Gd;v1P~#81T2 z2!AS`LHL>qe_+%+D*UzhZszOa zH{v;jzZKs@`0wKT2!AJ@&wNe%Ui<*zAH)w4{vYwL2>*!itKvVzj}ZQ+_%Xsii5C$5 zS-hBeO8iB0iS7F2j`#91{OVN&E1xt^5Jg66$kzPqJ#X;FLD4nz`8KIu~T76Hg{WLDp;6B zuCSyq$I5Prj)Aw5U?31Y$o~Q&2cQG23$q(L6{ci!w`EgBIz>z%mG>iRkUya7z*}i3 z5C|RQe*uvL&;izk*^QkFQ?j|+3RA(tEOLb{OVN&E1ww*-V9tZM&E$^+VDQ+xkzH zyybP^t-3TEE4 zjSE(}a8tFl4zMoFZtPT;lFi*#n94p`6*H$x+;TV8cjaH#SAe&USXEW@ApffpIRLAo zF=kwt-PoxxC7Zh~Kcya!U%*G^73L+KT7}o6QQ)m7UQ-i4$p30Y4nPN37iKqhDon}d zZhL!Ez*~P)U0w1Z|Em)@0PB)X%(yVSu~T76Hg{V#rS5J@HsQZh##m)_z|yz64!q55 ziAGxv^1rCa0q6kh!tBOQg(=zGZTYF@{ESMYB(E?p>D0_!*VllzIqeM%Z3pLHy9-u> za8qq<4zMoFZtPT;lFi+gP2r*K{KtSv^=s#!E_;jXsD?k_ZLGJcsrMlNYZ5sC9bjFU z-PoxxC7Zi#AE_Ret3XxArJVZvxDLFn7;0}HJUIV`T(H`On;IN+fOTPZW2eHDZ0@#f zN($B{3|GC)pKVMvco&Jlk!+!~O>Tkf_^P||2 zzE*r0Fa=FjqVOtV`O-TiIGpk`Y5`$ex0`?$HumEX+ydYio;y}STBm0w~1wilKmeXtQ3gl)(ySb8jgoyUAwa4duU#!^^gtcK0S zQLw&P2WyFqu$4GjJcHfr`>+fDHCQ1CSXF!#yWU^NPWEoG0~R*0ZpD82=dkPkU>=Si zgN?*l$PdAG<2rE-cHISb^B+R^QP>N-2fP2Tz`nE|HZsSE+hAXCm-skr1h!#MU%=kt zN3e|eBrFQ=&_H{Y&g*zl8m2fxYaPv19!jQs2SO z`1i5D{$1>oe;d2!&tsR}Yy1^g#(_H%_!hvxY_xYJp87fTVn+I8SdPl0BPmaW^V{VbU-|Q^=e_dD zmp}IM2VTDR<&7_o3-Qt~Uno}N8B>Bq)@$5^-*EhQy?3bgtp=y^9N`AkscKf#{mtDu{2fRf)KE(dL2 z3F^5F6b#!IQ0k9Cc|J9c{1{2EVl4d(RQMBz3d0y#KUI`ij}i9I7!j{2di*!oY&BrK z^n>F1Fy3Zh#0_E0Ex@Sbm|F%a`KKaPwh?_UGYuv)RU`I-j?GYYm-G|OExZ9bNqNBnW)=39#5@aJ)TG{oT!VZ zW-&EuVj{j>SK6>C)rKM`7fi? zL|saDPD~_IV)ghb6BFGjPgi_NJmqcP0D#P~)#E8MIhwMPqX2&*B`3R6-mWCzif`I( zo;(`o75#FCDPwZU#+0Wcf%38V*7#ODdwZYRjAk7*KDoMX!ewjf z&D|-pE9D#Od<^F^6lyGFlcPysI61l@Wt@C!N^ZpaQ)WkZ%GVVqkioHyJG|m#Q~{U^ zCns2CaH-& zPT5^(Ks=rbjUCQ*A(0%NNQIeOgIpN7?o=@zQ=(832L?6*?36t=8Q(e?PuW0PcdDdo z#oF=h-c5@qno{9Yl9zU;O1oAZHNN6#U09buc|?_$b!`{LW9!DZ7Z;DE?-&xlPG?k-mkoCF|@n*a#oW&pyt1%NPa z1t5&u00`suuJ~L<=N(;Wf5~Kg44p8^PTPPu)lQ=7>`HZXraCZOxfSsNF}Hr|5cS#V65|$tv$(jeC}2}Yi90pyhlGH z<;62mE1sIp9AL?jGFu!RB-o!PTbb1CbcBkez5RAE9Gs(Gk zY7^bA9O+8Ndx*8A;JR}sdbW4Uatyq=*<$o&u6SOySk-oKEvPfUD>c;VUMYC!g09re z&aI#!63bQ$$Gu*RZs|#N;{6L1x=4U7c1c`GjEWu%5)I=bFbgo~ETy{beQQ!&HXUL7 zJ=90Mk*~~6&Z<>zfpL_`aFII3_9uvWg6Om(+vLS)a)ln8n94B@BR#1Z7>i5x zQN9$sR+dLn{iw67D>aB{IkC0`c#SW`oaN%_ur88gYB|t)c-Lb>EJ9)h5|W9PU5`ms zas(2poBp7b(lDYbrvFVEbA~a&N@s? zunrT)vCbG0$FmL-C$J6^C$bI`>se<35+|_^6O*jN#0J)3;^eN>a2CxQnMsYHc#}%a zMd}nqPbi*;%&A?eS=rjBF{5gqu2QVMS*2L@jIPw|Y}GBysH$hG6sw-4QmlG*S87hS z>N(7)s^_W{tDdJ)ta^UeX9Hftm5fF^Q~py@o~G58a;oXZDaWoAJA{uii2T6B4w-rH z4zW186U%1LN$YX>LJDM?m2kF0T-1dEOoKbb#a;2G;E)){$qCA&hi%##Um8ChlC!s2 z#kg?F)`?!oCP$BNMz|KjF@)`G5@PWjJm(TV2e+X5)(Je}4Ce`mRZ;IARJycl1>~fb z)#FEvr>jrmQcNva=oIV_d70R!An^6Al13~$F4hZE}XCW;>`89y~ zYNGtT|3H+#uK?xO66Jxts660M`E}Wb0P5=j{&foFTi+&>-*6x(fBylY{KhP#1t|Xj zV7`$kzv&-{@(&iE{O0{r`7POo0P0%-{w)gSA9|Zme%pbd{KE%?@{eR8EkOB40rN+Q z@{j!kQGR;?%J0}e%J0lJ1W?}v@b6S8|M=U4^1BZN<=YMj<@aPEEkOCbfcYMx{1g8` zlz*}S<@fC$<)6wn1WR^{`!Ctp5#IE1j*x8zg9X5{er4851HPVRME6ZYQ< zZ)*mCZP*cXAC1;4Ls8rpO=5c4&5>ITr)L~-swkc z%dxk77-_dS9~^U4zZ;L8Wka7vvkyl*8CG>Ug!kJN}^Xx&cK7@R+`3)Q@0D{w4Ib_nxDi5=bE9m2v-yofXk0=_8v`!r3eO}H_PpC1qN z;z3@doAA&Iq$`jvL3su8HOSYnF48fiOAt3ACIHPZ0`4MQEbHBc_r%4=J9lBv+(z6t zL-tozMPjm|w7gR`&Xb7>#zUopGlwJd<$xUWBs~>!mlZT_Fg$jzoxaWPvpvX!Oj&-# zc~=;Z_|5bu%@Qm9Guz&|)3#;3Rbt8$On-V)wVaiHx*FJHyViT&iE-JF-McNiWwQZL z0>65+pc;@?BRw0?b|Bq>bQ8)ukncghhjo!2K$@)|MqH104qFz(#TNVwv~B?WfvqdY zKA~#e%n{k&AS=VayxKhz@B3VMn^riiTFRPkU~SBLW7CL z+zm$1k`ds+b6zlbVKBIEooNME6{5s%?Tr(!gOkhPL!%y635&!xHC9I1a<&rjJYYZ| zEm(%uS}!j0z#_pC@uRV(Ftor@vNxxtOU};{yda-BE1lC zw-XQIiNx?Qt{0Ss8ocwW_RC=$j~6r9+l-5 z@ZHj^a+Pk@*J$}XHVLj0l@!Gx2KrlCJv}lhhav-!ibp_deyi8=%QCyq3yJ_T?G2eFp2Df!mlkGTR51e;;(|_Q4lHm#x@EUMa@d2fM&7dKD2R zVeCL+S^#FmW-dqbW}=xZ5YIxq0P&H;M*#R3z;C1%8 zs$zqOXX0vWOY(rwAjfCLW3l+Gz^r&fLwuIiP*Pl6(%^}emXwsnPTDs8p=sY-AIojy#VP2tb_DnNb~v%Ctid5)*-zP*VmwY1F>0)%u@W01ce<3 z8y$AR2zKq&c&2t7nnSkWsu zDKJ?E%#wF-KJXweL+nS)YwVpm#J#&ABG}-SytxDO591lI#b9hg2qDpzqaqoHfmnAd zXdH7y#XvuioR??>-6z%b!2zJ>k3@fk4-?3MvEIJ%MvO!iJYxo)= z#6S@M=e%5pbTiT{Z%0gQ^u37I*TaHLx3*iwEtq*pXTz8P2NL};15GTJY8=}}GSS#F zoapBOZb>GFvZ><(rra1CYO89n?S`thp;-DZGq6%NN88(@=@;DCHg2)}ygJd}8i};c zn2616t@1B!k4{9}SE>+WPJ+%cSE7wG#YWvea$yrciW9>Q{O!ow$eYMh5?~wINsNb_ zcoy4NquR3zl3_sgW*;heaAOj28RQXmAZGm@PK=hrl4lMN4U&7Ydu;<3dJJ&q`38!J z4|F9Ma9i{hHt&^aoAg^?&eg3$u~%Y4tyNV{qFVmewtJ&(K*7b)_SUH8;;}*2m>H8> zi7(deWt-tKk!>CqU(pmD1P^AntaFI61EMa8kwjRA_N_x)yBm|>UvWXrhDA)Ax2O&h z-E8%bYlR8?Hsg00e%IsoG5j9DZzq1w;P)f^eu-Zg6D1#c98oq5(&D>UVSZ)Y2ty;r zl}d2hAy%Ox`y!5*b1!4^LE`>cOnz^PPmCO}stQaDz^xi8!0ZsFzZTUO$tn0o4;k_4 z5q@0pP^E=oR2%JB&B<@}EPo&zP1uJQbcEd}U$y({r|F6Ih*eor8(2_Y?zgJVz<}Lk z71@jP`)4rL2d9;;Y|1{0Ksr_Pq!zp=wZ+hKcjS@31c4P|qa1M%aRbp>0lQ72(ZrZ5 z7-68g+|Z&JkW6F;)Lw%LgUAf1(u>{UBezD|K_)nkq-dxfllMt_w#>jV~oN^FH(G0@arFdRWMy^&cYo^(ViWI8b*~J(LS+IvnlNdo9G2|I0;m`3# z@Q5M#Ez){j_ncVzAu})&d~GHe#slOH*MlWqPX=K;lGi9pCdnRU((>ODZGW8t&+F|` zjFT;B;{^I3Mv0J;N(H)xAvaM_iY;B7z zpR?`s7I_lMD1DE-4S=P4Y@pl5XeS7kUjd?clnY0Vz`F@Yz=0zGI3l!at;F2zfn^Y3 z2*O&IJsug{8w9oL7|Oo>0`>YEA^aKJaxYH5WRnP`mYLE15x0lu0uSyQg0tLQyx;BR z4)!kcGf>X8!aVkHkAs&=tj7r(j>aGcyr|HC8%VZuR1fci`%T9$G3~kI*jTN3JXj&v z8<;(LVs!z-Z2u%1`BQmCzRWl_pioJ6=p4B{6-|G?|6>X+uygzkn?O6?WM>6lG5%CO)gOj_hd zLu{F3e~>WJFM&|)J!hkHB>1c_R-!5nji&T9mbtHoVTtxXKyzaa;^xjvUU;hLqoD4wWW2-T|p%0eXI% zR3oH4`h2uKeKMeZ(PrmAPb&C1yL&AsOSzjc@A-q<>#AQj0B)}N<1XH4>Q0jM;PoXO zOYAqUaj6F2xGHn|&68C9rk1X%=LWE3N21c_iEza$GxvSQSv}dGxz7`_Ml7#q*Djwu zVuxfideLuDCSgA|!xxm9emwm+v{DlG_rf?9FqMfqJ-)p#yGLJ=;9SWN<9UF@qL>LK zBQBt?fn;zkpE!a>8;{s~9%k?8*WkHfJof}VHz^L&&rK*LgdV4X7k6PfX^TW@*=)U> znK~^C5ZTN&;ugu4=D65cXEfYLN7s-G*iLTLGgdoh}%6&Ef(*?nqZ5{K#)SOal=5aXO>{SJMibTjCadY7ki#w0C90dWBB;o{ciD>kp8oQr+N)o5pots-rf<40PpMXL-9 z{;+CQsgpuam1?+MdaZJMD$8gvt^?+n9h66Kps;TmWY?a@9RdoZe z@u*d;S>dG6GY7a5#hh#97NU{;;Xoef0@Rnc{@g;1+!VYOE(R#6aU@y~+TKr7(y;=q@t1Lg!eAdAx5fR#1+r!Y9k2bxoq#397vYFsm3P$xhB0FSKJ#+;4e}zGOG^FCuUC zo2HRIEmHjI=cDa%OPT%ZE{KeGl`ZMe?VmLLe)HV2C7pU%rLudji8K@$q4sE`A+YB^ zAU@{lbJ&+ByX)tTXa;+8BigmE-kb&85O?flS6{;(-b6f%0tbIjFSj1x2%4hH0dZtS ztEt4%@%LzO-kPHB`P=k3pg$wKj!$B1N3G;{VRJ?gg(@sGIKy`VgVaor%T^&BMohg- z8728H;FROW!X(1D7;+SEYC?q&Dsl?q12{oeLGK8S#eBmRpK=S3tQ^&2MBGtUdIA^T za-*H6lS$vjF?TbE+52zNWMn(a7^Rj0lH_moC^N8=m(xR4LHV>okFG|5#MzJYwL8Kn zox1BmYGk@vW0^q{Q`MkR@IVIu~5XKfFm!` znw1>9}`)lJ+4dStzB)?1}Asvb*KJ$;#Lch2ynPs%Rjic|#- zkf(QG1xlI>JG(7hf0H(;o}vEV98yY*h^sVm1mz07A25~M%VFp%+NvbS;mb-k1_lmS z+W*6%9n>*_DA%l+ZkVp2n7MNb^UsaFDEOSCCFGn%`sAFIzgi-#k}et7?Zyvv$l+s1 zJ9C(x;3(CEuzkyRH%yVh!Q3(Ol(Nt&mXS)O*a0CpnnIa*&krb%$&=a6k>19uJf<~l zh0>pLb%SBqqwkpVa)0W@TL&>Ix1OP25DPY1KJWx(#%ZW2* zQ3W!0#=7T3>dc)Ro)BfA>YizlIyPVkUga>J^6a|80+%iyfp#x_u?!`Y@( zIQtUVBIQCGw7_;$VXt&P3v^y>tdc%{?d+3!j7!hE6kAWumc8|a6%5Pcxj`T0iueym zrJt9b+-5=B(ywtJ|32^?;Cu-N(uG(Twum9(9I#MtL|{GmksB66v!_?C4cSzSlX6$C zl@%V<#n^mTOmWE5Lf8SgqUQ!_w8?Lmt`!)>o&xuNyDstBZMN?c zV;kAPp0h1~=#^JOR41tX*S;SLeLue+=DOT|9zaw(=)hwTI3?)R0#ov!Y|m8+xjluc zZj_TJGCc=zH{$ukeHCuvwBf^V7!p=hfGsJZh61UK`Vb{hOLhiysJ#xy#Ia#S26c- zD{Ssg{}IF{Y44Qf&F{oM&9JNS+8?xPrPT~byZkb zh_biyTx>LA$WlM@O{{C4&W`It_G&pBKG#<2ki8l$Br(H7=K628SDS`jpToDdp2ohF zwy!*7$2N`esT$WBKZoqt4%x9CvSZ6Lw!yOGkR970J2ptLhwRu6*|Gg^vtxrirR><0 z{7*#+<^OVg+0QM%0P6x>{vBM+m2$@~RwcMroNhnNcqk6~=@8Gq=>qH;D1AWvb)@gllD>fLY zX5_v_2zGe*mX2suc5BpFmZFsV_Pk0>9QRNgXrrKQ@py_t+a^$D*O_mV$NfRaDi2%2 zkT<~wDoV9wUNL;#R1PGJGpU8!$!$HF=i&EJ8tB;%!I)>6ve4tU-~En_-jBI8V(nB_YHjs4429W!Ahim{3*#I800i^mE#w~|z0F{Z&|4Yls z>9_oqDbBQJlUO88TRyENz}sL0=$;`O)%G2`VA8D(We3#pdRPr(Vdz@jGCcyj4#taV z&*6pl6B;RXJLd%Hzle*`MW~=ocxl^HWlXD$sc2&5W_fCzCRx~!%^9M)wpYruPr{HT zMf<%J5?h$KJ=#uFEE@UUPP@@yQDwY|xs*CvsEkcnK_%Lwd;WkM4coOmooJ}3vdb5> zD3epjt^bQ{AR)u+y;bT&>8UHHL)GP!;dQwy!%wa6%J5UmU44=&S9XYwN2FF5&m6L` zgmUJPjpZR5%R@GnYU(&-W9gjZJ!E64q>KOG*;w+V)?G%8@gP+1EwGGUq0c$+%q8`? z`R7w@v@j0&i6_HmltTgSuH%4@G|v@UJM;86Cl+9nn*Kj6S<2oA~ee3Vr}ep06S zg-*(b=gDohJQ0FV`V*G_FXfS%If;gbhLMZNaazp4{Fq%_Y{xtec33{d!`dkSS-h&M zp?>bdkys2)M1G5s*Go(52J1^oOG~QcMGy}lA8Zr%qn)2cI}`BHH>}$^6K$lomYHaa zdnSS&TWBL)hFG1vtAfR>_DZGNME^{Vb?(wSQt`VEg-OtbWee>}V_&oz3X?aH2L`&yU*I4a13=YbOfXBn%m6NG#BMDILn? z$}Siu>(icb9N42c8%H~aDerbGrw8=Sq=jTJ&P=eMWPzVN&jFm1mct6~09Bo!%N|-$ z2@1OE=$wq7g>F2{@~40M)@m*Qos(xlLAp(Ju%Uc;=u@b4)S%Dx@W740j?eIb;{}JE zQjzoCfi>dHGoF1G@0UR{@GNm(Yx`Hydk1l>{X;OV-s{SGBkmbD`gh@Z82Ve9i&u5; z=0N~xw~^{T=$qc28(BQA1WUsi73%14&=g49r4tURQ>676rTG4ufg$CcQRNf1BQRGWu4?HMWG zXIe$mjQS!yM5C<=eacJDR78S8kHS9Z=@_5&Sdbp2DcO&~%EtQ9NZRcaEA*VkygD^T zL!csX8tM2Mv2cMTCJ{&B(jyMquh!D{039m90iHhMqfZ|UONE&VPiaybGn;I?35)SG zxu#48>-tu`?BwVyn>h0eYdJI=#Gju}@pgQCd+ z=q~SW`24z?!vGzW#|L71e$o8UA|?Q|d-8;R?Vg#bLF+k`Jr zS%)VSDGA|Z;x5cz+A(cN9WA5RV`2=bMTJh#ail;g3juH6W4f6(7;rua0-n<+ey=>kTNYpNu8Ei$nq((L@fP|MT8E zLws8ID!njp4yKIKk4L*4iRY0yl~PWj4<)99NHgYyLb;yY$~_Ov87P5r#!ZOH?RdQz zX`Yv3x)o{aznE@En(_dj*T;4S9J#U^$2~c2;JOAeZC`z`hu8yYrUodxw0BXa1^ioyTtz$WxZ9MLg`pl<9c-j&*q?k~0I- z^N?n|fVj}!%{j*nC|q=bM{$G@S)=HCCA_$vUG?$@JrC;3=O4hDF3buvxXMCSeJU?jIhQuWMA|$S?g2upZMEZXSZO9z@!cm9N5Q z@p<2x=k=FX`QZ+E(u9KC8$KD1jQwV{DdDsM=eIo-9(=32$eav&OAOOI1ulORRRP~T zuVJ>DLC-w+p)w6SXqX;p$hp37i)qMJ>!i=T2@AcrvAPE?v2bm%mDX5b(}{XJ&b>2@mj-p0nv<>CIcylFyyfC%BzibzyuGd z`B3FJ4mnGu)(~*TxeM!nTEvhH3Ra$_IbR=IE^rr_O3bEIQ06p3K6n;81WQZ8AZ2mp za`_%{Bdn;M_Jn{CJM}d(`f>FFnI5vCe}ave_&( zFCfan$&|e*y!Zye@g3Vzx|eX**m^>YI9o^L1JD_;KeRJNFAB(L1BfdSGhgTAlU%>L zr=$Un#)cm1tp%9bOzT4&cE1yn9sYmYMT~uxo&R4gwsoHf^a=F?^{%H>trgg-Pl%ly z^%V98jLa5NA(IcO9f_MajQkn%tb zq|s$~w;wRj$pyWzkv=(lGOj`FLChJEuqK_D{`@+TrVKTJn03Ywv(93+gYFACMbatV z0<>u{_$g_*}mr<+r9^v>>uEcdx_?Ib%^W_Sm_?y|Fa(`zC<2?@wacjR7hDlQgTN$$6Bt> z!uTe_v6^lUSMIsEEaqZ@9wina*687i)Ccs;KpaJkZz50}EWMe_?7g6YV!^7j$yj@N2Z5<$*EsR%B$5n1$3Bx0~Sg{ zvG2y_bk~(9`|4%5G!Q7Qp6%)lZksx(7c{sB1ogn4afC?q;DV!XcO<$oDEqaVm zS|g42Azp!a6>(Gz>SRSd?zH^Q&z|&fEt(}Fy*f)$g45oAIB_dP49~|Ls$_RwQus>R z9-u5nXYKP1Ud)YFTh_q;l3tNkmU+D1B7gmGM=kLqD}gG1iB;d1EYCV{_ZtH)drv=r zT1wec(dZ{Kq)`o}Rw*!4TAomIu?JeNddCYByoN)gXNV`{9rC}x|EjUhewQBml$Pm# zlajJ4{ZX?)iI5VzD=m|Qb9mCj71LzeU5L5*xj!%&8@q6B~hp4*>_+GeDL@6>KeAty||nOu;U+Z)oNF3gJMnOa}<(9?r#-2W+es z9j`ET&YSs0fj1LHbx3O-3<&7WavyVmXWEH7I}_MVg;ThE#3h|QznD6kOK~COuu;fi zc7Ytmc30)C0Wrcaljp(vQL4lcC;cq0eHDKu&NJg=Qjd($e9GYF`6*H>E@15+HL81R9|BMK!er z4PcXTNjZ6gvm<<1iA^OZLacNS&)KnPJ6x=o@rGcarac-1$B2>JmiuCgd&GQ-;l%8d zdhL$r_My00ywxcO;p#Ppj|5duu4P`}l znOBPT`Pd#?k$oO*Xn6`CVn)VRh3<@&Hv;B&fPGB3_IJ#{Ngkd{0ebfo1EE^J&AzY7 zm9TkKitnRvK>t#t6Xl2BR1TM@d!tf9;Se$$_DEbExns42m)?9cImdVOTjBM}_&u79 zcfa`|yjF_8pp9Qf8{=*p-FNa`^uHWn8!H{#DIdlH->1BRYC@xg?S9%rH?_z33z>X7 zTH8)VW4mp)vrn3hO*x|4b7vkY6~F83ZHQYc*kjgE&VY&`vl&9s_Zt_O8P^Y%6kg$KNa^s$NPJ1 zIg({Q|F`d_jCKzEfp$QuZ57M-9Y$&bFrx8mLr-Y_z7v}jOa90?W+#}{l0Sk{yb$E> zNB0#W_9~S@%t=98FhmV8h{W0N>6QF=7ZeBuWj*qQ;4`7nop**p&je+{XSx~FC!;5Y z12_A^Yr}!lP7NUP-5dy?WQM(kWnQ(WV;inO8)hi^V1;f2m;lhSr@oKuIv{5~(p>+igi&e5N7gY;`Cuq?O0 zvVM2kY48bkwB_}}$GWwiKGwZn-IF@=dJKBiLVYzQIBbC54)H^xJeE5vdKd(Zke+QhiN1kGr@` z)5?MCzGN?C6KW9XoRwQ%EtC|p0*TYX;4Mn5(`(gS;TNGE!lKi<+O=9d}=4Dmv`kTw{7Ig{3auJJSci{xx?9& zpflZ?-zF}6`DF(V+77fy_rB7CQv=5~kYm#MDu@E?yfVM|3x?4I4Ow^Clb}Qj-tuj< z$_#fyPCzSB0%7ri&CsQs5B@_T^?c4WssOCtEnvT)jc=lj6;LEP{>|u-j$SIMNq5^; z4EWu4bs+6(srj`7JxWoAa<17E>@&8DYjO5nlu|9$d|Ktx;&c@og;ktWn(IG+lh+i= z0c@L+$MFR=%*e(zw8Ol>Z3h~t^SYhdFCsLQcgTBHyBvK~F~&xLK8mX>joN(7${xPm z&SEx;M=k3Ujd+lhRe1gl`OlY_@YVC#a(}kPYT1_8V%%gTji8Cu1v-kYbDHD!lhWV( zztpEmtjL6MDPTX|-N!fqAX90=eT);(i&T10w@%xFFw%`Eqh8)b?5<{eksm>Ri4(6v z%n@)RSGQfxKJzh-fBYKAFqE5%F_tJa9fOKg`wStb-9a4j+}&CuvlwwD@=Fnu?2e?) zUhlKJd$8KGIR=R1?3^jR_m@@XIon>Yss_XcU5z7w4Y}sx6~?91>9s{)j&}Sf2grZw zumc596ZF~qw3+ftJ9?BAz_}`1 zsiYh{lr)4j%>9@H-w9vE%2P4LRlQ}=3=zwDj zqcQ31rsjPb?l2|OX1_~zI3?@D6#7naw!PDt!mq>~PGlcWG)qZ@9fqNP7{%6JU<5qt zg3NyzOXatLtYun9rN8B|1Qfd*jdJ<&5~S(FoU1ub9bE4wk>=T0VvHvdSaujGc9CO| zWviWM@Z-T@?2~{$!2dEiRn;&gib_aFYMoOBZj8B^EE=9+@qJk^wU(jg7UZXV?(_cO zu-BXL2E9Y^1$}c`h62I3*E>5DoD~SfgMq=8k-mA!L0nD*0>eQWC`*hbOUlYhl4FUo zQd!a&o5gEh?@%N%6bSG+v!k68Z4I;VoIqe85*hG%@tom?_Ky}9m)5FlWP5R<6bZ4pwq=}_+#2k{8y2cP&h!02HiFmb>Ur)@n zIqJc<8r!=d;;eOum!DGAW0{+u><%)PwTKr2^~@hxXn9dUW)#{u?@h5Z%APqYq`yK2 zft~G~X+|Ca7FZo+{gCHKGLMGytTkMERJtutvtxQh0#()lIr?-68dd=u-$!KnjWfY# zXNXlA{}JUhpE9}rJ|+2T2ghv#xM@ z*z7+Y`TLmVxXalF_Pd&4Zf>xPNh2PBS&z7x?Qy>>3U3ptJ?ujn46V#vMX zMN`z5fvG6qX7vjE__Zg!~6DqQANet{;I_>X7OkO<$)@J?uvWi+6=-!5) zH0``cCPc=pdfwfTa721NehM5^^D}jp_YP&u`;h(|7CZkT+kObY3-6ff=b5xYSI)Ql zttQLAR)uQs0_JUN@w*8J}P=k5Z6TK4^cC8NIJ3%~gvSTgg!DdWLslzdhwJk3{u z^Y4)l^NTS>mc++_4G%uGgviQ%`PcaXQmt8HjH|u|lcskV8hPfGA7Q)ANhe<VyePeLp*$T>S3CAfEZy2Esdg}s0HQ0BLvrCJdHSYJ zyoWjs%5xT$`89eM9Gp;dK1yaVa;&UaPR@Q&J7wbti>yXgV*8KC468XcAsRIO)TmuawA!n5^6uP|)m^)$oO(`C>QJ>dXgPvYpql>l z+{h$8VE6=QKI3Rk4|-DE^BI-S;{JT}WS&09(W{tPK@;bN`kdir=X2y?3_p@+Yjev9 zK9l$cCWhrRDy|C2o}*xJ@{-{tvJKq_mg#wsMh^7BO}sBfpSNW3UhjMrf_j6gZ^27w z$dNxtj)y7|=*CMI$SHeZQ4yQkg01-{CwkqJ(zvS-lkecxIxKLvnUm_g`x%?dC7kZ6{-pLWX z69hqe*d}f_>I`xe!H+a3NxT)(IHdJq%I*-~k$_T^yOL(BSdPq4G3JhnBOXD{-j6#sy zt>ios^lOVQPJv{3w4@Mj36FBJb-eRsc+{j zRI?K-fDZ7iPP3y01w%o9&OFc~KJpuLa7-ya+dn(b$ZWt`sHDM&m10R0OFt&RK=o;Q zY0!|;cfp)kLql{VFcNKOh|RGYic3n08$8icoB@h@V$nH+bE5cT6nhP4f7CS5nSs_ox3in%~J7e`DgCq6PsESZKQrBJ^DJzTAw)3PAXa_c9ZWSRS)j)g-6WChNL~S8o?@l?b}UtpQOKPEP%kS`uB6Dy&6;Y^Agozj!J1Ph_@kyW z>QdCOOtu0-;bKZ84PZyZeG8K__v9SBF#UDQzvsnllJqozU=nNRmEgSC@)dW}d~*VnttBTIML_O2s-)KymE_f^-0?PSwY@`7Wq!QM2H zetl7GZE3K$qzG#ce|`OuV@Dbip^%;aeN|DBVM@cSDuN+?d3kw7Tl(6i_JA$FTwL6{ zu`V1gDXDx^jYs0|-N0WLIJ&aq;)jf&>A`Op#OCVAd>}ft_y!Tux|o`vW~66vW*%}R zZ+A5xRWb)wt*F$EF$!5W|3ro>VL{HRbYu^ZEk)ZNW0(tjb>3hiR$LsTGLJ`t-r)AH zydJ4;JN+0pqSa?8Wyvk-v_Xj zcy*elmW4R%#LlmB#KK{R4fXy#KB&lWAo<$c4~pG zKEz9ir4i>FrJd?)MZ{X8y0K278+^P~+f1UFdXiC_oBTw1E5;WD9t|>ibB6n!%`F%&?#{>-w3#vvZP{{+n7U9Q_bMYh4)TMCCmWR@5l0dx*w?nywz)#$A*EWG4w@FC~{F+k* z);IjvJGB*Vs@+LJW8o@ewO&FwEs{Ppspu(XsI-dxhws;Og27P1@c70C%lf&6qewUu zb;`;WUSB;G+!rCe{Ejqz6@qU=#XKpB>O6akJURw^N- z&5%KD4LghvAOc_bq9FN+AwO{+zU8(e?E4C=G){$p{$-zixGm3+mFZtm$uUdG|4&ny zk<(>2xYC6-pVCqUWi-lbQA#$nB;~2#{LMI;EpP~zJ8_I7((PRe&w2WHtmu?*ZLD^_ za!Dn;+OvPw;D`UxYcc)FhmpFSW8ikqX*u}%-1&?~I~3!K@LJB^)R&R-Fis$5c{||^ z173bV&Tv?`yDsJWx)c=+#GL90KUp~kL!9vEz8tOOe@CYb@Li=cbP7&el*&q8?Jf&! zwNS{l3ybw#U*}|fJDPSog}tw5n}-Bt)TGfYccHKMwgc7LN^S1|Ov;WibZ58a^&mET zY-7fG>_-F&Pgfa-$vcg2LKg4J>gjyc(>cO5kl_VQ6HBgu9Z~}J%%K6j%t4IZqUu=r znt990m(5!P3+n3|;{&T!4a6IDUp#6wLxoGaboH&2qscRPt_4<+z>4#gR;<=Dajo}s_GYV=;HzM*QF_=u`W8{v#8e}dN}#MzpQ)hd0~B9Hhh66(9m zMNFKxs17<)A9U$H>=*kmNBM9r#wRYr?|S?`hTjAD?ZodH{CvWo1*?GdZ8rZ%vkyqx->l+k7cjfbEgbn(RX3|WiDlX@_1AxK3~&9HYLJo3mQ zdrru|*=w82vCXi#2nUXh{-cg6Dmuq&S>AJs*az54Kp%wA2i$TRBc`~x)wV-X^sOt; zQnKSF6YWxBoL}9YCr-RvhEeTQ3u>p{OcOIFQkuFsIX3)IcREyB6^{al>J% z4?baS4?5;KpX@m`Y@iQ&d4hMM;bFoW5iVpl_45+ z@+P0%4g0e(s3Lk`12$&N2&plFK;!GZz!wa}0aw(~MeClRbqcv^9iAG=>X#JFHWy~! zzt|J9T1++WtY%v#oxHIa(l`VtO`STSm{Zw9u`S7#<4fElCJk7}K_U~c_xOl|q2hHCNPYCXK z;_eyc5q^{QKzGl$EOWNcNJRVI2;1K$!i=HpE){mQ>_%v*4eWlT&ExNQXUuZ(*2dMXlPN#?{&+kzSk|E`d+tOw`=e3_2}pC{Y?}7{Js6l>*w$7vvMllT%VOw;djfY!ta(( zgz==++(c=M3z_p*nD_v3v!(**9At=3_W2o0jrhanM1?+zz@#l;UA{ER;_x3 z!bcqhQq`&|jk1bzc!!bA(ejE!c`y_TmY3Jn#^5{0^mI(Dwd(B!w&+ib?9G*yc#@7D zNQ%%FE(f?qZbq8r?TE_|_fd+fSG(7o%jqv_7cfUZTI#F`m0Ic)kaKVVzE~2lTZU$f zs)l4@D4XJT{6_Ajx}I0)BWNWWk5#=wf{JZ4$j=3TzP}a!Vx{j}sY0|-iixxoTM7X;9?rRZAvp2>9{rc!n%l$zI= zz`56yU$fB%>B|_Zp1@+q^zL~WYaHx}WVR`Nk`J@i6BG=eNuQ_2BgvDW53a(&5MP5NE3rcnS zD$qV5#_(8)j&4TIP=qY;5*`Yql@#GeKSGYtZrw!}l8qINfJ|(6-mCu@TALvAVkQNGNFUc^KdT zA&PIHUt{D5)cRMTnBraq08{6yDuEi(pg!MEjbp^6MZka_QiDrLJ=qjUa*HjW!}o)> z$dfo}rtgurVQq?&IiNQJOY1PpuWZB=9Ex89j$@6(HJ2I(JS{*-3*y=ru|B&A_9<$8 zw#rSs>L#|S1Xd!fw+b@2s&|u{*ybi)RS8n1;&ymCH|Z?I7FKL!c#5s)q88l)`bK9_ zGr=T%1H7cB2ZIpcoBRAq5o)0YZ&0+^nSG-HZ8^tV@w^a7+A zk0KsL8O_s{!5nRQ788XxwScmjFCq0qn%l#z4{ydr;WWiuw z!7vNp12ap+qbwNBD_G2e#d!s*S+F{sK$flM%DTwUqbd{O`ARvN2_Cj`4t73jDOD|#63Cm%e zOmGsAJJk*J$TFmNulN})b=1_|%QDsnKleG);{hE9uYq2nxA>Z%VniN~`S{~O&JLI) zkZ~@eD)<%43}FXuxzz)O$~N1+!Va975u9@}TLQ?T&Nk>;Jh$Ewu(xS`cO~;%GOCU^ zllNVzFL3NC*#~3hkl(_o^VbyDSg;RPdIdF|8_mw3gJ`+t z;XAQANL;ycRXi#_pift|n)|_P>EOWE0`O@R7#-!%MdHLjc)1PB zyJ@g(d(NY(61*Y^o#m>1U|u#r)B)XYaMm$#ci#4>4J{Z3paIJ2gL-`KolrkrsirsD zr9f=E7|)Gd9Q8hCmylp9OvS3=A2U?6QcX-f9o6r$0+JC>NH@|>GMJxIIj zlo~}vuC9USp({~~+elooxYWgT66HL3!ngHiDQT~DNE_*-Est>aq9jMK&CNuPV4Ewb z<1^|st#v|BC{vPM1d^P@vIN6UO*zI}|C)MKHIhNvFyfhZ8MM9yXkC zU3%W7aQ%TniSPy-#kZco5m`eng=wIfevK1?w3(Kj>E~f?W~Kjtff{8>9*@-wmMDr& z+&SWZ>h~Jm_SNY#A9}?~Dx+DTA2i^4JaV^?XoJAD7d6&V(gnu}_nee15XMOfC|Qk@ zQmi`^!_>?(p?1`D&%r|SHpi}ci)NkB*J5NS;TGc}sTikPlOW*wy9)cxjvk$7$4Qyo z3p4=@0Z1b4`lhT0WLychb0vr~2}=47I(EMUxdUNX1_B!GixY`T5RtZSn9jGP-WqO? za;sNv<*JZ#rgkJ*`1Lis&>73rlhn|Y6i>WU6`^1og`1MA9*tZJk;Ct679?M) z%Z@{5Etuozd(DC-2bGz}!1o%5`%HtOf-F{;GSGjPA zsfCMM?#YI!LeiE3dL2vSDegwm4)gzO@7klII?nsdKJ;8If?Wx{ST3NqrPaRlS{`}} zvC;|~h>RV;2(%!9(8`hk&C8+oYUhtt&#itX6Ei*yofwbPEP+=>1glV(cL@uelzpU_xOF^2rMHZFfpY! z$r*m*tnN3`WyVf6Bj?6i(6Br^wp;n;=t3A&9JZ zWQ7 zP6wewQ8ugX5TQvxa5Nw{1<;gZwgc9Y6 zkoL_|P@Cirw>pw$o`Ulbjx@KC*{<*73u^_psz514lx%2@pdnc}+VMw^L_??qM=~^6aAl9+a4p2)1ZWZ|c3=!mmF6RX zsfCcDdOkU&QlP%a?it`3ldco-SdigBz)eL$6iI98($8J(p{MoTb>oaEP| zFa~J~5b*%Y5I`as*|ZY;PkO2l!R!L2)HBbK>YtuMiodXFrC6UkV@1p#%v)q7Ajrw7 z$w|`h)1cnlm39xC*dsWZoHW}}z}ZP*7_dvb0A8QgVAwNh{8qDnmSYzdCalywql%0 z%jXK}4*Zd=w_32566HsZvk#2NCX5n>mK(O9ZM%ekwHQ6O`m#p1D=Q!v1O ziY~BPdW4}<4Jnh|iYt&{F#X1lG5Wy8!Ewmy8P`+F*morVrs0q%+Ysl~`M1uyop^Mq z^%MSQIbMd2B{-Jg9>kv^wJGk9z@L9M?Gud5w~>O*1N%lsuRo#CIHP=%$cTZhj`3kB z?OajwO>)~DMWq9TDu%u6sqRK*}ROPW0>M*1NGXCPVm(3j#nVxXq*ElOzGQtJ}c+(e3HXxsU(M3=z$%Z z$LpyA(`ii6GEN@P4?X|`H2OQghtXAPw-4AqxSgX@$h~vd$jce`ab^nC{}1GPL=qH@ zqw`pmqy%-I?0g7;&}Av22YEnO$L3$c+({r%6)i7ShUKM^DjE$HMuUqGg(PeujIhG*NQYz5*JBqq-q*`6;BP&^TtY7RzAiIIc*;J8js8CZo zF3ZM+TVgX!z==_}lLX5I%j1ws;g}Y#6LQs?rGS~Uki7CYkym=`pB0XI5N7U5kC?o| z5l>11mZO-Xz6XNoJtR*?1>eK?6bgXBMX#^%v`*bcxmd`4u>o|bjM*YL;N5l0p>f4n zCa5H>jS{L$GUPH`y#_~GUq~0D6=h?La$zD=*gz=d85UzL0J_{E=#mAxlnA+q;SzM77|Q&KfJq{7+4U<-@xp4IBhhr$oCXewZ2P) z<6aONnwOJ9sIu8W!vcJvu)y>MLFofZ=@PdpK$2l}2sAULbcyBY84P1+Zxr4y6ai`% zJs-!|I6#$mC8uzME7S^3k%1BsM`mfkfd@y_HD;@*KP|j1)i%saoD)Fcx^qocYq7@Ii0%vw{ zwjid1$-p(G7uPy4(8Y2u_=s0myP$x@3{v{6@RI^2JJO492@R|Z10DU;1yV25)vvsQ z^`c`lZQWv)h|cI1)1bh$z96r_R75=k&;J2=gyx0O09zkvUbYMlC5}|)XXb>`tn-{_ zgj{XQiphGU^BK~ay|La* z&^MM6;Sm-Pb3rS8BVG~bGipSr6+(246Vcwy71cRUMX!LxA%D?@4o5j=3GC8IJQ;W+S*hZ>Rf5=?#FNEx^QcT@K>o#Zk|ptE5`|Ka zl^}^HgUFD?lR=D6;>kn`A3d^N>{CO+kJvQ$*S`;L+_s#=laZ}Hi6^5)KZz$x;>qI9 zgWLEDlzMA4Zzl0%FTuf?&dhLeLcU$ytc~ zBdjjkKZ3wos}Z>S)sv=E)>NUfn_Au@^x}IrzA0c^sn*$9_)n5}GO@QaNDS9&5>KX3 z)dYu1;>q;6k;Icx)LRlyMxZn(V#eU0B%UmZC)1r6Njw?cb$VbKdFPUNGU2RG;>qGz z;3S?5&axz)jFwSjx`f;4h)FydXk|4-*~g)F66hkarb#@R@Q%l!PB&-LNaD$ocrp=} zmc)}K@nlIn8J3hJo-BzcBXIElOFWrb&nE{MZxw6wbZ%QL%`d^tS)R-{Ti0fa+{!`)@ zL%`Y*u0MoFuEL{Nfj%XIJ_PBE=RhmL{|o5$_H+fBsz$Q}t)zfaN`yebkW?I- zVo20m1PKUuyTG;6z8>(JP{1aEQemnPiHB85L~RmGTLciy%mDXj2q2jG2_cAog3t>|bT?7Jd z6W-fSvGXnytTJmTHG3(l5CtgmvWl$($Xv5n?j<0Q)q0*`(>B_p_U7Gn%Cc5jk&wMcL^Q`@?iZICcemt|ODZTY4PQEHvyCE&1E#f3kFB6bNZ${e zazGjB(T&%dj~+dgKR~BP^DXItok4K}u`6xuFG`mZV;<&Tm^`m;MPih!^w!q&td&TM zBC|FBoK*T`T;z1lL`vtBB%KIfdF#=1YdR(8mz-Y=F$MH{8Yv5AO^3}P^OPlM`G)nV z^>RvA%A+Y$shz1`NxhurOM58oYw4!+vGj`>M>4Kw4%%F{$82wBb!J_)ciOKmcznUD z+1c5TWKS>LwD8QL>_w*?7RMJIvyP9QM{~MzHs!pT`}M_Di=WQR%llD&F#l}+Z2rdu zX$8&#tzb*R>xGqtdkPN}9w~gR@X5jti<*mui>8;fFFEPjLs|(v;FIrLUCrmAz12SAM1*Z0<+Ygpc}t>HwYsd1ulCYT*;4vx_8 zO5e(ht9GnjzIt-?higtX^){VpX3Yi7JkoNk$JO=~^SR@&CncB1XS z+wJY!+K;rq+_Amma_4C0|E#^#wX5r;uGw|X>&~s44yA+wp(jIA-Olb{_xA3mx-WFU z-_zQ2s%I*^B|I3O2p(q1inT?)j&^ zJ$oM+-muTN@A;8!BOga!8yy_|=>8YS?i{y|&rTfMUv{8ry$nq%c`7;aGKv&zDSjAY%woaWhB+(O^^qw?!8#T?Tawe-XkEpVZxy?_i z@*#9&e+z-KtlhJV~tuWgKsPDJ+Yh>U5C zRibHmCEe5T9c^e_>(?g6`UfKW`p5Qa(Oow`p7B|Y#<0J^ZZ^m!5LHr+QCESZ4-rvb#Hwj* z2d>Z%&($xk>&Hlp;=CQ-iLeKe^;SdrkYW64hWm_*vj}!0j-d7cJ_m3mePuZU^ZuA-TdJV1`P$TEo^rZcZ@$<>! z=nI`+iW>RB{WzMy4~p4$(04nr^Yt-Ex}~^l8Ft|)$Jng|SFD0c>_%%p6r*?-?)AIu z&)7MH0sj}0pw>cZeiOM*8_?@P=+vv&yWGT9v$w@q+KZ962hY0?JDzqR1AY`~U4DcZ z!%@8TIJ+Nvf*`yQ`Bx?|t`B0|hFLFi%=|kNqu#|Hz-T_iKF1!y%=jvMnEg4%+WTx1 zQlj>;x3GK2-E1>^gdJwT!9I_DMeaoo$}Q|Y$m(0!f3QDfPea>wLc7jI)|x!51qDbg zSHv!GGj>R}BFR=0`xg5xB%xTqo`W{{N093mA``?Z7%nnk9ax0qt=rgkwg&rJWnu;R z3-&zA<|){#>KPa*$eEi*sDC1r}1?5MfNvXeg2sJCi@C|79;mXo`JEt zj2&lBVa0iZXR_057TI^x*tZeu_1?f|cjX>-2_I-AlO|gGu-(x>ue~+~a z+=nmV*?b}P?{sh{&*8azG0)@qynq+-B5dgE;!C;4mmx>f3SP`hcquRA<-CGdBI#5W zr%jh@xQ8PU4&iPAUd!tM25jJsJcunTR$&)`HN1&8^A_I9+ju+g;GKLe@8authe`J6z^7(uLajb3W6kqbS$(she9&sK}jRm~2(STPr z7Vyf(0$%ZbPrzF%ulLreW4$^ysH1-07IogLj&15FA3EUeQ0MY_0zUN|KGnWYweM5y z%jfq5e5!q)YTu{Y_o?=Ms(qho->2I5srG%UeV=OIr`q?c_Wi1TziQvF+V`vX_pA2( zs(rs|->=&DtM>h>eZOkouiE#k_Wi1TziL0A+7GDq1FHRiYCoXb52*G7s{Md!KcLzV zsP+S@{eWsepxO_p_5-T@fNH;1wCnSVNNJS&Q~sFfocr*JBW8XpIFGr# zvu6`??jDO^%^B{W7y$>g(B=3(T{T~s?;IT;#r(z%#h*nTX^)`{@D<`L#BI&ss!VXz za_o2XF3x1zA@ATlBvgUP`layGWf2rvj( zVT{29V;hHqv5m9g_&5Q!k8=)4JNn<6*J-+%A-JZJ6F^h}58uBxu8uC8eq zXN(2ok6`BRUDLY-NuSMQV&q0V7|=blZ~xP$-u!}zF<&yaWLo$B15-zS*t0Pc-`~$z zKYQQ)O`4xdy6^;J`~X_XEtrs3+(-F*Cu1>wjMZvUFk_l|(b0kFjCIIGncAa@izaMu zRp%;WjckksgcapYEk?aSyl*A0UPa>{9Q8?d6PiJPbId4);eEM}ZZ<0lp5d7V{SFzNC` z$oHC%H?!F50l6*eFGGFv#JmY3n-BiuekOl|`zA|@CrzEk2A5uBA}Wxv`yMQwGO{@T zfwvxHtbI1>C}nQWJy+HJ3U>U>^q+~-6a1ZvS`RQ4H5;>GY!xyO@=uuz>Ifx(uVo6ZDdG~I zZ#AycC6*@UF1E-GQ?!oOxeqJDE(Nd={pvxG+@z6JPQ>cv!13yEYNg@jl?@r#0^%ipk37K zt2AS!VgasoSYNS<^_AXY;q+Ym!AkjWY$>2r;#H3jh#37@sc8r5AYWWSy}GQF>dIcM zRKAL99P<@VvgPtk=C6h@e<86%QJW>nFSBl5wOC&-6WYFJ)Dv%_ZZOM|HnKR;gY^_P zmMV6m&N5aca#*(TV(rC9JkMd>#T3?03}xNr0JQIovCYD`kFzWt4;NX6=_$=`U8(nI)p?rsT#<70DQ-M;z)`;`K`%1j?QI;v6(ebF$ zMzMh=C2Y8u&-xM`P1Dhrw}7L*0LFX?KRWG+{`UYxKR2HcuXqCZhUn_%AL5~V0OGNl zKs@IHk#6vxWUaah_$PSL8}KCHI3NsQ#`7vbg^NdBd@5QS{3<#)uYFlF7w;1PR)?x{ zE}kZO-YbCjh=<*v&jFeTH9+-c1vEEmf<9MhzT68q=M>E=PoVjAH=udv2}Eb23*nE( zNbmIyHtLIF%;y^5vzdkZC9qKSAoKTX$NYW9U{1|or@V);Q@*&W44%UWjr4;^ z1Mg~oqzjOaWv5KPBmE@O&jL?H$lH#4Up)U6*K#~xgLDAP@`_|x-u;35c6e^a^FWkc zjr2663z2Tgnt46Qn)$?oj;C0t*L^J1XC@2vu8ZqI^s^lcmA=!)-wR;=o{~QTUxb1t zH0Jw&iw)@CqwJK|GCW_0{0o2x;7Vi78vJJyl-8*POU9Wku#kfv)>p0SLH9$Jad`S0s0_nkf1(&`go#_drJMRXhQ$2z3 zO|&5#>f@vLQ+?8l_X^OPq&urYAX^HZsgmAw=}ywYcZ7R=50xWbT@y%m-z(JYC*51v zQqtK{E}%18FKyMYp=1Z#23w$uJ;p^gf+u+9-Epi=9NcTUd#1sE4{o}EhSlI+@!~li zPkc~Xw{^(g@dVgDWdGa?kd0Imq!DbZZYz8(udz4+5rMh@`Mw&EL-$qRE2EMB${pa}klo4~EM1t;h5&p68!!}C z52z`_UH766dr-cg#d*TL%5f@pH(4(K!s^Ojf%j@c4LL5Cvn+WV8;tkQ;4|4Ac`2JC zooB6e`|%C%8`g{RKb-I(?tf;zbbB9ssUE}n&4=}H+1KJF@F75Xlf~=yH|%@e_I!sO zCz}d$I!m{UAA~#ysI6eb(7JI5+o7g`Kf%XduoHpHQvx=lvJ3nQ`@(B4i}#w1XRx)E z-%;mx*fUsD0tBrE)E2N8Y0gBlPLw9QP}fhG|H2F!(>llr;(gY}Wm706td`&?^ATu8 z5Nv=_o3&A9BTaLhcmP+lr}Mg;jWwZDPbveDM{CZf*c3%!rKT`IOO(S}6XPruTbQrf z6wd~+Hl`r-0eW1l1*|jlCfN|Wt?@_IW%V@5w`GIyZhgImK6WM=xbP2~sg;g**!i?( zQpd32gacXwQ90LoM+C4Qo;XMUdJxWO-QdEv>W_8EGr*(1MyQ&vd{H$Y>#F%`CerbM zXR4;5ZEvch3--(eF#RU%?99_n%b#CZIQzPMFhG7}N8&-R&~YH7Vo+Vz|~8znXY;!$O*5;p!+X)Pi^$$OZ4k8$k^NO-$nizr6<;wo!DLp zDr7H#o>wiu>Ix@>^@~DqjWrDr!^(sRG{tc{*;W0HPPc^#c)aP>dJtlsNTzZLRv_3wgb zR{?ZQ1)M?t5#+Z)ekt;M;~BMqYd~AHbBS4fC*l4*z*5%2|16$E?gu={tjhDuOF0W? zbhR;JEV%a^i}D|HEeGIFG~iCO|Xp*$rHO!t)qhe+E>+Bb@_y6Hp1* z3+M{i05}Xd0XPIW0Q)}pkD+E+e-RHWMEE=fbH=%^dB;Bhks5AWizp}&{R6XRshEhq!(CMKyRrGd1Wjf z`J<8F@^1N{^KXDN@>Dj1KuKWJO-12y`mDoYT(g{MGp_ha zv=it2aqLABuvP$*^NRlHJ8Hk-im~a>(T^(ZBUZg)T=ll=I@7IDX0nmTC=ICk#JKAB ziAY-j!36vqdz3(4%XZ?PsY@}xh*ki7USMv3ZUqFGBh6@@@M6pvfV>|3ewa&(Q>v8j)V|7fH9)zh{K!&S8tcl^SvS_5^en1KgM_SoqRt(%#U+BFXzwkm-!3)0{;j9h+pHM z@K5iueg+Fl)^=BhDjJ>?7RhAd?(*ku-t)oq{}q}Ej< z)hIPu?WYz?e(V?JWwo7ZR*9pSI!F0Nt*zEki`XKzl`X&=*arSDV~3fYy~tixC$o#} zQ+ADg&Kjz_)qU!Ib+5WzEmaSwyVNIC%qAxM{lE#U!5AjC8ux+Nw?4~z@OgX4*-s9Zt#W<2rQAkdDwoJBJzPQ{#!c`fEf%&#$jnnTTX%`xU!bAq|4 zxt+PAxvRO@{GfTcd9`_$d9QiDxy%x7iM1qH8e95XHdwaCO0jBet=Qn$y0J;IJz{fX zN5)_L?c3je{O#vIsw%Q7aw^7DOsJSsvAkkM#j1*R6`Lw{R6J2}xZ-HVsfu$IRh6Q$ zS!Jink(J{rCs#gDIlFRk<%-HRmFp`vR%#9}N1&swBhHcR=&UW&7HdnjW!g$@wYFZ{ zs6C=RuI<$JY6rA~TA6l4vunq-liC^Wymmo*MZ2V3*51)R&_2{Y(XMM>YTszzX+LO{ zRaHb`(8CN#@htD@q{rv{D}Ga|Ej4%3<0a_>=~J1>s_diFBLVbiEiaarfgY>nJ)j2{ z0U}Eb2R+t$(8B_*%m&wuy(>MQ13lhSe~1w=elc+|&0|`{q{eiM84{BpGd^Z+%(9sE zpvTUblQCyvF2-Ds`6=cPbFjI#Im&D{$Acbio%EPyo?~7GdhDq|kF}P~PI?5z)^XCK z5cK%?x9^?w7+g_QF|J~^lOAg-Hh>=cD-MAkA0>b4o&mbytPmb8e3}w z_`+5H_Uoq$Z+~Vy`5Zdw#<3fVZuBWe!bxOkn7OE zNTpm4zV-`apX>|t2MhZ8Px1PWp3~3k8?T>?J8#m&%v-Oar=SsU|9QPs{h4xFc}mSw zoOc86`49P~5U`n@KcrO= zD1t>@?Car2e}!4Z3Q$he7k%(|w>YV^Q(#*VxPD3x?A_w0>~=k=c~u@kE-Vh^ab>%* zQ`xQTRrVv;@ z0G>bP5BOO1pQ5SG45gA1%1z@IB`TrEob^;mMKRS&g)CPCphwKu7iMalnxNKKo2qRv z)4QtO)E;UtJnaQdlC2JhMjERYI~!-}SmcZcOjM^phs{#wx^s|L7eZc_sH@fW>Spy( zXb{pR2h}6+2;-;!{eRjLP+LL|lO88b%~q#Ff6tH~1|G3qgHGQM37MljtDJ{sFI1<2 zW(SmW(Bbuzi^?m?*U;Aspnq5B)*Etx9-pfHpp!LNAh17R z$Jt;LJj}Oam9>>E<2%@DUWygx0k)n$!PfA7Yy&^YHu6JkJAaC8;YVP7A7eZC3HAs- z%J%TnY!^QTkLp>r7b~y*{8_dS*6EY{RaTBw*dhKrJH{`vBdj5Ng1^F!^Gob0{u+OS zJq`Q)6n~4IME;lF=iZ}~&)?R+iC>`RHU&-hLDl_aq*coqAn#MyU} z%6^u7*)Qx*DTq}_A?&6U%zt6K`7`V_{y8h*yVy#;hrPkSWLNl4>|_2r`(3I9Uftug zdY%B+?jk!yU7@a2*QguRjj%yV)aBsoRq9%G3+$1t>SOBT>KE!iAvsLKOLz-k*fUA; zck=i05Au)lPx8<5FY>RDHNQjJ{3+j*E96SqA!~9K0{gg-gbb;p2!H6@W}>-B5e-CR z$e*eP~OVL5J5ub~8;wRBcbQPb7Ofg90iqT@cC>B%13^7y8 z6$`~uQ6g50^=Ue@zmWv{5v$g3C53%2nb;4AL9K+xVhOw#kMk$lPX07I%3orCN&p`*g04?yM@{%f4MP8xo zPLl37k9@o1#i+%5WuD>812hhAQ_f!;}$9o>E(>qtsO*l_(`fsi&9~ixR8ED+x-X z0uQj#Tj{H0DgBiG$^d1clC9(@jg%%zE2WLnNwF#2pfyvJB&EHQrZiTXDy@~aN@t~u z(p|YvX`v)59h9zWirPZ_EdCI`i*(Ulbc0peU-T1$MUKc8d7?n%i!oxH7%L`-Nn)ay zCl-kLVv$%P7K?|)azKrC(el%#mnL)@i+0RxG3Hh?}~TCx8g_fgA%9&D_)9^;->^Cih?b*WV4+O z%udfSn=?+bfUFF=+J8v4y+x$GeopQvbIHJLyA+>y$_oqCf&y!Pq{U)qId+z2?RpIM zNLp@cBRfyFn{!7svP;QUi`CM|E+?A{pOizxSZbO*B+Zx#|$S#uY za*{nPEt}qF4^K;T7Kk(#n(gN^?IK~wvHILUExjP!uBK;O>~efgzoFSE99fcWwr6JI zku4|EY;QxUHaR)wa-%eQR3DF=cV>H2%5O>~&u3@k#z$;dky$O@>$NrmO-&s-qj2Fc+4a@>9)}NyCja zx=(-Y-nr=ocBP>OnQ7({a|zy6-c*SPhO)AAGb8i*(6R1?TWhKn>|#yLvrGA-?7RRSv6~t;vU?|+skZ?bmSFiPg8tfabErse zSG~7B$;Z3{SXz2&LyMbne3Pp)lAqBEPeK>cF!Wq=dWkiUh^ix-MG`^m=16qX)k~1p zn%C8Mh5ucu+v89RmEA-0tQ0`}Z%us?E&(|mB#N|JavFk(YbBRUQo6k`uWKWFU^0ea zHrs2Z^`wy@0Segz>8>B{0(E)?p`kz>DQ4iH03EjnrRADSa?SQ2pskTTI5}fLcDX3* zniFUDA8DQ0$R3iMk(Hg%-*^~l!SfLPd1!Ju3r-uDT^<~qX6JdS_Mjx1a$v30@>=vK z5P$4E9JG+*GqcNS9s*sdC7>`~8`#idMKxC%{6P6s1v8m)b1;(b=zn)Stxl}Fkg%Mw z5G#j=Nqms*2 zx<)6Lo9G&oT<%5JddcP9bWKVIS`0$i)m)(5YHn=j!)V$xvL}0FhPyK-8<~wfG85dH zQ;bY=GPBo8y4!$htWOzZrGa{m&w}xp(XUvHkFHjXkFIeTA6?@yKDs7gd~{93_~=?6 zjE}AjF+RFBPBwSYXH=79ptyFf8PbpE5_9C?YHv);+ceqUB+1?c6SEoSM0c?6 z9cQLBuZ@)?{9l#;UpBHgchR~$Kusssvo~v4uJEw*Y)D6ytW$KKL&7JeLSFKokgvbHI2!NX{*t$+^<;Er{2F>CVLG_to&ZXD5}k-g2o zDhduSK=HO95ettuH#T=C*#OkuS5ng5+8wee8yXPe7pkcZ=V771a61UGaC-!b3CPuW zy;!*)OSSu^C513^)5?QB4HV{->+cIv%kJVc{zQrOja z+}(#Pw-I9y@pjJ3wK}N<70}4u+4VLZ`%ZG@lBH8~$SxAwAU_%t7Q5La(y}unp_0ebbZLg#t8=I^I)l^8bc>`wqm9=#>_JY)GfK(2TF&yU+4UPkEOfciNXFW zTuk^TIo842Ceq@;FP0odux>Gm27W|OK-wrI?!$I25s!ZR-a^IXnSvN`n zsT`+g_ft7NHH^yXso_*kPmQ2=rlVLcy^|7o^iE3T(>p0qKxKL$QAlMdF_OwqVic93 zM3LUFu1Jm6`$efSdcP<&R__<3#_9c{)OfvLl$xOTi&7Kyeo<-?aNNO7z+(N*ZbQao zBiRMXDTH(?W>3Z4ROnhHsmwGZNoA(%WhjHn%s}Oi?p7br@AMiojU?50&`478S!k!D z(d29+Nd+DuD$Al!OWAy}GmXn%f_Zn%J z<1%Nu6gph)jA1eONk6T#gN7Ju5J^i?7)hW2V)zm=G5d z9TF8;C#V);5`w+`!;^UP7>M`)Ziq)$0B z-my@6u%KPLg7(^UUNU2n%{DPr>%z|}nM3xB={RLjcv!*mJ~NIERWcpN+Kuecp`e}C z%kgOEiCt~uZJL$F!dVumxj~r-Pk1X^3gZ$`C*~v48=lm;G>$x!D(=l>S;G75$A3z(8VnO7m8&Qv$fKO8vCcXU_2S3mdu5 zIm_`zzaQN2Ice}Si;E&gcxt^+G?KECab6$f_i_-GPd zBoVHa2Y_oI?9(-}HPlgy&}5)i;j-*Pt*TtmMW81ef$oj%&ERcDAhj}1=>wh$3JO&Hqmn`_VW64;r{rah2GUH&GU=1b zNlNA}E$b1j%}&&Hw%rA7do!!ee8;xO3BB1s1&DUHYIV0+P7TIxalB--*RSex_4Iqs^>4E|!|Jq3*sC}v&b#B^GHXe+10cHJ-ck{8m5fsU! z5n!%yQXkIzd{l+`bAJIYYTX=@4==~0OyVs+A5xNWbk>!X=XdsAGeVwTxp4K{lXtqu z6RwY^o-N8-$TEWrk~s+^Hh{TF3=<<6QnWW32D)4VD2pGt5n(KMUC^n{go9o;RW9NrI&c03m3FwFKwyZxUq7}=E@BlDmO=-b8_lg z?eq)JX{XQaUGwK7kKA0l_U0px{D}xV^owM`A&k=xQBcioO;o5AV1^e#DzXvyR)CmI zN2R|%XZ{iX;b9@ZJ`hBH+|T48+aZXoo?>14V&Uu4re0d0%`2B?&cCncf|3zCSmqk`TlQV~R^OFPO2n*;}Q7915ES+{mz ztpH$-1@Ry+55$?kkm_yNs{oREE*-*qT+-gE6|EgFmsZW|(Q|%ZZ3bVZWR81&ZvO5` zwH=@1=nxI8=IE9_t8cH_-5fWlkDO&xT@$l`%Vahx!|t7#ZHtF!hZJJ-kqi3HMK`59 zAQKqn+^zf~@1@){rB9A60Ix}AN!E~LYlyBV8}pVahGJ~lA|bIcShN#J0JU$`c~uPy z4UY&Hy7uSCew6kIBdGTUB^)?V0D^=6(x)-WUDg^W*P( zsOS7SlP1-T=(~OXxPv3}k4)`4rrq4UqVaWO?PumbolE0Hl!)jIT9{a*tv1P5U1fq{ zW!aFi#sr0IhrY7%kF|axK+7r@q-rw#cGe8`xLvOHNP{Sn4O zL*qgf$RQDzpo>Z;YmwAcp)Xo!RU7U1ADubl=&=TKQ`6$?@Z!E|yzY zp4(lyiuxJ~UElFmUqQKEhNLoP7sQky?RaYlDr@K&{(;QjJL5RF7ZPNXEJj1PeQhhCT;+%ew57xMT=Dec-`CVPP(z7m-5k8Go&i&S-c@s0ifUPxJ1FPOY0A0ogJ7qtNP5e)< zkrK4JZ}EkE(OX(w$@^_>sCNI`(hJfm#}87VW2&R0)ZGEW;HvVrFM?1Zz7I?A9~Aim6uE2a(73zbfEGX$8YFwPw>Pxy*=18kYD&u zmLx={xS2ze~##11l`9GBjC4;$!D8zz-w9={y2b0<&HUNbDK9n!&gyk%t74bwEt?QqD+uWUZi zToF;+q)NRq>_M367ARBIq^L#SoaQ)@s2GO2$%H^(Oc1DQY?6hbU{dvhx-g(RI&R3e zuU;hrRZ?74n76k}d{nPMcH=m`t}d{l&?0Tk{;C$kTZ~G~%ga@V7LNhu7^{xA1WTX~ z(AEG#(k^okPa6JkM>ZFI~!i-0L#d`)h|i4R&eA5-Hhb zvujh9XrQ5l4Iw5rgBJr3wcG*-#w`rtBGN*nj*3*hm&Wwb`&Xxy(YJu01dA8?#=|Vm zHJQ~CR!wj7d_H;MYr5uMSuTx(=7!SQ%*QL4KS6cRyEyqv*l$gGFUiVU+Q)Gcvy1G9 zH_?}P*3#BoK@Xy!Q83>Ot9J}$gljbc(Se1dE;2%66D*0ru_piMB;X|lb1%iUHf(8e zYVIURLJMhc7#61r%8R9B?eATOZyt!Hq4o_obt+CzozZg+=XJCaEE3B_|2;$2YcZyR zN3*di+}d$cde@1aXYmVd3p-X?@a;0;tuOTAbbNCgjCDcDiCR9ABDizj)FI8SPm!s; zfk#EkQz14;ygBDfv_}ELtX@jSx>1&=$zXE}G{*#5GU;aBRNZK*UWQyEAtBh~iw&_v z)-nqM6O}v@h3l9xbU-O%RgvQTH4}+Wy?!*^Y-Q!l;-7? z=0~snedC7T*Djv=_eybP%HmyxhsTUQT$oojeqvcJjky$KzNpNH{)uCwPk2clV~$3b z$5WT}$!v_9(YOscp%2M3U!UBB9QUv>qOdS%$+$3UbR=F85+4+zk0>D#Y?TsZ>Llq_ z0Im9K3`rXFZtK!AIdBC zzpveydwAmbviy;UM~^*HKzf5{*+tZWHSM->?!3SUDLfYVWaIqHa&8-^nlHdbr5Jv@ zFF>;Lm%l41`EK0!|&^c?H!vpdRSTU z9{&tnXpoCf-YVFryp5#)O(`Z!st24CKy&)r$h78;I)Rd{@OTuc-hGeKe1 zISyk<1f9ThQcVK!lbC>=3;??_@hkfrOSE(QFL zoAa-9E4J+{JThkVk-~z*W5*sYbk4Wyq7P_P7rKg8?NIG7ljmc3j*+WOSC@IxDsCQA&sh&(QmHTD(}!eC~S*f)tja^*3f{7nOj*2g{< zz3lnP>%LpI{M&VFzF25i?%y=9Pf0t^Km-q5OK&dZRwnAy4?1j7mi7K1`8aeC)MTBgv{Z4W~? zR*lwmx-}^LYU;xUhZgl7!eh0M4$Gr9_ZYlk$hrvw+HJ0UR31e%*XHYTD3&$nF()GZ zB$G;V$R9ekA-V!%j?ZVRY8awZb#?9sB0kB-FpV>!Zi$z-g0FmsC?&&QXkz}9Bzfr&f47CEU5uGZ9)^^wDEysh&ASk zDTdA6kwc1jFaQZl5-cvw>T=HU=RO#t?g@JAvAKIPTE4w_)s009udNuqb6UO98Q+)X zl9b6W*p~}gqs2or_hUmQr+T*2@-(N8eirUr@&S;MzfT2>}kqOer;h_;*0(fbm?h8Qc$D8-{g zvOJ+TX?Q`CdXj)vynFU^fpugkeIgVd8WiXk;UA%Q-&CXfym>2q*`>lk^_FuOT1Ee% zhxhH7eQPW?Cr!)|a;4Y7lWQ>?y`T4EOunq6(aRuRInzYe=g}l+bz6;R)4_-~xHx>g z6v2GCFZstJJYLR?cfNk>MFvjg}jYtgHFUoLW;Pon{Z-HCC|&G%8G)1fo1ijfUPdX+60|(RpcVpf2un(M|U;G zv$(jRP%F6E8^#)|!N#{3IwgWseRu?TUG4JXq2+V?Ebo7C+1x%Q{SWSz>W*HOx%|oc z?Jhhh>KHtJXurnU^`I5ieGA^KcX1bXkDZIQMJ znulQ9n)49k1O`2)Vwm2?8Z)tHbn)ha`b-?OX$Uy|#ne&lToZB7t}%`;X$!|?JJ!K0 ztjGEoTorNamAb#)<-|jm?vyi)gTsRFVqVru_t7WO-PKud~oduxrKPo)^9E_48yr^x01`GX&&aGTzPfkGQ%!hG-;}qs$^F_ zT-`n-9lKXd(|IVKEjba0vlQIpk3y$;9=UO+LR?{ik_SGSOrmrW%nyUr?pOvRGs@V^ zz?D9DeZ(HkxQfscHawgRulhk4HaW@StJ^QStsfNU;ie=9ntZX|(ws$m-0)a^>}L4{jM|pQ)MAqHc4`8-deCw`}e^`xSMA?jHP# z9_8FNcO#Y@>*-gF(5*l6c_(_z6Ki7*i;FhnkZ<@ECqI|Bk9V4pHDzY|@k2___uo5X z+Ohm6#Eg+63X@0YP2OHqbZT~V?&CvvoBLbl^ljb6TC4WMs|POY(`RLN&+I{6nsulj z7~E#|=uvBMEHif8FzLTmlEJovGwhN2tfBo5+MY8UJHRC(yGPJo(>N9SB$_OqC3nlu zvB6J(#$eRqhec9Uk{J#~at*ZBx6?wy$%y2;k6*i1#mD>n*$q*Di0- z{1=Q^PyJesbx%W3BZPG_q)@PgE}=6Xj>||}&4*Z`=GdTXsRtoe!=VXmk{2@^wzYE; z$jaY%bNZo2R;}JrHskX0=y9KxNfyWTgXQ)^Qk3K4L!XVq`yo^1Z}EOF^0~sj!ZzYh>3=Rubni@sZ{Lw9-j1}F4(R>CBMtPo;cZ&yXI2o{Suwy2IB8#U^f-Z4GZ z)~G|H_AOJaAqmzHT0GW*+pzlLk-QS*U2!iW$l(I%rz@k|G>~(72~5!Pax*P2&(rd< z=tMW&3FCIjbURVB=8Hu)fAR3jh-dYs=L#%6rDm?BXGYhl@X)yZHB-7~U>T}S@buX5 z8?IHUiw>`V4hcAApfk&|^{K~wOhG_D{A*6^`f(p%*N4I1Ycd%UcWQ5JiF!zb)~yp0 zTX$~VxkJ0eR*5Ye#wElNcKrQgZo^J>)ch;Fyi#M?z3f`I9{*gmQ8!jre$~DEwPjd> z->mX5Sj1CzSdh=3IB7oNu2&DSBaQ1dN{mPUqK&Ov zm%<8@ypV)A-O4i- zzPHT0J6U;Ia=X{&8fM;{H(OP=@|1;I*pvxN4Lfha1jpOzM-{xfnFk3|s;v_X;k!v@ z{cV{IxooPyym;wr6Juf)###nHGHl3-UU_^@k7~#4vOjT*i%)Vd$L$`!vfXA z2#j@W2*s>$rDZ%E6TE>|!7ZDQiTz`?PrrGTbXrdcK26ETDhs~2dUX-1MFuRC5|`(r z8GZe($86~vZ4^UP#~PAIF+|*B99G?*ZV=Ce=$ZNZ? zO`D#h%^D;Ps_Z4z&7L){TkqNFJvNM6^2w4ZFV4z&YGFvTBXQA)EY0i7ZuLl{N>sNRhBWGPyhIV30+noJK| z(w$&fUmJ@B7z%p8QWzrY^uRhRf8y#&ZkL9y$jDsTzyH>et9d8kxFq{(Px)Q>ZSF_Q zqjTTfHGWz9zRL&nTX5e{zD8Z2r%kHm_vVFpZ_PrdVbh7Z%3#F0_){F3pT25P5rP5Y zVX-|LQv^Gj(7vLNudlDaFSfXXf&*zy!!3!3e@TI}-&zNH=`%+wU+JauUw>Wh_>Q-k zFYl zD73~WQplO?UWW3IE^i7x5;SUImw~IY2JIN9eb>LYbjfkC>4%#>oH6SktD^g#-86J+ zi_8@R2hU66sZ!?++QyNm=gfI;9`Kiqn9^YI2ko&S(hzz{Uv(kqg3Dud-bYvsc3H5Q zC{337RNpd*t!=`DaP9$-%?!_-ldK*LO>0A5c4c;4MmKJ|q&?by$kbOJn0;k=zr`6D zi?fC->Dp^azsQ+y%uSnBGJ*f(__)Qii?ipxF>_DGqJCLRdJlcLOTR@K=n2OuMNGbo zzN%yk!#t&);yHzJ0^5c$Y(!pheN)^jX^xKaCdXrE#n}zH71#!sSx?Y060!+%6n07R zi3pQEO$}n2U7@05(3&n;X#<*k1K3EV7^g_vUl-BkR^6se&1S}$c5d3KO)GN~bL096 zcwJ0mZ;FUA)M{&wFcY{F_s#Fq>!I$ztAx|3@a?`b?iO!=IVe^QB8`u^#TF20 zx=Zd(yx~+rMx>C-b`8L)_m)PoN{4mc(9U1tqwd5T$~Y%;XaSPt&dedPepT1xEASav zLDxf1nGse%Gc;Hia#&?T%FU;qLoAFzZ*h<*g&CMkBF{^~PDvshz8Q8aN+Xi>&ZQwk z67}s2_#(j)iP(~`CEl$tnnod$zITAOVPl2ILA%5?iEG@jKKdA28!q;E9}~iKi6P=T z;}3ZS;KqPT(f+%C4h05!rxvHRDYVTxGuvFHM$2pyq$y|XPFez4Vi9t{!jv5Q55a(0X<0)256uOZJX`y0I z+9WGue7Ome(!|DKZ6|q4BQZO@M)+|ruS73GGMTB#K3su2HwU#q3R(SEbsD2iBL=fb zQH25}bq|#g@p1R^9NmF+RfKH)B1JIN=Z%W(!MQ_ z)2wOZqz3V=68uewjxfP&r}ajnK@rMrtn5WLI5XEhbpy zb1l1#K0j}EZll)odU5ro^J}&3i{F@))nQd$kCtu6oS(aSd`xcYLwVZ7>0P=^%gC6X z+GTpi%qI1lXY5-$p}g>+S@Ma_xpO8Q$!`{j1F2${&K|RWc;}^~Y}1pQPV1CkC*|SH z@ka~qYtUx4<8#}zjGj|%wy8ZcrrESvB5FkYf~-zO?Yeitw7|?J-_d(Y0&MQVPhnZE z`>$&Q{dJjBqf(G{0%=qQ5fRRLP!|)6FS%91Bhv`DGn_{uAtrFV;X7&_Qq6ZX`uG$3 z8!ynEM_JE)Le8V*(Y!9#-g9}6sBfX#Zk#egJ_E$uB1+cq-$)E^mSzNn2FV~!yvr$J z;!oUiMmXMjKE~~YxOo6hcxsPg?5&7Lie{5--gWEv`XE%6q(&^p8;)V>8USO3F#-R$ zEGOzN)&%6jHB2G}vcxmbR_E4ZIBIfSnUW07(p^~5EDF}Sf_~l#=#DTsXTB~ITeXg$ z*gRKo{uUmRKe_k&4;iufbFbbvIZyj`t2;D**0kxv3XIVF!eP^=&vuRLy3!Kkvar=Q zKVKh&#KzP?KgsH&p~c`64El~h50}qF6@7@t0-VHJ27L~1i=wf>12x878tX6UK_|&A zw`U{rgodmak`x+p01CkxM65`B0+IgigN8TJ5<~;fgk64)-}mC<+&6!6-?tX6|8eDt zAJ$HJBjX3Ya+LPj&ZyHo{l)XV+p`PC&lsMMz^5%Y*Y--~>O!sA#5vGeS=!s`aEzVS z*$c_y<%p<-r_4EaI_?qwkA(kI!V*)`IazmvCqlbt*onAcbq42-E@5Ubai;_ z!~IuRv7XJFxnjX6Hu}LUD^d;>cFb#j^L5X_-`_&w7Hm;HV}7@2zrNILRKKtgX5w-(-0ciMt^JtSsp{?1r$>}NIPaD9 zMIRkr`|X@o{j{q2d)AzPdi84$FVl`h_v)}=!Q6*3M|TVlOItT{YI#x54jUU~&B-4( zHoR`%(q(g>9FD$_%s}kpORyPhu~=KZ0AFv=5@JK&QAp6k;X&0cf5iqd_GZ3^ zuP}=Bw0TEG2Ka+KB!`LbLWsdIe`#r|%i~0Zf!b={dRk-loq(vZ2vgmpILtYh76zAj z%GlNs^3FGAto(7!s$Vx2U(B4?Zbi-r-((v1|lqF5|t7@MACy8Z*|ssr+n%*Z9}@G zhAlKQlCj9d$OLl?UQ#DMA>IpWA`be%WmF)xyzFJi=3_{nxaXZl={|iSbGCy3&H*TUXVtZ$l_H$&e=1bk^)QhV}2Z zKfC17^($uVobc+0V_xr;({@Xr<#U#AoV9C8@tdooTc=HF+BmyU-;9uulxc+}hkLY` zlGt)sx3u)2kd&F@^4F5m#hCs#+u!iDDOX^BhmtN04)DFDOF?+rG=we<$JcajT?&gC z%2eO_Ow=z*{BiBEqpwTv9@QQ{_Dh%)dcM<>zl2Jm6r?51lpIT)`>csi(01$pc6|JI zuSfnj)BeAEtp8bic`Pq)t*idC_WIA-i~VQq^`Es@*#9s7-~R{JUO4gJwf2(OVAx19 z>jIy3-hX`7@L&Cp`m9g7eb)1PamDSk?zk%V|Hx-OBkAAuS^sB^@}D&dMVQih;eTR{ zLbmKS_*U!DK0;(&Ki~iB`v}-h#u*aT_Ys_~RN9lG6>A(hj^I%5qn&-`8J>1w9TzV) z-Q8BJIJ)8c<;%a{aFi=;_BOkqRjhOGCKSA|yu;&VEC1ZK{g0AE+d3_OzQDlgt@CS^ zo$&L;c7kh@dhHuX}4~Ig7+~?t}D){ks#1PNsna zME}@3klg(oU&kO`hrUX*NRy5ncKmv{O!5`w72oaHA%b^+Ki5=U7Z(smQilyNY<(QE zBa?%3z8-r+--GDeF}K`@k?sQ6w!%mBx5`lrDfk_2Mc|}|I2B$`u76er$7e^L;@)Hr zLNr86aiQeb$F}^o+CI2+(uBR)jwI<_B}+fzVaeC)Cg$D0zX*puNLzMbh%}Gr9FAGw z=_F%s4CnV7dx6H@*#C{4f+W^3At_PkX~Yb*c81O;;7~5ti5zaf3nJ%TCvv>;?V`}V zVWW18+I#%e!OPmu1#djI`n8!6d+Y6AxN&L5qjPa8$Gk5ei=KQSyHlUJ84DgNF0Ng# z?9|vpBZsZa>^$H5_CUkU z=EY|wt^dBHM$hO)uat4fu&mA;#+tA^Mr$%QlNbQh4c~I9TU0OuMu9-7%aj))E z(>nCc&g#^#L-UZRZnJamUv?kHg|i3nZ7H3Ff)kYjd{z7d57_e{k7@!!ckyLXKF3VN zW(TN?&+UVQLM=4EY?l@=Md_tK;tJ9s$H!N1t_ zf^lM%S&fq7t>}}v zVMD74+a8KDo&u8}8-@BQcKQiY2$a$z32)ms&3pJ_(So<;nT}~6KH)l1s!V(DxYxj? zy?Zb2SJBRM-_*MCg`BCc&I`N1Q=X)=(CCDzm*91lk1&o>lGt#}n;Y=ehO=0<#pXk2z62mfhr|H| zMa2O15Dw@)_)uj^krzHwkn>FRO@k5UKocysW+@Ca5fO2!DsWJp5jJJ3SF;fEk*VSz zKGoX-fy3y8#)#MmOH?E}6c!c~6i&!+#XiZL@)h`Q2iQu|dy_Kb=M@E??yMKPNs z%WaSyW;W>reS6{FRK$*4^#c{biNFT!G2U{;fral@3dcy$j=x@3Mx=ut=zy3_ir6&F z6PKV5kHBXeo_mkRSpan6!pc7%-*O}UNc+VIk1woo-~y!Jlz!TYRxO4dntbcT1)48Q zwY~0ds`2G6Md&$I5+Y6pV_Fd}N^)P%&#F!L`dRhO17HVE->|Be!8^Lm1AT!|FbJz6 z{nJ}RBH@!@-RRNP0E7`mloP0z4?4a&CY zWc~iU{!a3Jzk+Ypd|8(adlYyt3~z zkYL-lfbjcbTK2-d)NpbeB0O+8AXdk9Xm-Y&wHg?+^Yt#LeXI1Kh`r^x!b zDFd@74v)TdENpnY-fa?ND?fG~4y#>?9uOIu)j4xfI(MEE8?qyn+6}d z$97Df>v?J9QjY5uzhYBk$M(K5vJb3I?WIvKBaUH7FE8_QAgR3J(DobX;yN?u={4H{Z9M zEv;{vC)E$xm7l>Wy5^^<*xI^n2Bu^tTf0SDBOBI@Y}vO({7LQIvOAo+yZpe;NB=%W z>EhF)ZHu1q;h|Zz0^$-HTKF9Q7kJxKWTtqW!;6lBj|@6ra?^Q@*u{rBd0}WZUfAm{ zQzD9QD?_#@{yjgG!3+gI+C|)LJnK4JOhRNGy&L?gpZ}}Z(fRWq#&gK|p1S-~o%|WC zw?+Kvl7Dy~%8>js%9M)+cPT@CGRoM6_g%`6j5Nv|#fCJ=+S}hnGSVn>P&oVJAtR0c zEO3`OBq!Y74(21BH>|g#j~6O}@K9sCWpcCI>*{4ljv9S9?!>RVpO}xQv~0b7{L6>7 zPTnv^e4uotUiJPz_TB@&sw&$bKl_|>OL|WTp(Qs30-+@#bZ$Ta38Ww`)FkxYi(o+k zB?*uOQWOiIV1ZBqmO(|a4z{t3b#yGFfTLp_m6F_(|99UqhasZj6otw)=$<0^}K9#gMt{!Xla^LIM`i?;4H>M2v_de(z8 zjQC$*9*0PXg2r@P%qAcsii2w|S$&KXi_bIg5NVz{C@-l!u=yaUE?&KnBOn6_x#@fQ z#oYt}gKWybL+goU)cM8K-Av>1zPG49oQ8N!1+D0(g32Js!YFDQ8jC=9 zBFt?d*ARLm!kkQMXt2MZ8fN0C*8*eNM1JNJF%Ms|_)H)!vtS@5A6x&IZQ3umB93nI zgiRJ}EeG;_j38Y)^W=xT*Qgm;SLM!ptp!b${HXU>n*R=(bmT%!fI3C>9F=!?*F!TQ z$Czo43Yvq?w%qpU34FcGOzS9U%H(O@ZAp)6UqCmec>@j2o1Dt$958Qef!kQ>*;77! z=!8BnGwo4P|D*B|Pa0tJG;5PMmUWB-|Cg8uKO87xmpV5lP!{Cen8aiP{cK?qa_F3K zUYjqx!FS6MU}|%7b0hkcWPZ@-(=NH*XUs_$=nl?L(4aBD70TazXijQ3ng|0sK_VCh z#r&A^oZv;saQE_BrNPOgN;97?Xo-C78$9Pi@CV1gP9SX-b?#8}^*V3#D1S`pji2*9 z#>-9M-JS^MP!Kt2W3TB*eO~V1)%F5aT*bb`etJgRruS{fe9_g&MA%FzK&8@^sCz;$U##`+QhpZ(tqioD}PLLS5;z zj-2A&Dj|`eB^#!&-r&-`ZbH<=KinFxkdhRr64yt-v zkgrBt+Q%Hj+}WR6bqM4;?@#k(kG5QWu2)`brLDJ(wvMP@3mW&f_}G^jG><|@@aQv^ zsX%*C?@w>3#2y?5Q;Zb~kstV!ZYW6i2*VS>dE)AU07M-K6gLsfCUFa~gLru&jmejg zAk+MkyCf$iCQ)jLL=np6Qkk;6LpChlHb-?+&VZBzrxs8RLIRijm^+27{Y*bR_mcm(Fo*V*&twaG4sR@1f3opSjywNI(CC%Tz&gOpWxV z(QZ@;7e4_}Z{mDB>XfM-<+aKlUd}P~BFsvRu#{Q-1TL!8w$pm2s^5 zVJyNP9?f8dVzM<5zaeW1A}+-}Jd=VQ0e-g;r=>+vVQjZDtGoiLzo{5}&3WHij9V>u z-%W_;9E-&kx$2LBh@pQBIgdMdDn9PhV#{o!Z_}P%BlNPRF5^Qe(hLS5pRTX6^80sS z9HH_@;qFan<0dCUfajGPk<(WT*Dn`^dEdS}*8OSr?;-ei^}d473%cp?S-%JB4}KJD zPP)BV^9toBA6+a*yM?bgr@{GMryx*?zQz5L@*X(LYnA!nMOm8J{3WtwFXZof%LPZI zz`#p^%ru`Sm}kj8D(vwTtq%RE7++%hQ+)DOP_CkbJ*pi{QFz_6b?Qj=xNuuivL9ur z(1E}?e0iVDc)}GjTWo__Vme~ev*`Ixd4&x*c~X1s*=Mv@jw|XzLDgT}eAiEXPIi5g zNmUy^-4)hkHE;XsHq*jqv?pIUt(|)2X*T5P*!Je?vo}`VaqF3-jU86MwRzn;w_q^6 zuvaN3LI~Y%U|2$kCmzHQO#^!wp`Jijab`!LYnZr$Ap;FTIB+;Jyd$VXw1Tr|8@~C5 z5+9a3;VP8@|I!F)LgRvbI=bm)h#*!!` z2~)d~g5bFc8mRLYJe_cqTSJi&+vqBYY0ueVp%sY@9hpgF3JYo#8#FAAE2s@|5{eQ^)&Hk2QO z)1d#g%J(hyvtGHimHNrXD(c^^zAO5P`kgim(NDTB3YtgNRi5==758Yb@;;UYYrLOQS_* zZiR+;MbI2{*5lSs^nvFk;WWf6CRl=v`rk6XtyimBs^1jK``K3KdtX~7`Ux89r=U5C zBqrW=NiD(*Zj$`R~Jtd~_o-~O$*V(T?eI_`c-+oK&i;n;H$_#GB(<@6s z9Dr2#gAw%B-z65OS`Vo^e|HH>_A>*nnP14%0nB1+`Ft~;UW5anyzblb3MM`H&4}CM zz0bSUm$a8ooMeMe%{w34K1yf>wfC%Bd;U}Zt@cI_`A81~ioBhx7`sn2q z##i@z!@^}39R#VL#68i-S(m4OVx++91x;}F%yx_@FXa*@|yZL+@&0`mw(8@vy!yX9zW7e!w2b!| z-#@hcZ@*>7pdu!)W8Z$O)@Ta#Y}4;WoAf;=pzz7NossI#@7J< z=4%kIOw#&)Iq#-=sJWE!@r{j+*aqdZTPRnv!zO>ub2V@L z)9My-HKQL^dY}Jq?uR8q^y6}RgZU+%Gy3vC)5}-xhyVHi{(kr+ihf)i)?j^%&&S0v zmdCE#4|6{H5dxdf6>>t0fH!D`p`lC)Z5tZfCK{;qloL9Hg;?Ddh>%{%CCYP+{wT7VxRxnzVUU-*^0ist{uL7 zz0cy!roQ>N+&6w7_#d1%zLq&#r?ACuXooM(5(~O9&sfk_=8eCj04LQuw=^~wkH;X5 zk`6D9k&LC1pK~lT{n@d^m0KEbB-W8v{k`&4(-><^(-@EM{hFd>9XK{KCAX!%lHa0@t#l$TvU2nIM{dEU)!v{_@(F9l`Yu z^2ex*iBXqbK8A{*3y{4o<6o}xtdfCzYD&giO(TvpjX<4iQD>=Jo&Gcb`$ZDF%3e~OjIC~euk zryPHOLYtsX_yZdHD!)LDYdkl0k{Ss`;D*LK#Ju>|{1@7Lj{VX}No41rX6KTWPVAS{ zj$0ZWKRbRriuS&qI!%pf{AO~I8jAKdH{K}P3rsTF^M}go1IHNU3&&`r0uPw+vLp7m zqsmd);Arzl`Px2ehTQX%+`EsONybysZqV?#6|2-XjbE?20Y@Sr`4{0}`~q#7aN`W7 zY@SGkjA##pufcw)aEy2g-U1}(3_LlKG8zzIHU|U;K*X8-&HnV%2-Os)HSi$=Sc*kq zG4YvfL(@;J{0TYzsgHgM3jB?wXK44bhn0r`4H++Ickk|aR=Z{IUf8Qe``k{O308!^ zKl_T?2g%<-e^1hB@HWN-O%?mG6&kWd3YrS`S}Qd788oHrQ$gc;yYlHzxpbkGdX^jY zRI_hAX=q-xNqk;o@lu)q?8Xtu=#7cR9MWB8G_t*L-(?x^SMv~J0BbcK|0z%o@dFIm zr*yMmLVTx=aezFO+JqqrgaX67qChb1Mhu98*^iHjm$&HN%bRESJEX6J9t85MtYAHU zW<9VT&Onff<$c7`=)RW9cv_*R!F%aFL7$ICW2`&bwpQj0zL@&l?_ytj%?H1Go6O*| zf9+l$0}G1ybyAM&qZP^1GaZYS;sK2(O!<4X+&V3b;>Mx3n1DAba#sP39=is-Z9tfY zN9eaF2GDT0ubr$`Mz4uo)AR>Y{QvaMXti_WhoI+YgK0YIxjNY_$7`XcG{-8JZ0GiH z=$x@qzTKa^Ujwk(PIO%_&}8f;5lv`^^o8Rcy%SJ?nqDj*k+JMLByuO`t-vj$KbpS) z$c5Ttr`!zq+nl!kM^CT;FB;~0-Kx*W3Efz|6aDN+c(>#=);19SQ|&3%9*-F!iXElJ zd=jZwxX_5sirbDykBy(%V_gG*!Mz29XSZN)=Wu|-;1%qR@NctCzD|4Lsi)YWC%-)y z*+1&qvgsAym6d&0F=OlSh=Gv@zva2!pGUTm6%jd|x+d(nynFY>9SL1KjE-7Cx?AbjYko;YIi3`O<|W-8_qlSHhiXh*LarwprysCZU*VaJ&9kO z?eLswSZU)bEVOmXnZ|GJN;=P(cCvw~u}ar>n<72~)*!H{LZ+?b>+P5VbP| z|L{h`refNJcK)?JNNMfGuai6!Vy&Z8jctVPxlb#=2HcAwh%q1^IqjYHc0it!zlJ;) zKk?RV$cBL(jczM5Skqo?LB}I|91l9{P?n>PtFeK|76;TYvVq9tw_^G;|IS~s**n1} z1}7LrCWwrF=z_4KgyXQ{P{tHfYh&aB!amimmuDPjKguS}4kZh!Mwb+lDanw?H^N6E zfH(+(n`8=>1eZ(veIj*t1|jiEEDwLDkk6N%zCE#r@Fk{@%LsTF znI3rSkoLv6k(xt@7g|lZAj?cSpSbAEZ*%In6OJ-$sAi~}iq#lExon^j%ke^~k zJ%#))aHk?RMXmk&OVXqXxug5%^dB|U-Y275Dq2WJPO`-0U_7N6zEa7^3t)rO8vX8+ z0X(~`$T7?PNO^()AhVPdMUS&pi+X$cK^G791y}^)EZt| zbY|kjGm93zGI8Q7i=4iwi(Z{L;gv<=Cl?OGBX!%_sk7%yUAGNBoYrres;iso%GXYt zGiU1BvZfj3W$UKmuj|Un*V3Qz2V=*Mx~^dCb&lQz1=n4NU#2Cev?re@XV3mwS^WoO zWespTvi8sFGl0sP9=KF7xaeY8`Ng6kPS4LfFINsOx>R0vp?L71;!CCFmx=~~g#LZx zrKQVW8a3*rWlLWgmGk0K`u&AvOJ5wN%ePbDpSDsG#oWWu^$IcfGr*+8O9(HQ5)(6v)SFaSaThVpKh2I9k(G-kjfi>hqeoe$5;jtEGv9#}+`1|pcKKLl=OWMWiaPOymZZo9#a15 zQ$P8uZsELoz0RwaR%oc7g65d=izf|aJ^3+HZh;}vU+r+j4XmG5>!UKxIu_hC8{feEevuu*VVLJP@Moc`bZw0WUS+bbOJH^-&u6p6a z;$&JU6?!Qtrk1%j0Lcr;(K6g>=|DjOt;PZWer^MG%Z*>}^KnS-fNT#_u9)rM^3fto zH*ZFst>*N*Vgdx>0kOWsKVt2UDnEFx9nrw|oz{-i5dSE5a{ht-Yk8UT#yG(nrcFNI z3L2_k&>S@_XocoBgXW;K9(TVsueR#dI-h!6ac)-Q&471`Ww9L32oXt_2#WY%S4c>&8}Shz|q}9^+b}q5cS(qv{l28bh{%hRary zmuwZ^9#VXLQ(dxk)>X(>LGvHkDpEpv27DwZ{=Y3-#oAq2wt}Wb**g0wWUHXLvTPMJ zSC*}UrZw3re0rDYyt>_YFA&BhkDCxQupfKU=(3e?F#C|s+PfE?b8)od;CF^kxO7(8 z3`Cd}_yqswcm@>4$29=13#1?^y%4R55+`LFe}|UxHX(q5ss*i%W#{|`PUr+#LbXC? z^(KOVl}+aPoS5+LxbPudGU%+)$;qU&lFr&nIFjLps3saSl(YNun`xqZI_$?2oH zE;7){T0rU4W#_%z$6Tz>QFXQF`WQ4MUj@w}#rK>QcnPGtF6F$?pg!YMj|;y+(6o-< zK=M`490h)Z_jx_mz;6&Vt>ZUPp9Re!tHgcU@&@>>Z z$D3v-Xtwb=6f{TW^FB0?`0_F{=`(`nptCJEeMa<$`YdP;!Ijm!t(n>v99NXnKsMCM zxAL>ado1;`h*xyia|8|f@{9T(RlM|e@bXNpL@vkuxf9`uw26TU1Nj{Bn`BV{U1x#D zCCw&J4UQT?2!FV&>As|pRlqXiu192!hcC7}kca>`MaWfpRE%zwmwV{O_<0kx%>;OQ zKS9#yya z(9l`Cp07Vlqjcx?j%NKBR`r!J#>>{ zU(?QW2|!&Y`65L$?ftcZVko`7rFajoQVW*1v%MMF1r|*)739N zYl?VR=?V)!y$HS1QzgT-sK@dq>fv_zAi#m5hm; zAOiY%S9Dwkr~%xRjj{+SA}lfy5vOf|!6(HdVItm5IvMz<>Z@=wPL{tZSkd4Aww>Bw z$2)g$6EW=V4>tt{1y^*Gv)CKjYuahph(A#hXNK=DW*$&SOkBr#AVTCT7+dBkM{_| zGuzypU`&r_v$f{FT8)78EZ9{tpFP5clvn%jscG7J%gE6i$7pNVc5VLO**$Qz640It z4la$-O0@EnsuVSC*!qIJ4Z|E~F)!eE!nRy(B20&P6yQx+?dMj$)F`h~uXQWOd#+Aj zp>}dBA7zx6s_CK}u~e&pC+wuJRchVnUG0|B;u-yEZ_rn(cJxb@@_=ha^&~?pd_g1& zjTAT{VIaOVW=m&sb72^el(668^ zMsT6*Lx#m$$Y~W)F;@Y^)}G?5%w$?jPtn|9x{|oglaiusQ&Lj;q-1uENVWl6%P$CO zpf9!-Ptt6_A4kXFgiLhH=}Bnp>I@ImpUtyv86R#f{o8G~{cUUMhZzU7`~yYB`%7jX zC@wxw;sFPQhwG14Y_7b3l!TR=SAN{2Zk}~`{=CDpit86GsV_3-on(~YgPqD3uJthg zrkC5yyqtUw)PZa|>?VLLWYcx51;I;WjXHLzgPe6(-sU`pe-n?H-s9y5z#FfcHiABZ zm)9!Cob+lor?&}u<+5A(8c>V!O64zn3GxtkmJNK?OcrYoX>SFvygLXXA-xa;0l>JV zjqu*FNLB-cP)870iG$7E^nOH-L*O>~g$GlPwcGUc@@Q{! zdBTOE(7fCYaBUv>B7?dLY# zcCKQ|Jt?=?%aXEJ%+%{MpR zI_t>%c}Hf=JiK7R;aN1N*i);VbA-KCtK6s0^;dv&BYB&IdBPr4zH}=mIWNkqlpo#7 zX|IX$O63K&a#}M{UZK3|R!;I?l$R=>x|P#fit;k$E>Vtt=3>t}%WD<*B5|JZ>}R?B zn_D@Z3!8Kn(H=yNN79)k`b2U zjdH2IRLxCGOUq2lOi9j2>>O?jqb(y@bXa--ceWT3?*wOdN28J}A=GeY+3JF9MN;e>J9(z0guc1Ft=j%Ag< zRqwi3x&0rdV@KXNYRLNW#@vv66?3pl`I^tc5S-zIc}`iI^t;#|bmCndwuc*~!1jp4 zvuK~___FJD{UV!mC=F&{4 zZH(cDWX-y>pm4(UyCyX)#;`GXonJOWPa(Y=$1e7Mm2wU$E2q&t8vx+x!WQm18t?=Ie7*zLj;;-&MNl z>qF-~%}0U+8ZMhk`Pv@97vFN(l*-Gu$vdgM`73PPa1+TUQC=l;S=Rh6$~*9LLzGv@ zH*oszQBRYJWRNH?mACQw??w4!ex8W(GI<0qzn$Ye!pBkSBKjkT^Ku#V1#bN*XXqhT z_jc`mWu?iWm%1`8o0_o;hcM&F6sgxE%DrKj+pH$fj5>n}XqlkVDo* zx*DLdVmRWl6{I;rku;eWnsOz{me4*fCMqZpU;8Iof?~Q#(NU3RTLK3!RMNwAn~4jg zqfeHN^~}!hlVP`KPN)}l6DO+J=Gm#H`-XJyF=R-O?nAWcO{%wYNaJfhi%y4_NWO@1 z?2@^z-h8KazucM6cQ-yy74jxN9|xd!1@rZ!m=VHu!8wk3qIGsJuT{F!C^>d}Fvo*W zw%hzIxWa;2;k?Dz;xQ1}ocBQp525g|2*MhRXBKc~IvjZXm~yT5+Ozfb?8!H^N7+X9 z^PjaZkmU7qxsx{6fd%I6qLE+8KUP9}WWSMpW9+e#^7SUNy9t^d^7mYaU``zZ{hzPh z!X`OsXk4*tLA{Q4unsR7TOL1x%!@9It=kiF&1~a*SiNydZCTzFg)YiG?|aFBF}h zJ@74^^NXE*#2%w_o-X*Lr(>K%&t(yv=c2q)4Ho5C!x_9DQC_Dw*A{!#t-My*LE}KX z6>15}J4!b`7DL!YP_9VBjsx?GD-~GS7r==0uU1JoY*9yqtKw5x=0`IQY4=J%0V(E3 zPw4SB!r4p0UJ$T~nQk&HJ!&xWdO)zLB}W0UIQIJL(g`(_>kqVFRy+Q+cOE$Y@RQX` zi{y;@2Pf>C@Az72dTHpK{!PDV>#;tEv`RkSj?yEK#p$w|#?=nXqZV^fjox9EsAF9F z6B>Td6=?*HISu~G_1HU!(UW2VBrX$%@6{ANBVffa?;RrIJKG`%s|OOnO@t#)lQAWH zB7_Xb1h6CbP8~n?dOi&*r%ZhH8Dh)k?ExJ=`X7Nbf^$vPL;^C82xjIFVS!mJpc$ z7nyMdxJWm(5?D;$aFNR7(MVC?6zq8&LaYB-UjB1U%`fHa<~!!jI52D0{^`^A&zf~$ zM)Xk1R3HrJlg7$)`M+3+-%I~KiWStCl+-U=P(O2K{Q_{6f_XcIvGmY!B4^v%$3#bB zcN0(~M00?@RRP}{IFSNCE*iU)Uz%5Xz(vN{TlxW4Ap;XUpd@jkk#i$KNjeAJ8kD3O zKd$_rwRbEVzCI^!BF4LI_2Bi_I+A;JV+Ti0#9-O$`=_U+YLiA5DE(epfh*F$lAHxO zudl|C?Gti}wVqpg%M+3?TI~)D{JM?39f#vdF7k1kPD=^wyx?od%g&JL3Om->Dbs~r zgYGbb_jf5xp1dIBtNaz0yBRc}xL*zB`)M=e{#PcFyP~{Ofvp4dtF>F?uW%MR%j@I_ zT^@hoQC=%|;N|FpQqAkfJ&D)9(XE{77v+^o5q^%GHQFsoHTK6fEUI-($lpU|W&-Vo&b-d&eb1?DgzR1eJBNn%-7s%X#YngH zru(;8?+U2>oR9VOc9z%4=k)R~I3GC6YvrFffB1th|7zL>6m3GP*B|W`iIib8Kp{?X zB^Q4UlaMq_02)W&l8`Z&4PZzg1|tzpAOClT-ZAsN!x^JH*DLd?M;6vhuF9C4)%dD1 z4_|^0fhI10i+ntB6dg`jbt!mcpx1l}IisxB1!It1&TO{K@PiqaAOAch!9rnQwOXuO zT;#1$7V@x=I4Q1eEM0IS;%#AJfnkF}mS6Gy1UImoLvAyZhO<0PvF_p^}QC_R8cB3cVP?VP|La!C|Z!*fat5e+Q>0Tq~tCdE+rlqjC zQ2j|#k=@^kMM$wbgt;xS2(gqcoqT{&hAO2ft{-D_V_wPf3Z!MB;v`8)w#ba%fg{9u zfr|ms`CzMtsi})*4l8h-iupmY+umM%=+5ms>TpN+Z2u?yGmCq*Sw5Av$NTsh6@yK4K@0N(BZ(XMW16Xn#d zD6dd9y3td+qP$e8#&=BWs@8#kb_1-rBcNHPGqXy?Vv1;Dv=x0Epez*#u2F2^Ksu zQ_=l7MQF)`*$_r=kXbBCz9G>bAKM`_)z;fGVDiI{3>=-&K0sUe1dDIemUVoh-ISYB z{Zrf8dM37us_Hs!Onc>1M~}&c^4rMdfcf&A_j38L+x*hr5%XKE>~$+AeiG%obo=aZ zFi|aEzk!%ik_lqZigG&NMR}z%j@Ki~NhcBIWeV=>=+AKQWi96$QC=%w;N@f&Zt)!s zO@Fjr+F(WIdSp{07Wc5?5bNv|(5;y`$l*xeQXhlNqA!o z@NzeDy{#q=5$Q2Wf3cCd0CEB6NJnRAu;MiJ4Qw~|;V8~X>G2Squ_AW>ea9CRzEvqh9w z=y_iRJ=xDuj(*iBcrzDwD#Ly*Xh?pEZ_DUh0u|X5lMSN2XD;iP+6jglC-;OKxCbYM0I_$+q~89oogV35*GhPDzXpfai+jG?~IIl;~+e zb(%{CF=&hkwPeeM@ia4=y`7z%nPDH2Iq~p=58Sxm`YGDousqH-$=rTAr2AqwQ>yjg zA1ap=T9CqVHwiN{^xgMO$9y#*J zL)~v>1=`WCzM5UI6RPgnbvsJi1Bgd^zi!96?{1v|9w2@FeRCkz1*$*RZif;pJuURz zr=4<<^j#VwrvabTDbqMVL}KlJ;b&ML=bvrL-EQT?C!)MUxy`MdbP!Qqs?^{+U~Eu5 zIKw!0MX9CWW@ zo4U2P^)wBY*^S2W-H7K0It#q}T`nJSE2lGD^sidE->sa^a8bTX&*$Kh)#LfxUHMEA zG*>=T1kIJt6hU+4GX*p)o+;wnE1xNX=09i3|AjL}tmT!@6ylYC^-K}M;4%}1%W?|8J&>)^ zBW)l@Ud><9zr1kTfjM&yOxvISJ<)JBD_K0~SSt{nOLV3uooX%5GUZ&q4@|*vr#`5`} zDCQpt%1Gvka?~=aBN}yU2hWS3twGNl>6#> zqTE;4L;3IOdg5D`u2-krYpQ|H5rbW~DefaC)ncMg{QT5H{Gs|4)5loG1gMCCl9b-7ds=Geq{L1g z+GNCLkkS|)iq7~a26<&V@8p&-Q0d)g2&1+3ut32SMP`LRW@qeVVvY~X^(`(kPYO!i ze5E?@!&X11r_KmkAJ>XRL|A~)hGpP3KQicsyDbUJs5m@gR8Y$F9zBv0d-hDKy-yw8 z`1GXwYPq<3LVWk`@d@2A3Xa{z#~&fBvIm6#l*mhj_B;0)r&vz-899fF za+z&`yl^Y00s7KYktZnz^H@wwJUP)P!Dx;V82KN`ddYrFsi~-{I(+->BSuwM*WSkl z_g~Uq-s?EfXKALkWl}z0f0Fr6a~VDv{UTch93HTqqMT&4D6dp*;^U+<^l6--gQdgv zxSo)Jy;_T-kH#o;h=vuAk*!9%=NwA`rR%)C0;yZbv6HIxz<7H=QrD!bh>P#e+_GiU zsoMw7`~up6P)6xVMtOS9vzvTQ-1xaqPPl&fLzBvO?<`-lckyeV%>UEy!hUtRr8kvU zuiv-g#cg@M{;JE>zJpfu>^>~BAz21rUPO*6r}8!k28rP1_=ZRrWbet z2rCL42M}Qb&1Jqp==NiT7Dgr~M8|hepwL33(&FX}JgQp6BNca%5I*Ge*TI;%?hsw# z>E^(qQ)@OpGiS)O?$?%0x&4C;3l~k;I;LRT#PHD6S)=UBM~q(Dzg{glGHvPu^K#dW z2(*sBd*P-N6Lt<>l|OcU_6E7ftTEa11`Js~vME~m2Oqoh?kmgP_`jWZNm))4|2FQ8 z&}F#%*}=?`Cct(u6(Z+G*`Y?3z{q6t3d;Psa3N1dV2Ts%J*tf|9|e){}=AnVlA(HuO?pk zSMSxL-Yeg$=~6>F!D-Heu6wm8|IfX;U&g4U=*WVQ;KbzAc=r4EYB6uV_i9n@d#@%( z2h6|Ey;_v}-m68q@4Z@-``)WXx$nJNl>6SRMY-?2T9o_Vt3~;L?$!V9y;{tl^In~e zHTz5l!gMRb7A$J2)Z1~EslE8UV5QDmpKu-&<+PVXd8P6+e$H*jYA@V-`$$Lav0YPftumWB zz;=w_0Vxu;;|Se$Ofj9tt@jG1)BT-tn2Xo6oF3eCDcWHYMKI<>C2yeCCo_{U>an;NyO{CbI7A z7BV$&pDGteC-TR~fd$yY`ob1`m9OblEQ`Dmj>x#Q^+rze}8&bOtD=^&D=TE8p zZ5N!kEB?7NKWFRMky|FwnIq!3 zQ2f9!>7grPw2-Wb7g$d#V1a23OGStZ7jjhVl;mye1WbaJeR8+o0gmFJE3o?@ z>kh1Bu9pYHI_BoFe9q?#vXyMh54tz1bVbpE?knc)I+%Cw@}>KVBJORorf}Shq@oGy z?wvCI@XD54mM5?1H*nJO3D@+<&WK5o;BpB(0LcD~I$@)? zMNrlbcZ)FVQG0mggv4Qoj>-ERMGK3ncpKBf7iakya)Ztn@41!J`S z6?C?suc98ZIf?R8_=53r_-&o#{&u3gR>Aw5K~L{lqP$%G+O3@4vqX8df-?=4y~|Nxge^O~oKOhlNEaMkV^= z3Dq6-$rTk3H!KAK@nMlIJ6_$VJ6_!|JuPw5zOjWnC$PZtUogi*irE}3{H+GQzW3C! zaZ})LrGrC_y(9CZ(Mtzp-#TS~U3e%9t!TP0d5$yEQHcx=nowLYaq8CU4%!0I_TWAbDo1f&UNAs+{#H7iSkP2 zar|89Eq2JFEa_c)Ok%vOB81%v1F&p$BHq!9H%X$Na1XNJSqm{1W|PHyGxiCy0sv1T zmpK>6liAF}E>f&cFT7qYe#bUm;X`}Y?|lOi3^r&1EXp1j5uR*|Ai?Da$D~#e?_7`P zQMOFoDov;pK<7yhmTmGFUtx9Q%geT1x~J~!wMPbQE-E@OYv#Vm3jk5kzWkN7Er_V7 zy013lELkyDd%RD^v_s36*H2qCXUW5`@fvGH`&_I=h5kM*){b-=QC_BOsi~5y*ynF*1 z>&D}UM0uqW>#Set#_Jd5b@EYsC*m#6AQmA)nw)d29ayF#A}aupMA`!7*oGQR$p)-e zyff%YHCm(Kkr>Dm1h0JH>g)f7`eQ{IcPvBnhg(R6d`5fclTQ$=`sJ60S(-BU!wrsq z$dMa9tl_Z~yw3p;bZ1P>82c@JPwjv&^HK3edDN*Nl5ZLHpVMHT>-76+khWj>j?d3V zeSWHWouZu9QIuEcu@|D8~%a`_>*KGPW>`c|#KD+qex4N<;}FqCmN4A-WpbJSjVBfmy^PhgpZbY~VU zr=KOsPnP@?oD0qpt6rib9wj53)annnS(9ac0Q1AV`@vek0c2*9+BgGFh@>{=9HSS_ zu5hijnklHtNKd_nT2_gIU$?>S$CNmSbG}mMf8#I8tY;0XK;uABI1Ibm_ z;tT~OcZ&3QIBUXJALj$9HOV#;k9v2-2vP)+#X!ZP=PVK&$}?Fb=AXWKLs9pvdY1I^ z>EF(3ec3xT+gGgC{&xE_MI$r&;iolAI?Nb)6D!h|tje~p%E?(Xbm;0)%HxBJZ(4k$ zq!*C>$8Nc??t$`xvDap^vCFe(#inn~UvzZV$j*H?IL_gNQ7i5Cm7_+j%Eq4M>q533 z`7G9nY(3xd^%doi33_>@E?Y!7cvUa2P+oGQhpmUoxvgh4R>%`?LVOFkq<>q+<26ju zz~*L4AJaO}w~^uzk<&%mXAiK2$^KTr)%jD{2B8e52U+lX4L-2W4PpM0$$Nk>cFMh!lNIH+@7dGzj_IQIGSQjVZ8_;UC%2vS$eQJk zOqXLF=c}vb9~>KY+@Bf3ynlooRrDizLihL)%nkfU9;Jj+Mx}5E5F5B1A$rKgR)LV` zZ}C%1c>l#Z=za$TLx#Pps!B0j-+*b$=>>+IFE#Dm-dCg+pqyizpJEP#e*<+NT7}UJ zqL*}}IzigncjRByt>y0!$)|tihfsF@s4dzeaNSgLFBQZ4D z7CzFWeG2XEl9D2zf+qD!>e(YLA~C`i7mM``i%&@Ap5S`Q@q`pg;1S{k5)Z!YPVzOPRH(& ziHlaRTrhFElMCB|CZQ1xj{Oh$PK}rZmP?T)b=d zrHb}bw2SxOuU(wnE+(>sDV0@BE{{C1I>$yJF#H5d5k~j%Q~^MnZyAERN%9y>@+r<9LIfeM|YgsT1l|C?}I;HR?5? z-VmvWy&HV%U3q|Lrg0d6L2>Cao5^3s9AFMWQoXQHKV%K0R>EkSkno7N#2kN+FEz+f z@(gY4<)3+Ll#OstV;;2#d5QK+W#+eVz9D`We&@95@x(tjweBf+WK#P$tpGkdTmwkO=t017?zpYDk}i zbK9oGN7(!zVf+x467gn(eCl0!_|sdo!5_Y>jo1F%V6tk@DO&m4fOb5jj2HNr@*3?f z?I!?He&wfSYwz&6(uVqvguDomI!QfQfZeZC`!+GEmHVp^z5{Fo!W2WyZ#MY>?3H}` ztyXuCf7;YZIw8S4U;#l6@Sm25X@_-bjhIety?RWgYkQ@T|Dy%=AsBmjfAnU2$n8l6 zC3*=ivqCNK{zL`p2F~qv@$r%r-!r~PmlT9oAj~!@G9nx^5sZBWTpH)T(sL9cU?V9C zPA!;n4&B1M0ne;iYz(&2@t0oKPQ35}8}oAGbIcBS;*E|Q9oH|=nniY|j;0Qd>S{-A ztz%bpQ>|+gIWq+{_0!V6RS%fu>yUBmMI(LF9~`$`Ez(hYFc47FX;ZE{Ud$K9fBQ#ZcH!X#isV6Tw{4`5^x z7RgE>Akqwlw~q}i7r_P(PBxTnx;}|a=5!hwxy2fk=Nq?!>5H^1wpqK8z2&%z=l3$@ zZ_xg}K>N!L7`A9z`G&XcCsAhjR@>6ErBVGf+LI0P#-=yrTN()BHE$1g2Hrl!{#6H> zpMehYi`cj72P|1&fUsoU4-tD@Eir#>&{U|W*jk-tt&2wa#?r>1DMvn$jXKRnegBhe zYRCH?Dk1Y%aDWVe?9sTgNHehCxvE0*1-l4MSU8k$h$V7@5=qmT;=~Q2>}l=iG`_AJ z{@Y8(Xqrn(TP>TP7?z*KJg>Leu}fZTac~_=ktRaNqMSlq5bHWZdc__c1rY4Pz2X&<`I@dNxOPDVS;)9e zqAnFdPmvUVKOF!$xdch}Zevw&0akEZ>0Fn7$-n{HY< z@_NVHc?;I8Sx_(@;&7LvR!&|!uLQcrymh4y@7?q1($S-xVlgLY*{ApIdpLTg_S5dW zw4Y~2w<%%4ckX6EC9y&x$`7B<8FjY2{Hswp=e82RDAEM1)7Mz1oJ4J)BKZk~CycW;*)bGXiUbEPA#;>>Cy-V|`l6 zooB2Ocg}~(2Y>vm_)L{7Pp({f(EIphL{|Wl4(ShFv>&y5 zo;qOGNY{4^zh;9N6~AL^V*?o1nF+N!n^ioPj9?7%d?t-K72)TSYW2f&h0r@;OM;9y z2SCavj|t?eGihc*xh2&(qvbCG&_&X3k9Z!9{ zzvr5}Xd29?x7^a#bW|bxJC+h%obOZ36~49i_Wca=g6-;3);-%cafQ9mp4c}lB}GC| zd{%bfY(gIIk=Ch0`*v|I%{{nf&Ap|a;jO>Bv5fUcU6pqV#m4to8+MuvX<@UNf_a)y zBn(CR(93T)w~Mc4-&n8R`IPU@DRI~9>CT>S5l;fImbF+%9EhJ znJub$zWa3<7iAn#gqv-Jtl-f@q~>utl%vpMn(g%g8Nj34w6R*-q_j!y)WI5KjV7>X z7{bLJ7<#!)b-lZCNHZ^iNSSjjPhY;jL7Dx1Y3UEUs(&gi{i&v8@AT<=i)QSdHhu35 zq|?PcIbrj;^76A=wwx{Bc6ReUQ|>D&zHiEu`-+S1BY$}rW0TC+a=k8y^m(p1BDF4O ze_at4HwUf=i~BiHkDxX}ef(M*BClv*-@K?~X@kiU0DX-&imD+*ajaOnqwY|tpS=&Z z9rK6dfkf&QAt@^W?U^gA1H$frR7kYfkO~R6ZPL9-_0Hmk2fC?bLUQ7dQA&2x*XD;E zpUD|bN90LbM$;LS<5K&rYOlIkjz!hc@>h)?)uDOZEqMFp?<6Q4{BBXH_U88n%2&hh z4d^4@W-O~rXMt(9K)jF!q{AK%9fkLF85VH*msS6l{vw(x;Y`3FaJ#^5*iV`7Z}t8?D#+0T!0)bZi%xh~fmj{OcrgNA59LwK#Akub9LPu8%4a6}aCQ(w ze3kwkzv8#SDqJHCvkw_OsDIyNL|3KS04orT^HPsmqL&_0ZF#tjXS}QaU}r=<#^A|> zB2l8-^GhonNGz)WKk((3Z0Xh;ZtL44HgH4lEk(j7$@zR&^?e!qmFyX9WweR_$XHs;rik>mA=fa)k{b*B1%J-dSSu0|?!^IQ&vlg`DLs{ty_Nuo07{~madFuQ zK4iDk3%CU@;DLTJq`G3VDD#5?fMe!v?4kPm;;R6~6wvxtEFeJth*C(ne^0zLNHX~c z_Y|-RNn9uy= zZnlWDF1E;IVhuo33INCClo+TII(s<1)I7lQh&fsS)-zZoDhwQBm}B(^9ZUann>U}` zcJrV6sE65tl~Y#qNHgCOKQ-44OmFLR#a@7Wol~QxJ+$!E=d<3vb;SPSq60Ha4iq69 z1`x(CkY~}Rr7N|ert;GAC9|)c+}l!=(8B{`ujro1-ave&9+@S3ro8!{_VbdhO$&<- zFIiMyGW+nn1xIF*+=NUre+yo_UiwAIB>$n1NipQG0dAsySj9hdiPX=1kCH^f#+KDW zE|+xSKzp;8Yd#`Ls7nbVmgwtVLCc%mwY#YTj;G6yx~q{7h?>O_=&FGO?~-)5UK*R1 zJ7)BCBZvc16I+lD+!>4`Byumse`);GqjW{q0h?tCqhcv2NS0K(LC)pC( zkTo>Sq=YfJJ3-AW#ALBz5)%cTI&_wyXGI{88Mmq=3R<*KaGr@pSW-+OAnubw2wXCM; zXF2Rc?a$_C*(JMrl$|cuhJ7ntRr~Qql2R_Oj#cj(6oWq$&4k<4$Z^u{1En z@otKp%}m#-9p~6{_&~_aAY8mI;a%JUD=92g0eA-Ed8Q;pT+hSBGItEr4aV{q{IC3Q zd6z6uHO&6N=uV-RI{X{UWP&jA9#~Qf2kyj{%OOvO@N86z-rn z>v>!BmJfePGz;IF-EQT0Pu0t-ln33)@ouV@S17l-mE(7L7elikF7khje5x3}eBt);Iv*Gz_eET6tKCv5w*yN>y{Y!I;lS`*!%W zE#@OC(drLaW&;ZVknCc1oSu~WB;9MkN~O7`OL#Ro-WQYR1|lWqPe+TAw~J|X%_Dr6 z^zrOehPurQ{0Q`NjxmRE;v#R_gK>u7O=W<+Z#YgutTBvjc*2KE2q>&FB@y6G0l8y{ zk71kUi!Ss^din8(N=>clwDURnE4m!{Y9Z|F;a$26@2dTSMdc$g$e145E3A*wG;DqT@HMd^ zBj*j6ylI%yq+OdjvTN$dRPB$NJuRJljHJ32@)^;KEn(ocl+TF!br|Rf`L47^1(et3D)R|>ekPJfxMvgc|9>u< zkTJ(3Bg9<#QBoR=&%|1E!GWA3+ZjEtg0%ty;87J75E&8X z2VIN#n+=vCw*@CNk;j6Zw&%Cf+kd$q$=5DCJbB8)%Rm0B(sa|g-FKb8g`mME-M?tj zfys^@SbrHOifB7nYA+46_k*N?v!6u(f+;iTxj&cRQn`knC*fgJl0w>t(92t!m?%7n z28D$s`$P6R6)@cIGVwg1GqeD{MVDUJd$esE+qzVA>hfiyTe7@@ZFTnSpDQ%sPsQhj z{LPg1oL71LAm-QEXIbfha>n=Sbj)9X)Wwd-5lMk7iQz{A*`cbY84x9TCh?dRYWBy2 ztS&D|W*m@@3n4*bL&yj16xpNE7RiC>e80r=K5Wx5GDSI^52CyZSc@)t>a!@XRNxb5 z)I&TW$}0$O(kQ2MLzI{5SgE3Z_}J*>Wy&}=dOEKJeYt$xt(?viQC>~w70nIK6PlZj zgkR^(PbZJ=h!Z8pcmO0qAkokRK3=sjV@N|s?j3ph^B?lWS+Ubv$P;J017aQ(INQ6y z!Ec`Jc*Qlb-bp@O(=66+68h*T+3cNKT)#Y(FI}h!N1Cy6wgd7B$3^y%HsFxbv|WQk z&QuH;L&M`unb%~`aksgl;6_tCTp>jiuQ_*qq{(dZ$^NHOteM}vlV zNzhavAC?b|wn&Usr>RpmH-CrsOV}!!zti71MO(Q>J!QcB^r%PdAvKEcA$pxfkcPt4 zxiWJKp*+QX?_hu9{TcS^Fx!Dca@#|P9OtkE+GzGDbgL8E7{S+S6#3aJS|I&9qenq_tJSC+vE!3_2w@ixI)O+O%df) z^4+}rZIs9HHbr@b%>7)O|A96yQ!XBzzEm#bdj?-2w+ihsL0=|c%j;>TKDxDA&hF>* z=)2k;eb?!g!R%K~e-`bAQ_dZ|o@%)k{bkL6L(Uxg7m0_-`w6ViU; zTMb2Rq&88BT}%+C3<*=cBVM4wg`q<4bUMj2UB3GZ)nTr_MBjoakB;8AT{2`VnodM{ zXY`F*@2~`qmV;ywo_@16TVP1fvd+UyvXN&FxsFszn-^6^Jc_Q_#r7N6xh-9MwiRevEo!gj-4>opE9D_7#v-> zuLiCi+n?7?oj7!e{qeNi+wmv%?0eq;Li@O!OS}P}W~wtmvGca-lr(2sN)pOVQY_&y z3;vReoWd+r!Q2Wjh69J#dyb8mySr)xuPI4<&7rrFUL=b#q3_BKyd9KdpYBj2wR*9? zw0eDi9nfyzZ6=V;3z|Cl+2+go9=xpk5Kuj$Utv;Ddm386Wd@#S^z01=z;{JrBf#(? znZwMXfpCqKOfY6*TQEAM!X$T?p?vB*yK_MQ?%f9rfO9uSfw_6Qf0r)(=@(Vl{DaR^w9!4!7j(V}`{ARJKe7YHTRi6AEd z@=bt?z=2A64BK1jcub~R{p1Txs{9Lc1n6?f#@Cqwg6O{2WbADl*EK|WCB?#UKD$As z_7fDkQDbeD<(_M6)Jc0xe7lR3HygH44n<_v@Q%G%JA#aUNbH%(hI?WaH z*61`X=B=Urx%KCY`Dyfeu9%-jr}4>8!{7=~L9Tm*tUbwEZ4{FfXb>W}Md7v=`h7h~w8 zJkd^87|by+KbmSCbB5)Tvqe)~?g+UOIu9*qlva~<{x@NgjBq=0-*k_UD^VE%FsCcamNd<+U=Qcz4#bW}uu zKQ0-8EYRY4$*?)E8RTmz=gxm%+LV2Bw2Ke3^M$?BC->DF8Ni1N?wT`ycY*dWw%+HN z)BE?G+DDs@xe)z$4E+efn{tMo^a2%1*<3PYKuKeB0W@qJhWw?!ZD=fi=?@7@?q#Jz zF{-zo@dST0`a)M8Hul8SnRic^djDMQF#Du1J$*{wiwI$Z8Z^Fc=G;3A4x%$X(V2cT zvb0&$mzm8y)l%%u2=EQEj+h`=AQ#CY={igcUomKix~^CtX>*ub=ikg9bQe*PKOn#c2!J4cZ-;v=fmd3fI%OxM48y~TRH8{NuD{}ttx zN)dj}W7I@GA!(ew0O4t{kh#LsR9KNLEv5njqceDI>sDy2uAUL7z?$ny$AdlDdW={L zuLdyba5pOt3p4xwKOK)TuU!8U^W~F|N1sP$Z0ikJl;c>RB=QD@d!f|MEaUDB&qi2E zag1|L!;EtUmBF{0+aV$olH*eo=njoLembsw#+J+?|0Qx_hn5%-PofJR$Q_W-Nv%KFC7KIhyc` zH)T}rJ$%2l&$$&aPTraS^ZdW(duGh#p1aREYp=cb+N&?K)I)jgtFNB;{(E}3R7DLq z+p&+&<%UXxG=v$6dyg{YD+nd*%Rlk$69B(~xtK3uw}# zID)638-&1ORY!t@1OG=7K|EWjJo!BQ>^{Fyo@CRmDA$$iS42PdjdCyBpaj`&u#?JY zfQ#n?ehKC_*jS=1k*H$t@_hB|4+;(>6#$Rs|AQcXP?>$1wMXB*=apF}*>Z6?Z0I*^ ztCUq5KBV_KKGdAgjnW4D{BWJ{p9soQo z60gFuZb43F!Fe1jScIWxxBVT*9MwVG<#qV9??deYJ0Qz z27XnaDRso$LxjaVut1w|6n&y7s1|Jy%%vb6=lXw)mvD z53nZ-$jHHg1%s7PgGoWOU2bPTfDFDflrPok)>0c|42FF#1r1C6qdEpbfJ@if>m~78 z6>y2VoaSNSNV?U>H?GR9kva|PIIg60QuV&gn@2Ctdq^(mGa|oaDhoP|Oy?dGGb6ji z^gx!Emv{ceNprAh9kY6-q;&L2+&>k(T;(0QEW|TG!~_sL2Si?h?|!gk6ZEjQ0bN!2 zO@d%2NnOxr8)3|3i|IN`&AgK(zz9eRd$%|x7 zq?V0P{LOSiBQHQ4e$;m5tghfi1>tLi=lrH{-A<0@5Fy>t1;;)UM^a3Q`XEXuLy$3< zyzwGz)!+c+5ea@I1B952Q600hf}%(cpo~z+0?cd>4d$mR9`^H>25oMzhM$qW6gX_SJ zAYNp%xvhvnmlgE;a8D>%io6lNLDn)<-hhi#UxfrS!j8!x>U3Ro!$U&=t(qd_Wo)Oi zZ$JztPR9cmU|77^K@r|%7YCmm%r3sG2x9QxlwSCv^!l6loVeZgg4mb;n`!GOjQDwkp3WpagAR|a=W7T817eEGQT@zwblhyqR<7Y~Q#4ovEl` zK57LlizQo%S3Etj{GEffTL3NaucNp{FR~|@5Lf^XPnORvoRxySflN+Tnx%?xDWBQV zV7;{S45PFvIl1xA*gx;8bgt{KzY03v&FOrre435Y=zNs6mbBj38-fpc_TbLL>wsIF zzETy0CC0jNGa0ryuKEZ*d@T*2J<@3%OUP!_v8Uft7p~_~khtq|;o;gIZs2=vFNfun z^h2{fm)P{NE&{{-g+evM7=hlZd$9{Vjo2}W(&sEE3W4~JUx*9wpZNl3ArH@jSa3gH zupGspp=;`mWFtoJLt+Lfqe9i^$4@Gd0~%~aPao;IX4WFl4pjI;7zZSxMNT ze)c_~qj*nL58&Smn?BJsf$n&e0LGugnsuPxC7XS`e3Fk3bc}zLkC*v(SQg~I{P$2! z$04YDH5K3eNz^$350!3g((64Oiy`t2bt(Q)fh7`A8t*cJJ>7OfqLF9j>yu zY{HASTRBH&6g}8$@O{!-*1tAeu)inL@@GXaR$R9)ra?b?NbE3`{)mz3d| zzMz&)jBLXR*_r8~VY~~GOywdV3GxsqyW*c5D0(ZO)*fP!PoKHKA`cx>KD}^e+3WY+ z_xdu{k$=ovZ++@1+j{Tva_{xFr_Nf}`&3p+f1P+?&FTvi^-?eE>k}`mUV}faFVkG3 zF%KV(=QbSA2Z8rP_#P%8V=WBamJH3fCJNPLsj$x_FeE-CP6w#bg2J_R0XPEj+Cb_3 zirT8j-mYpmaA?}0aSf-$kcz$w{%4D5vi8ZL>ur%;nIvfH6^mrb55ws^F-%cFUAdWqAE64skx#2d9BOFHKNIcJ9NVX(^XByV> z*rhJRQ18G4O42-yF-|x&SPe&Rg=vrfE7BTNa5a$W`4PG>4)1`WXQ&f$1P~$U=4lA0 zSCBOtm>@~ji6c5^?Z2R#y>nU)G~vh-H!CR(Vq=5SL3{D-GoNEciKo@!on%iWUk3IN zd>JU|LP7$pi!%3RfS3A00#@yb#M_e01`-)skz3ewwyfrj1q>Xo zc?~#PWqU`rrlIkDws`o;A%km%D-Qurofo|E;ELB4&>=;*8n${^;Tjw^q5!^c90j-{ zVC$T%a(**{mIR6+rZ@>6W5q=ZAg+uIESy|A@G(3?*g1ym;3PhECHYJ&0~uvOu(yP@ z0Sjmo-zLu74zCHPzQ;*kw8gcsTwqx}7kH0ce1q+Xmpj0ph7c_KTPtmUvK8XA$i%@B z$d(OsP=GWN>%aKLdD{6whlwKD@*SkW>Cs4e&8VY89)C;#!CFRGmQ4t72iu|4cd3+O zX&~oO++S$B(3t2b(#^;a9~kJ3?ab8O?3Aeq_bw4yY=-!!1~zZaTMHJxz1H@Tt^HY@ z^1z@$_YVb8EXIla4>8*IS=G}EAGlmCK4wFSgvJqh3kUUIkgFJoR}O{!Wf?!CLV!Ic z&>2^U?{Na+GO&NBW>yWzg${ul>{IG0NTyznVpXbQWmu~$E`Y~TtO7z6P$v;mRVRij zRg?qjNQKjKKM~#umjaX==`s_#Tu8X8e7E~0<(=uO&fl>9FJ5K+f5Wpkm;QOKox-j81folCh@+DB8Z0dSG;UyNZOHJB&QMvS+IUgLXeSFEE0PmldK7Q!H z2XldU@G3SPv>`&`qji9UAO`6V02+LUZn9oHte(%1zq!nYF^L%S62HfruNCA8-D7IV2%R$%&(g=)JQqAoEY*;lh^>axG%F~fS=_xoP|NCiT6y`k zQ02RZ2IlMkTbA>jntY7^x>aO2%A%iSwkNP3AHBdj)T6$MTLA_UeP{%^3~NboozMvl zh^vK^f+G|BkncCrx^aq8fH7Bg+eU__0 zol(w3`zwEVgAE$LcF2M^9~5&Mltm+Ih74L!z&5fb1_?egV$R_y%U_&98BYV2<&U_p zKQM*8)m1snX)G4KI-{|r$nHcm#_R6z@HMQ6D5_hl8&{4=ALlu?8FaWOV9!B9Hi*@9 z0^9EZ%X1xuu3>mvtk4e25Rzz4TFiN!cb9d03B{)7_5aPSVckS4LxK7(7 zk~{1t5gd2DS%A=&AuleSbWZjEn5X?nqWSY0UgGDgHr&{@?fVVP`!Bh}OZps}`)GxK zwC|pm4Vf=3EjTiH@{zJB`0vp&=_ZQGKK$L5M{jML1=`5(6BHVo7CUBEb{p9sr@pYU zdYN@o`LWW;$IHu(O({KA4q2fN0>j&|Zw9~y6nCfi;%?6PV$fqGLc3usj*B$M#sszr zgi*-fS3rG96BHIle6gAdV-B>Jurden%4Hy3ab(%n5yP^JW|!<72mi&*f-ysHGu`}> z;t|Rp8NyTY?jM=AAUty2=t*nx5YROyKhH8q`9jGl95kdzd7bE#;HFxCYJ82x{Xmag zZ-fLZVUO?#Jw)d{q$Ji$*6r5a;HmsR-K)@*uW-J*QK}F+tMP7~xvFe`w*0PY6Czm_ zDi0)*xuA1yrLn(;Y(hXGRbq9!?z9O(dFQ&QxaK%uVAth$m2KAD0GrcY_oi@p1HSk{ zhiYaQ>Nd>NE)*Kl+%A;OE3i21LUhn>8dB^ND!w!Aq)o1uEXsUe?}GkfuWeJ9|0UMP zx>H#L!_YGEy^l_QSqglNfKE!i&LN#?djsDoMvcD1|Fd5D0G|wcgP>amST$P^j6wM@ z1VM&`*`Zm(+{ID1VC^idJl~$oKj2L!ERVA}Hnupl>KZHx z3>zZyh-7^k&W~*3Ju1t}GGO2SJ2!MUU?&r|>MX#1lxR+f4<>Gfz)YBi&?;Lk&jzN| zsv$`q&(>U-V>lrXTrgnCrY(!MY(d}ad5h;iEZ0fXo?p4}Tt%O%Ub*x7fAV@X;s*Lo z=sbGJ@G-kO4C&l+Kza4-qvP^cjn6L2@$$~8&a2(0(Z1XRHVDsHq;7BqaQf%5NMw=( zrn&tH3s858i9;Vd#cWUSmu$AS;>T7={JSlNWRW_YMLl%rgDw4*?}@E)P?JryA2r!D z`w@+iu>L**^ha=Z(y3jdGab?fHyqjZQm5&tuKo;bb4_`i-TRjE=jZCBMp{xO3QK)X z$+yEGalguIobEPCm@3}T9q(O$_XY?Q52_i1umQoh?N*`$9Obd3$HVXIH2#pSq3e0|?OkziEWcJbClgii2Bc{~_YaZIXJ*KrA zVp`ukiN}s-$E>IYrVQeH)+L@xdp^}w<$h^!K&}`OF>uj=o~+uZ0XMi&owWX>?F}B= zDos;)qH<2=Lf9WmY;?-NnO#_^rvVCg$}hCN3K zIj4}#*W*6$65NMeZ3%f#xR1vL3h>Cu0r(zF6?p>4PJ_Y~qMNOTFvJZ{cyO=~3?Vg6 z55hJFBJxG+e8@$1@Dypr&Udc9S-)lF-~|KH>)CxPtUt0q<;Ka!6FMcaFRc)``C2qZ z%g^AQnyp6EjUqIu3w>u>jqGpTSuf_ET8bDR@Nl3`S+6}4`qDi9OuMZ{MgE;_HFfn2 zRbl^e>UIW2O-fb#AD{$XHbv_ZVQRP4h=x(zRs-qdZf!OCzPBsu*~j#TrL@xa$L~?r zsn3_`?DQ6z+iLjP=CH`P+G^Z?Y28*6sBAwec0H+Ve-ba=FO^&6e_+Llf0*&k7Hl=D zRQ0QDHHB<#@viX`_7vNGFOD0Y+6n1KHEcN~hDQn>Ei2to2nhCeDeT<2u(NWA)=I>j z(Q^=Rv}UWpvHR<7HQsC{duZJ5@g*ui!_rdo)6idZg*0uu1EOiRG$%w{{?cuLWl{o% zixMUeJ<|mTT3Z0B(~G()UblrLFTLJju!*w7di;#Ttt%fRm4ZV;jSDV@1^I(hr>qNFM5ruUjnWOr6x@+25|1_@-VPFE0?9Fe z4yl3MYQO_z0KWm|R|z6Chb}TQG9fZPIRPe*;8;3K?R?t>E?8-Zfopym@+Wpr8I~`V zvq{CfCJ=gW*?ub6JgJ-R3FM*y$&a%!J1a`WI>5NSlor0yc76JzgLgVn4X8ka`WFFb z%l4UW{~`NKf!O8=RzXy-yV&-l?X#2eEtL=sv5BC}4eVY!BH8zfzZ-?Byw@3%hP`U% z#i+e)7j}NZNR!Q7Uv?u62|IUxLw5=nAYljUii=@~7x#ii#2ITC9-qc|p9|HlBVIev z{z&xtmly2#VZ(+Wb}W2(UChzsC#uHP&hTc3l~Uj72gWX)KdI{Q#4R@;ee~v*k|R}< z78LESm|eN6u;n@al2Hc|9nQHjK*|-dG}t%qYz1=Oz*RGCj;@9v%|eJta-SdMIm)oH z8-m1i@ueFZHr&{;;Fa~!N86vM8oPhGuTsVidCxdFZrX|Dx|sDZFO=J;^P70MYVy3o zU6r#db{EZ`Ty>-baAIxOg1OH_FBnniK;N6b!FMZ{wNo&FY(N|N_1(&0RsuQ|kztJ? zO>cu|P1e=G&$0V_BzJ$Rq=2f6k|e`bFUwHM;h9C%OrsGq)#-%EWKtpXsamKPZBlgP z&TnzNeW>Mb9tcwkyj_5$Ed&c_@A1K2a25zq-d$rSs5C};C@Jm+XtdI%cj~vVAH8#Y z{U85W&rlXg>io(IxsCNlnAnr*kBvW6Vf$SE+kc%7IULUcU{w{y@ zBR0j(ZQpH@eyp!&Qq-gGEw4N}Y0}ZDY9ubG=3m=UhGFA(TNQ{y%IbTcoo<~urGCcr z`ttJn=?KaNKE{AR9^tZT8v))!KOTzU?O>ks3$a5fV9wfi9)qB zt3ogKuSF9MSFsZ(Kl<_oBzCX6nKiCkx3QVG*_Pw;%Jz+eusKSphmWx_vp6$r99#&< z`cw`hUZe(^;b-ULG}{pAU!73i6qX)3IJt4iROZD@CZG~_J|5NJYWmR#5_Qt`UBIbY zzR|;6gnOd??e|zx01#eaqUIl>ct@b9qH7Qkm?%J*AgYE<${S$}MApr0QiMuQ-V~V0 z$-Dj!FicG!IRP}jWBjRSo;h{mglwnqzjC{jm})2U=Vy%`Jxlq5lR0<-JX6kiKdf_K z$liS*i$}soGEb%ZWJjrN)V#rqvG1d;8ksc z;zMB#M^w3!pi$!Ah55lIl}!eG@weZsTmSXe&7ZA8h`iU7?W3!<#k~-{?!|e950?kq zs&pkgMx(08&)dP|H+{9U-blLH7^gd=PVX#vuU*W6sc|V5wFcvPey5De2r^$Bz99WLw?*wXs2Ba&aLOZyk2A-*R1Gwmez9sG zRTB_rYbAkS(Jaue7H6eO%Cf!|Wv`oPud032)!ZyjUI#p>b8z!PV9wlUD?%!#{cT?t z6U8?pK3RBA#ZfLlt=G9ly(^`lV&(7@1+{)GKMv@t~Bk;o*%Z?D+DG zt)O@pkt|8T-yrXFqrdxN86ffEaO_Uz6 zK8VOKWyCI}do8`+Ep`KQv&U|@>BvMojA3fn@&U4mVz{um@$Z~`Z-ez41h~LFex|WN zqftk!2cAdpKLhx^g)~b?Xs&Sei8x2e2?fK58UcwZh$82JeUY|`^fP)zwuzBJ8?`|~ z&4bu6WxO=c_7Gd5tP_`7H&=`O#U9lMZ8qEY2x6dlxW$m*JG^$f0FFmQ>e4*%onkmd z%CpAz7GfcEv+;Wrof?=eL~-IF)!bGG0QLI5JnJ}0hzbmW8!{xsWP(==k{(VoSf9i3 z0Sh&KfpHPo5d*$?uwm?hX$|uZ6rOqLo5vbh;fBv2Ww#W+X(uZ6(j4m+-P9*$vF{Ya zfzNBalxNsLPFn=$H0+lwA>I<36%h_g6-8yJGF(6VI<)N+okB=Tq_$mDbUpzEWKo8m zY~!LK5hXTom}R?Hl0(=(D&=IdtKRv8`;F{%lqJ9L0!upDYh=H!JyVUWMDgpK*P}ZNyu8u}@~7bQ`b59K}KYbGxpsdmKekxIBNMhSxZxFsax7!r?>&lNhdF1)Cn8 z5C7s5;&C+&3;snO`)H>n8bi;dF>(jbG48$->|WAGPC+gUfv#6&F+~LWdBbN+mRPD^ z*#;I@p$z0N3{>^#GB~hAv9Ab;%ZzQ2Lz|kj$APpr`tm^%c%&rdlG+-=z2XU>@!TsO z92Amd1jlhrf)7rYkVb@nojzi=+G>ycNZ7^CSFZYETjjC2F>O!w=<#H<<*jx1?V1$e zGjVVE)VfmmI-)oKYX^j^!d3Z9RAdG7UAOyCb$!LmlT)UinpS;kD$s}d)hS2h?z$O> zC`lI%TKrJROzsRjcL?fGNt(Gi9-^b9har*V>@wU%tR4z_87A1Drj>{3s*3!bhUVIb zTH@(2TYHD6=JK39|A>f)^oVXr=Jvsz;*8*hIFxy)Fx7HVeJ!Z&i!G`t_1u-Fg*TAY z7l`w_uKN6}ndhfX8ojA*?ko3?tL^!u7+o`D*xJ!+ih5P{?p@idcSSEl#j-IuPO&8`_d?LU~I=1nHla8`2Ngxfw%lL8(fB~0c zNw7%$xh|B}%CEVk6NF$M@G6Maj+<~9lA%w0e0+L*x5Q3KI)LgXBV{=n@M!h_cr8Ft z#d>E(ne#Ewe`X$-_28G=xBYYVN9S_##vhnAcE@0;>;932^U9|s?;BUNbYfgdZROZ~ z<i`Nj<&uRN>t%bcD!d}elH+`8!Y8Cj|0a;$Ze4ooOqTiG`}cHW_~lKqna zud7c4ilB>61P&6BNj0catwYb(8l1FhixG|IVguSEB>Jm9k-NVk*Tp9ioM29j3r?j| zL*}{$wxwF@5Qhi167ZC?UdT`5g%Y{BmYSKdj8FQ{%k5Rwr{dhgmCsL;>g0##FP@h- zH+KtMB%78DSTImNVVHB}f#`j;dDS`IUO8pi<5%U4J370%d_d36LptmlGknPC&J+4p z9WDVL<|qT5muC5V#>*H{pO*H(m7D3ilRjk6CT1wRz&3DnPo zc90=iyc$z_|Ai0d{``jR3-RY$%Fj~|@7=bie7Q2ZeO6&~%F|EH{F=o*vwhBO<%MhG zX562Yc< z%AVFAt;?iUnnpqgjl}tSiEaU;vv5R%PE+?$EcU9b6Dc(oo)<34_Jhiyu|3*RmOBrj z{bPxYh#=`VA|@g_Dl#BEAS@&puklMVLH-qZlNmDR(`latx-ghwS&D?V5f+p#Hh#Wz z$rp8XUo5@vi=!3WM|+74{!i^b^pw#y)cDjv-GWof<@Y~OUU>XCyXS8ou>PkH&wFR{ zUv4&@W5#d3QEu{ca1WR|)n^dJtNc6Jp~;UWO5|r^$lLyhT&CLyDSnZ9g!u;`>%@fM z6cj6L%Y?xwf9bf=7HJ(Qf2j@($3lt}cs79671ar0#TEJzPOxl_UvPEWCQ>UTZaVF3H2xl?W&I`w!bh;?3&F{m4l+P}(Em{7tnH`4r z>z6yWcPyJ3n%<=s3-8)7I&EZsF||)mTaxtto|NqPHNL4O1=jS;d)7iXq&X68mSWB! z!UGoqeR$ZhI)w-x`VH~}l6bLtz$(jmy!9EkL)(9+qZ)&xGE4>MmO6&a)SlO=&kLmC z9O{x{K~y!~8A3+3c!P;2-Gy-%9jwsVm|I*jLXKGB{_T$*tUsksIW+zIVcu}m+de*d z=G1AityQkCn(~4o=*B@-0oGjfWXiqW3WM@$)Ix{FISj`M8UrH%jl}ORokeLdC>MX1 zVRh?91!W>|PAB?1t~=G=ihyTE)%j&jswz#652E`NtL3MM(7yL)&vWDXZCgfcSGfwq9qV1Z{@1e-|$ z&ke31JS8s5zsuXXQ|VTJR(`l)(3q`T(fifgx>u@1t@)p4lwzehJsbqD3KY!3 z!xpa?92;Kn<=Rirwpe5}-esUO-UWh9_LdAi zIl*p28{ALHkSh0nw+05ZQ`4(Ym5)0%SF!fZ0pd8#aK9#u+m;xUQABY{5Y1XpvC4eK z;qAbo!b2rcNRYbndP6ez>$^4))=b}_jc4}m*`JlVJT7MH>T};d{Oy*-zunNTA^F&J zl<{SYPRC)fb2ks@nZ?PX{bzrAa*?pmBE^1j zQCXEKDZ4MMg&#;Pd^#yUDJeilyDQ!<1QJ1KC8V3hq~v(b+{eQc_ zvdGKq>eb0L=0~noPd+?l>Y)kJgi+7WS^fEj%|CA4`1M9*?8%9f50_UxQC4=m61cPb zfO-5lSe>TWa^AtAgcglS`3wH2f*Q|{BM>9sNAT0qIm^DMPQ)P1SCP0p!}dM85rZ@X zwr%5ULwU#DfQwL}kBW&PB6&O>hv^iO$NEzamghyTG?4KkR0s);4~R@D1VBc@lm~Kwtal+^p!uZ|7q&8%Iip3g`$LWQ1e-< zIT1_LQ#uJyScXw*1d4B{a8Z5)q8KSfLc-qAIARhG7kTY3j3z}V=1z$eSWHdj$;M3V z&N|Y)i6xOvu1WaGf$Xo}?yvcB--#vP9@zigk`t8&#*RHu$^7?^9lO6WVDYz)Z~1DY zjxASKF8cb!iLVzcPa(-@_2egJ&3a<8D1K)PEXAKECW|(*=rh4fSuK5u`d{(FF*Oh~ zFbFbXOq90~LICY(Dh7>fvimihhZMDmC{s~wP6I&)e1N+lrr^PYx#UgfNju;POG@Lw z8(J8K5e&HjOsIje5C5-pzk#Q2n$SZzF*HsO_J@QRa!MsjI6WmgJ(EcS0)m2}Ndyxc zm%a?oNbfPCXYAw3r_Zwo&xgi#i@(QY?3@(ddrV%!MrL|m+4OdJMu!2)R)aom)BrXc z9a`UD8#`siuVE%Bbz*_?2K&J_O6i{2o8xE?&QcrbG*TF<(ncEtkwA{dDTz27tkTkk zTr(=g@Qc!9buf9^yy2qdjoFMQ)Q%L%v|^`RZgasN=EN)8ln+mSXsds0$H`rw-Xl}K zQ+}3|7g%5MmW@cb{*)*!wyu}1yrU8_)(Lz?kJ6m*9t}U=0SBNxPAZfeeR8<5MOTJk zU>#D>u&Y|Qo{O#t7P8cJ5;`V^C4?k}(s4sn89*`KT&w8@&PY2A3J(3Lf(uiP)?n>pS^%&ls8! zO`pq?q`vTzjTm}{+G>Q7a5zfR%?3>_qB0wuluA_gSuv>O&sUit=F>+u4P7;YZI_Kc zy8}BMth)H>-iPiRcK-mXcL77cmAkF0?UYwJ~G0F&VbSVtYJNeU7MqBQ-#c3Jt&jJYy1mryL*k8Tfsy z+wV=FI?y3Zh{ry8lqaMiWS$bx^G+Mf4HEg}HvGTRTDLuA~m|9;c6|3(u zw#U0dsRo<&E;4DYLDGTS%P3Va)vTkX3~m0l^gv_#+ne0phh_G7o%J|?hEJRh>nyxe zwdaG!ts&McmEv4c`+f$pET^j0$%UGWza6BMM^$8?BkpAZ)m9n>}=%#Kg$4W%x;D?YnXUMm?_ zP>MnC^0${Evf*Z?etmW};W_PV?emiMsp9nE3WB~zw-y%}dBh8Hy& zS1xOax)sG2UtVk9R-%24t!;^0*x~bQ?|`qbxaIE8MJ_hSZV@7+7p*@W?9ixxqYZ{OJP&4!l^-N3=3}`oF z(AS_&1q^J!o43wOB3lJTX=9D`dSj_zG$tD%)3$Fm7=!qD#CcPnZTrw-OKe00A)MN? zCniM1N5sXnb)gI&56W=e{jOX=qmoRGIG)lzKhr*Mf=`1}=*HV=&)-3hOC9uhQG6772x?M`XF730QpccIJ?brKyyT+z z3@C+<>7b2KWdz-)8a+y=c2X|vQOE3Y86z&@V~8GU%tX&IunEl9^_P(!B~RmHo?~T7 z6;U?g@vG=Tfafm8(Aln=DhJ{@Gl)0nFENBwsWL+I>u?8}oAkOlcy9;PC(IFs34gQ% z$D#SI89vEKNcdE$+M8OCQZJ?qoE}tHyc*IrBz%z?APMM`RN-Snl`Vmlk?1{4{h~)+ zEN6vqLQqGhRL^_yvp3ovwe$$GMIn90{aw^{iS9Az9k0a%)pv5&Wn^w{R#xt?-26cU zvU0L4$q9*x3BAyLQtOx$9!maxD30*+>%$F6*_3x19u}?!U%~>%m3o24{Hts^i=V_u z0l-(i%inVU{0GXmUd_$DuyDZ(3uTtQr#CYkW`?~n56nuOxOsZf?u;=bUaL6z#-dE6 ze@045dU{Gq#_u!Kzs6@~rlfRBPhkfSPG+@i)2hkiXIx%fTI4%%-X7~#rc1wf_sAY; zvjz@Y{KwO_uQM}~lku-a{YcJyJ1Z$UD+||XO$A@99jubbeVFwJ2f1c0 zK4|S7*HxN$QFxS4=b)zyVSpvC6Vn?yG940$L|rJ8SQx}XT|Q)Ay$&eHY9L%(q?OmC zL_6l8lP4r41_n{rWLQ^KG$W4JuE496??}fZ6a(EI8M2;%?_QL{7cNHunfqSP?K6DZ z;PS(h${(M4|Jdq5N5*Xb>5+%N+5XUs#1aIo0Hb3IUZ2X2UR#{O4jdrF9oo^oXI$~2 z%8J_Yd2=(nKlI7N8$Wrl*S&j2bL1`gpVKb;MWj8Y%JUpQpms|Vq8lY&uy_P`QJ@#7 zSyg5+5?V`GBII5jIt@}hh#9^-%!otHsRT}L-PGIL4U&wY4>$uB;u^J#E&2!SmiYz4}lo9{S&Sf6A;r36plrv%mk1McoqfmzClD%df9G zI#zxETlH&>OvLN$_@Fxc8jpEaxF)n!HPE(pp2vBNZX(8117u16ER(SIZngS}=jo;* z3N20sozWQK2N-4f7=IU@hcP88AJWFi>KK`i0sTQ%li!Ce&{sfC3)#wtklx6nim?Qg zPcHb1z7p&N>MFq2oE;_vh04z~ekCnyv-2Mh7d^+4k1|$U&pQ7#eN#W>6=mc{v@Qe>PnA^mP2JYNfsc+If&x>h|z(omXRjJbcH;>x+&vzf+OGruy`Il-tVg zYlKG*H|4U)*kBw-zlRTs&p*V0M|wXWGfx|Hf3q>_b8b7HbCJ~wr|3E2nN#l1p)u-n zE~1>i+Zf`11v)(7pKh7V0l+z%=`a9h?%x4kaBkG@>f)C)7zmH#EtX`)r zt6d+;&rXa7t}h~g%;S93?xiyr_ugSlF_#JHIgklcJY+&U415edr-d=Vi;ptY_&*YK zMCwcC=Zo60l%$FxylbEhI8V+j_0gB*i3+FbPk=K)KviW8PKc`>V49422{t+>pb2VlGC}GEhK{ZA3y`J< zn*MZqO{=iNxN=8OVQS%a7Q+?5s?`lrffS@QNJS&DqExf!QP4Du5p>X~ov=W`D!S73 zGuY^xS!`ef+YAKZrL|(cZIm4wcn0w-{S3UrS4gzPK`;_%y+r;F@CCP5s9jv~>`d+H zfo9#a4YxMfA5ZvqJfCQ^9cbb+-MgT_<-tUMS9M-Z2Q{taAZ=uIjOk0=UomEdHfCtk zQEkjobqv91xT5TbI^rCopP~CR#;nxF>})!$jXBJjhA13WhMML` zrJ&JHLaD`+66NcI=p3@pQ}y>Kc)AedE$OQ5I~p#0jV(q2H}*^(#2O>4r-ebq7O#-R z1ds?v6!v~=v`mf?Ih1$WgV2R|)H#i7T_~kXmPXZsU;VD;Cv>|$bL3&`b6urZoD`F_ z(LvnGV{=bV{^A4Omd74=??Kqv0sIKe^I6O@5qZ-yEvD3He?KJX*ykBd^F$wA2rnw< zLgP>!l2&jlHYJKkV5W$$)7L->MrKdT!+6Mk=d_gecnQrJtxUFwQu}mc5RL+$zpe(f57PG> zz%yjMu$@r4i=ig_?65n~v|Zo*}N!ZB2G+X-$oz@>UJHHh29 z@4S16^LL&=hA1R|JkuLKE(6THf*h)CS%Ayb=p+!GZX%Oz?bLw97S=$OO27C(snWnz z`fPcOfW@N{LhOTIPnbV#862?5l_u#X-^-VLiF*BX} z)UaQNzD)8ub&TZQbV(a?$vH+}DnE-c>$NdyO;fZnQ?$Jd8A1OJd;)|!RH4?8=RgXM z`6Q$-J24|rI?3Ijb?95Lu5UGJJJ&BOn>{+K&&a)U;Vq zo==tD1~~zcbqgEHReD`^aIy#b z3MhZ+LAJn)3)v=Mecl2jgJ1c21sizg$oiYuVJ|w@XaDTulW2kN`+dzM(Ct*v$qv8~ zCvTn2=~mj>G*_dgxfQo}DpMEGIEHU!@rM;L#A#5_}kq3#hkEK^C6Ai)8 zi$kCnOH@UPw_1UIEDESYgpJ^#7blrJl3vWkm4xt63L$6}crr0K!og^wD9F6=QtA4s z_w+bBf65V6E1ouxYsDiTDe?W`AFsYtwJl$4+qU-mg2Q5M_emqF=S|pOO7ob>m0_Ak zO8VJn_uMmMpm&(GVHGex4&kmRXC=;_RDZ^UJn}8O~szssnRi920qL6I3Lb_F^1Cs z*GqPRDoG!{N_vTkORfX&*6w{Dyso(pY~o`OSwLqAyXHBD^i)FyfBrG``MMOY_awnS z{UF!FkH4p$Lv6SoF0wQBo_S4w#(FO1_ma*=&;N|WhU@YKe*J`Y{U!cP{w{qY=8Jcc zd?{~1elX59*xcm&26>-DH5B_G$uY(SiYI_8G9|M`3QbMRhz4jb(G9D+@rz{dav zK4zr*7*HLD2QoS3^rLH>3B>5dDG~yVYkUDF!PTgQxVFe66e3d1`j(x^nw3fCEK_Ev zxZSw>#zQ0FUG4?%GW$)xq3gcf#F(NW!M}LVM7$2t{FWb7ck|Zaa5oS7&Gd&pTD1$I z@0G`BGjKSK^?)-9dBTVUMXMx&lbVO9qDvK|X_B=ZTPGGswj zbt|c6tiN^671rleSkE>9*uBNYdjV{1Z401UkBcvA(26Qea6KnNK-QQYLIXgAeajA_ zpPwN3Mfin7Qh*sGiOy#ZCUVhLLmkgiv)k}=i*HY1lRTlp>8zs4^ZoJ!yx$x03i??) zRua0L^Y!Ek@d@*xdR{Ofqwkx#oQ}6soPcIOlqWPUXOo?)#u33aux2mkYqdlfrGEkM zk4LmCI=w*irOY9I9wT)U6+l6aFwtuz=i!GJgtSgc2^b$2-#dd=iv>cVX|`Zc&$GG8 zPG(FO0@J_17QesC_Syjw?&o#MDmy((Osafz1Z#TatMx9Vwzotjwbd_FJ@O+L@uAyP z)lbb`TDa-^t*!(ISxXsZ^u-+7BliURg606NMpILenTtb{l~X3PfMWH0Z=lLWQhe`p ze%Nq@tVQ_Mi-6x83hkCTaBMdED(708hVaOjd>&_!?VyNGQfzf1r(uTB=n?#ruLt+3 zKEZj>Wl7<@h|iHtfWQ&4G|k|^QG12vZ737oNXNRCI1xv&s5QpMOZ za|tB7b*5d=P@|O)e5&8t_q0z@`x5l zwSU(86$gip&KO@hAwBmV3d}&vG=0 z;oQu0)XU5chu_*j1ze(;Y`c9+x;SjpM1`?-e`O=zXm>>U@`V&uwfTel!I(ZDd4Jxn zCz#Ix<6h(ZS5{SDx&JFw{y~k4O*lf(8P3lY9+F4ZDhEy`g(bmRL(qh9Arz6%q+d1% zNYZ_9f8(wep^>`c)yhIoc))_N)`mR5l0@+Y2!oS-p|n#rhzpilfhtKz3=By~O>jcx zdAevYI&r4^=LgFg=esWJGaPq7-Kc9C>ZWPHx&=ddAQCv?>{Bq*0rn0g7ppstU~l6J zJ1CVS)N_S92pwpJQ_b26w*tE7dK>C)zvXf^O3yo&{#xu&85QscS=V2D>R%1U2Y6XI)~t@lC!ANWzrn9J{So)u_;oxF za@ec3LHxPT@#oTW@LYbqGd@YL7%o#y@hBnQ66=d@Hk78!52gwT;$jjVN+dp{Ca6Jk zJl>TK=4Qqwxo(H@7>vYryAo`~48e{+9RB;fN8QZBd*(~tB0K}I4Gz~2#Jk&)4-D@n z`?Y$aR3NO42eH_N1hQA#&HJsH_{{o&$|>0NwrG}WhfR--*z{7F21C}S0y0tWnXmI{ zEKv8Mcm*(Madj*S+5f;#X=`zHz75RBmIYftV?izON3yqZ+uh%<{}A{8YpUD*epPpW zzt1_`|NUmS``J0%Z?6jqtbt5Q!Hk>7_4zg^xwwbtv7|9->G`7ZbQQjF_e zywB&!h8tux!TZQQIzg8#hair;6WMHnk$=Mpjne%fV8go3>*w0no0se86xAW#OyxR) z$BOrU+xUg z6Tz+b0o)15m?@*NzTPVvMOi%5I`{GlA zN107ragC2lN=BKl<`bZEL_`XQz5W-MIQc~MK0W7cO&s#K)$UW-b9>9^GTScK2^~CG zK6312x9MPpx=r(EGWSUlfpDGiRoP#Ng+&4DfkmKt%$N==vosx4Ku4C4HXpND5X{}o zojW9Be7mH;sUGv`8jr(BTMK?9rX!Qgb27a|-K$0O_jVZi{#s^Wwpq+?Kt2{_@9oV} z#T46vG?nV=(-qUk)qDFNJXkqu+?3k9OS86oweF#>wz5q#7O;{NvuD;#D0zJ5y}#{d zpM!h>a|i{_$&=EO?I0{HEIBM8B`I(U*$!a6=_qc#+Gq9_ucm&e5bFM_RbrZd4QMP?44w9#M(*q7Y>oXA6&ZFZ{T_eIY&My>Ey5sh-Cd`2p|(#A>@vX0G%G$ zhKNvT88z7`Y$JVtw)qmh%8Hfat*z7KS`8-Dc>Y9g3tL<}pT){&C0dTU&PgylvM{TWY7BswzJ{v--@miux)7 zfox^+ORx!0O;L2$0?sJQ0!C*h!~6vMxl@~MLuMW7?S>{aF3KN8T%miMWDm{i#pIW4 zc}refbnovLzuM67#*k$L2QC}(Ms4lAuPvQ>Y336!>qO@*9z0^@5WJtxF8xQa_qT;r zqNgPrvWN`J3b|IHPaCSejOgP@<(xFqibjo~==Ra=<6?0~TU7jkjmcZn>2%IhD?Btj zFau#dnN)!%P={DD6}qr+{YSS#S+}J2=>M|*+8puR2J6v3v-}ITZ+1RdxN=BNPbhh; z>(ac%uijgIrRFAHe1;jfu@mQ%bAMC56o07M+W-E7;mct~)z01D0`^E~Tf_sMuwbGX?T!Gq3hoyUXz2{oXj7Em0qo!@ zn83H}ZLB)1Y2jgBNS@NP1<1^#|EuYc$Vb8OHbR?_Q z`$si}X%^`Uh@WZ~REV0W!4wx^jzjg1II{61A|D7!Og8P{ET<9LEV)?8rN+;u*3AeU z{+n?-_i)qmdU!dWI%_xAir3yq&)S=swP>YkY<4l(YcO5|jFAX(!5*jDhXg0~xEdLw znVc)AuA9^53`Ut4l@J$5U~)!jj>mD=5}<)74eBs9%h!I#8b56T*xxB@?BHH|y;W%W z`Vda}zWi9-mn=hF4_v>-uYaOl&%q~y4LV;xNA?ji$PQ_Sh!JPdW(s9ID5yQ;A(rSSp)M5e>%p$YGCNr;F z=Hydz*zOlzdGGT2=O3*6!pj2y#CONpHC@8O8&On+pFFvT#&tS zSmoIn_pM*BCM9O@)_beYFX+^xTfM9g|Rea9PcjX?#9)O1_~p`yL!Q-V%%W z84)KmmP#(ioETgJTz1JomxLY^!3@WRBik~zH*|Q^@KB*7+gn}Hi1{j*r&!U4V%}4; z-#@JMK49JShigRyQTf@~Uv;RhO z9bmEqiUemqB}(F+T)~oLPD<;|O_rYM1b|uO9e0*=iV?$6_cTr9Vb`i72o?CKRE=3o z17__Y?^wLOzsT|`il^6%pY_VB`yU;cl+b^}y+y-Mzcex_s_T@IMT`6NpEhpB%3>zo zx}l6wiU`%}#3~zRbSW>$8Pzp5DR24Id8f)Mw%@;WYdJg2R-E26ZSnA)<-IMV(%U8X zTTyZGEp^_$m^Z}`W{{2%A7jwVh*+lJBtfDgFiuU8h$qe*+wLA6=}_8ydC`}2dxJYZ z-K^}yKuEHII<DMq9@VF(`XZW6olRxKY*cH)B8A)fDcu^Utondv>XE>e3$zNz=GTg^Ng0Hha zizs@cMam%QZ^>2Z5v7f=x6ph%(@aPs*&j;5eIr4IC$z1VY{UbxT-#m8N}{PHe?fb zg|n&$L;04nM1OMXk6Rt*KuvgvCaK^q5l>yf8db^_n13QFP+?`_rSh`d+z(Un7bUO z^BEo(oS#}Sx*)A*X20Rsr}4z=!P)J5@LJQ?wws!)c~i4#VT>=s7<70N3M|9m`!tY_ zt(oSa%cAm%%&> zj1j4U%b`PuQ6B38fP<;0Yb4 z#I<gr9o#ZM^g#?WGz#zRV*N3 z;=h3f-*0|6>|jxMi3Q@_q>D>gT+SgIps2q#UE8zxvWZ{MQ?DZ^kn?(NuZqO$fk(Ui zAQE5a-_`S6B)szTJ>S>xzmYFoNWp_EN8P&DKIImfu>Ji(fBCPx-xcMpyx)Zk+(z$gC&NErR2NghGP8CCMAmOi?MX}L%wnL-&3nz7|d+k z$w}?fl2g*-A5G5c)HSW=jDFJej@GC0H%;s|c0hVoK~?YE1><`48=cm5Oa?;C=rz8| zYI%~d3sDMfEp3Q9GO?War)G0WGAG1RL5dD=?2|9RY;XpA$djxuW(^+NoqZmw^c=mS z|KJtFqD>G9(B*@NEP|X2I^gr7`~w}mj`ZDeO>@-!)ig(w2{;Ur55_>#=VJz2 z52<6Uhxi_3O_0jPD4`aoXB$fxjC&5N5FQIzDNuq`M9zIN%Jw@bp?q$25ERHaW)c!C zW{d*!5^L~F5^s;iN`YZsqy-5eB-Fw*2=@ofX=dpU4OTPDRX)DJ+OjOF^inJBv|>k~ zUo_U~Gd$BVhLcC5dK!fG0^q`QZJ|jp{kE7zMo<7>XsG0*qg{ispf zkDQY5uDcl{ti*he=~nakUgqfLXc);jZ6O$?QX~%qp&F2sgaF8D!DLE8lOXIM zD$s}E9=(Y66{VosWGbW8vDtWpA|e18hdbTqHoDjn#RO7AV$@O;Nbd0SH5mjS=Hrbc zEjSL+P7*f`Mzcg%k+><-KsDp-d*IzktIMVIIYs3Yl@~th*uC@6j!e45@@~J+^0fWd zAio|wDX{0VQPV1Sm38Ucvr9p0;}Yji`F}XTLJA#}-ny^QSA{CCOugXkr9;>FAw$oE zVEv=8`jT7>lMq#H6Ql|kJ(7CA%Fvi3WMN?du};^Yi!I?nK}=99%LMqrx~Ufe86u~! zw3Obdsg`Pzr)#Z|`$iW^tD#BiZPy<^I#K$Uy`aatE7nL`w^@(WO2f*n-+u7?o)z|@ zBX~8R1NZ5XrnlN+3P;UD$}j>U(?pWE%wB9_q8F@0qOQWo?ZMy!@Gw$GAl1VdWl0wF z2x`;m4b>P6*LQ0pQNJ)I2Chg!EuhmjGBhMO$S2x2nmb>;J)D!$9cRoengj8NmZ$D? zDBkYhIueMd39FFncZ1`hqmV7sSiIxRZKM4Cs7om@(E*r9R52ll)UmYH=|vI7&_0?F z0TO9_AZifw0;&s0i?B@EZ&D-4e>ns6B^c>=&|M?H;t0=&Q%XTFkg}{61DW4Z(9PlDDqKl zU)w8>aK3N1m&D0m^7G)5?rHV9^%S?GsMq85{5nplE25t=5S&(o4Pqd1TJZmiWOL#A z4?V*<_FB^_t_LA6%ckl*bZac$F3VUmnwm?(qqgy<5+ z2o%Gif;}kI15#_BMBFl>Lz@mR#aTQ_&2=lW=45wXLz<(6kG0;7=;XC_963t)+%EDY zI!qOe!MW$cg?J&8jaIAgnL4L+Xb;A~@=;qO6%?mkKpaDq{cl8d6{BV*73)jzWqJYL zj|v~1x8y}Cco`ReFn@!=I9V%Zqtb3?`&f+Rh|)$PKoM;STD*+_=;V2uieI`*F2lz6 zd{tN1dk{+RSP=q|3RyS1$N36%IPjA+Odahg&EuR6S}he@sL&2y)r@YbojRr@WF}@d zE4<_9v4vdM*7fh^>+E1D5~}f}ruOKbrd-ih-uk@zf;*xWyzTt-jw>&_@EBV6JXWMG zq<7CA8R^MzGCNn^afz?Jc;T`oQv-0`9R-r7SocDw5?mfn8L-L1U)=(||> zICa@AeY$67Wp++&w&=chx#+*dPsK`Y!F6Gr1bU=8_WZ3Yt#VZ-Gi^=|*5P+#uOxeO zo~j!O8wmIzc;;nYE$n5yW`sR2Nbt4R8E2q&i=Dq>Op`+VmEEuO6@s`VOZJim35>Qc z{%}0E`90T!BHK@H_kiL4^egYN^E7=n=h5J4LW!kVWoHzJDu5#3kU@bTC(*jp-g0j6 zU$M1Yt*OI>o(YwOm;HUG|5n_0=UT{~F$!oIU<(2FO z6#)iOkMX{UX%Wk~I)PgyV#-vX!tK6dOIp`12^z<=^yz`U(P?LVWA0a%W zqSt#se@ox=Zm8o(*mrz$;vd47hEL&c&<|In`|!KNeu^FU`9u2U<>vJ2(F*1Reg)=# ziIM5;)dm~SYEq#zM_Z83w9i|HRvDUZuD!Zk>uX{ic1Ol$=Rf*P2Vc8NJd3n$x>xS_1ME79_F- z>Rh@zLL?7_?Z>)*@8tfnMEi?e%~QhOZXE;ze@F7o6|Y5q_ecl*baq zL^%n#Qey{1LJ@_j!8{|V0YY{|Ms`MGLVTQRn&@EwNxM3!NqIqRu+u}zQATLfIefv~ zPwMW!?xlK4D_0c%^KU4xzNrEKzx@Z>M-OjSouxm1uRQ7WYrFeOPyWU{*LqTX#x_tY zvl^tFi7_)LIX$MT0~rNlY~}qjz5{ z0?)Q=X+Ca&2CX2%H}BS^X7h45SX#mZ*0A}U?2d3Zudy2@j$`St@9M0l`5MRRa29bn z;-WH0wTLN$NKb=aj4{6bIBo_Bql8J839aJ?B@(LqynQ8;7c-iS6+UjnI(Tqz6u}=n zYVgPr!+HQm5|3#qlji$4Rrxj!9lB$imW0pFGDFx{uq*}>sR;I zZbsP`x)ITJ;F;c_vrXOn26no z=H%tIp6fzqn0&M88`$`t9gT{!`~*{1hwnS$t$H)9v$}@H^d|SJWis(!-vJn-u3@Qg z(c&|fdHMA1lZ^dER%WVd+f(p?KJVjIBY2r4FB6u}Pg_1Ce8PruoxjWS1^9YPCX>EY zHH^^mwQ@5pA8z!aLJcioLTN(jiL2%%sF$xqytv%Agns zg08e!89D>*hG&|3Io6kC&hBYv)Q{9`>D;Z0|K85mjc+FSKf+TWdZaYI`D;0?ozL3W zn`pzB+4N5bzg6WMs&dTb8_sz3obS4>|4dZsx!w{D3~08DK~5U*HyWzK0z)OVA@lS1 ztI!3z&_jp^J@jksK|~L@(M}H@&vbuGv8Cs%S!HD^eau=iYw?14Wi!iWR8{;Ut%Q3B zz^!fe{{^kIc1D97BdF)W+uP(Om7-JDp~T?%lRFci6VH2g$xw}z$pTZHG&@)zMrWEy|py@ zF$hLKgOOOc9*?btyUW|hyWE|I0{talU$0WTjyky2r)fmQ3uw3e;1IWG6`6?f z=c1mA?p?TG{=B(!W>1I0MQ4V6|AIltu=n}_1a*D==Kd8t&JUvN!A6P+R6{j25f4Fu5Ov>FMcq4)kL?A$ z@3@dKDmE~lLTqg3T4GYuuBjoYcM=DYe+k`)d|6>aENMsR#D`8z!AJ!W^Me9KX^6ej z201lIJA#ef9-klxu{gJJC-e|!=_?OS#I1Il;R`0+zV1{==CYxvRdzs{X-?4ObW&`fh-Opy$c~bRKy>BVq#C$-1Kh1n zfaA<)5*#5!By)X^7sP80uX|}cufDf7xkIcL`Q!D~e&eA`5xi<`GY+vPAAH4SKGeM+ znQwqP55(O1?BjY?o`Cp!q;W}EG0`Z-E#@PO!4vJ}ZfMWT?b{m)T92go@DLy#A*oa< z&ok=Oev-Blr;1_%YI!oM!Qj0I3o}OvaEnBRa^(@V3SI2e>*9gT4_Ml9TDLvQx0e&7 z>-L572uy{V)mj{@E$|o%JV-0MOQ9fSkz$a2|H1W*{z9I`BEe0X(KZUMQZYXr_;6p= za*t*0-!G>xsTDo46U?DO(A0T6%CA6(W9bPgzW=z@{%%o{{Q*lksuBi}@_d5yAyLM^ zfsok4%>CcmXbT+4n>)( ze7$@mBV3h6LxtYkWqTAA4FGW#O)M%IH)cTLfP(xX9(X113b!@5hd18^p}FC;wd2@# z=&dVvi*HVX4tx_4{`_GJ>f67w0-PirD`5SIlmS&PR6l9oN;qqae8c6Ah|Me#CZHPY z#KGW-ZJ1=xq4gWGrA$M*b(LhJ0CPPIPikx|PEv!3O3I;o2XeghNVL+GdwGjSquq@j z7B*r0*wJA{VMQZ`^~~a`PQ_yW1j&VV*~nH@o#uLVvD$ zM%}of%m)WRC5o!a^>f$~N8CE+03Wi{;|}x_xrGolQS+-+a7~DvYue#zZ5-9>VRk)Id5emYx}RwOMD9pr_6lCG0XOYM;Cli&jhDIyH5*?2Xs1W$iAmw4PJ z*{mGw|Dox@FjnsjJklrXE5J*BOp%akaLT}PLSU|x= z5CjwjL0!SMt!-_qTXa`f*ShYyyY4EPJMZ^7cP5z>4F3NA-}`xAB$%0d&bjA2=Q&S* zo}>H5CecWdKWy(@Cb4U6(>3PTxzKjcu13Ya_@EK-Z2hnX@I!=@aeEW^;eHN>Lc}eO zGFJ^l^%-x3HxG}F!u>5hwz}Cd9;NG6S5}l3yA`^PNKP;Y|MXV>Y&yp4c@l4MDYU7d zxO7?iamk&Mt&BgiArIO(C!Ly32-;EQXRwT@<4kwBlZV1)M?93nun1}KW6h)T07Fm2 zq?m_9NrJoJNE_BEx*yb6M4*o1|8*_><@gj*J z0OX%K0m)JEXFze_gUt0FN5Z3kr{3#;ixUuwH_tq~J3hKQk{)F7PWN>6=rDnHo>9bP z*iUGEeN`2aqWbCe(AY~m@V98Zp}l*4^QT#8xkohPN14P!Aa3U ziv?qF#qM~!dr7WtjBdAqt;|kAojvt%pV~L5scFm@+91txF{W`$!-TrgqpB+0O5I9} z3Wu2;PJ&N2rBhQQe-1}RfgKXTyBvnw?$ixCJs$nvm+q9-g!_bj#EPzVIVS&!qAddH z>SeEf=D}&d-|0Hbf3D-?wBMl1>FkCy+BfW#O!AVOf$vp_P%lgs7MT~+Lf468inAAD z3&)xBJY@)>W#0B;W00Z{FW@Y=h|Vs&uAD1fQ={1<;fS^GoZ#wekM#--6@;l%ni@ju zLnjoC7@DS;Bm4P#Xmwq>#{~5*Qic7Ws!+}k**L;~4?lYx^#YT4y};^1DF05Uz#|rQ zm8}+P`hT~aK$5M%Bce|B$|Eda=sdXIKcRukSUWZ8q6@L(Qr2zNF5?5t>1Zd*fcyb_ zv&&!k{v<(z8e^`3{GoGVWv&d?8lB#0x+YmQJBDe|HP#~Tf#vBD$;otNlCzVuQcZ42 zZi&%IJPHr>^Rcmv?!h?<5+r#_tzB!d)djU>9clR$Ciq$H1w);~>_XSUTLSCo4ULtL`L||9lk_0q(XEiQVfAy6^hIwI|3B z``~!+Y-SCX>sa%#17^EET+u_9chF_JI-a#8-R=05dl`BQ-qK-;l`F z^^l(F$o7+W8&$Da8}KTprvu5Z*AZ0@O8^fF*Ez7T z&MR`v~ zPr;!Imn9+=|WT?f@oc5m54Ch0njBAsJpoS)0seyEA0s3@0JzReaW4t zr6)z{W$}*j`;;S;FYN4=C1e1}83G`n$N|dUxjDP);kHnw_6~v|a}=7Qkp?dtHuv7P z&K#PNLD@nX`5D7=vwO)I>MmaQh2V}kLyoW$kJ`ww<=Sl#U#Hk8wHghz2w&zL;bPB zvZT>b$|p8 zFlg>S*4g>NbGJPfa(CS5fKMN%g2M`Wr_%(EGc~Y|OgB$~4+-T9orS9M=qMSUx-!Hg z;~*fOPH=W=>pTz$FC%A?li=p!{^0dKSvaAdP<}*l~-}nF8`&dEf(Ny^7c2; zO~LqU;$gnL=A%<)r-MlYW=KU!j{1UDxrsbWU8+9GZa#&h3tHAr(CR*g2MqSVn3~b< zjdD*7cSSFYN(dT|)I{~4x`X@Ho(G(r-GZ*XLEa_DQc!{3;bCcE{lW`)HK=L(R+iKb z5ihl0@no^617#cBxhbMFQaG&bx?YMUf7EGJw@4sNxf|W}bPivhvfA-AY_R{zNoxKzt z0&9aEe*fRv<3Hlm#e*2ZN~!(wzp&}I77`ij>fq(_?fu9}u;Bq>_BbAJnb=Jo+C^4{ zia3;HRY{m&-5~!>`4ysWgM}z~;0FZwp(ubcG_b!LZfJCMM(qo!%%8Cm(EDP0eOk0Y zd0f=WCxxE;c}O=1GWT;l;JEo!dnO6hbx%Y_MuUk2#=zs`=PSxMs`^M?yq&Db0qMw7 zU|R9gut?@_qM&8zY`A?Jnwe2NV_;lly=Jsuyq=2#=Ki>cR*7nbz%KX^WawO#fFY>LWV9{dpNFHbGipkR!U+D^ z9m3^m)GiVQ#2%pibUZgH)%ZM;e;#N3RQBQRi}+_m(MWId&&B+63EBtox!_Ick6toU zW}$y6U@8mM)}y*3%2T{HZ~`KtHEr~gy8rg5ni1&h23D`lEY9N zj~oAe_*SNc`Jm`0GALwt5PW1)XX!j{EA3WtSUjZediPz{`r(Ic{(JAKyZ-nDi@$I| zed~$K>TfPwUF>VBTHbzJJ^bFg z>XElspJlO6U1M=)&Z_TRdrE!h?2F4@U%mFt<*Q#`x#o@K%j*x1uRYv2@!0sfgZ0GM z9bp+E%y|+C9|%~YJb3~sDg<``iqx9vq@hVodOIME-JjzLfsYz6B(Q1V^C!?DB;4o# zGBSnq1u_YT!Q^f16E?9Ai_a~(yKhKHZ{|)bZ9jrJ)4EUUHYgW34w;3$Pnd^_PN7y%K!ok z0_U@m6XRl|A{~H3?)^T2U&q8RNs48%u21ONk}Y-iYiYn+BCLwZRNP#=3h$k zva#J^J52b}?3#war1V5YK2Wf`GXR`I2UM?H0H^}ah;eZxrVl zq(Vtet~NMpo0F>bmD_$^XLHt__QUIFv*@jCGG-vL8lub*-Ntp&=r)(E1M5e--k5Zp{RDK4LfP~iPrmcC(bGPR-bLu!#Qf>N%=zG<@ zV(6>=+(#@d9DAU??|u8_>g~maaTSS)rO~V;`IpMF5mr&s=Pj(R*+L~iIc@Dc7tul- zPDZRzMAcB+$v}}nMZ!IGZD`DCt(%i5yP}8&uA%OJDiVIGZLcRHEG9;Sa!g!ITyS(S z`JF&FekPPrgepKX`9=B}bC`kk2~u^Q3w!x~wtxRlQGKy*5VAd!#3~QV@0PP?o>|J; zR6^cv^dwg}dpQvy+IFC&;WAYM5C(8CJNQw(M7U8>_ovvix zaYu9^oTZ*@GDabsHHXp0yDt>pzo-i-zR)mUIofd9hNdK z1t|OOFcbS$-QEAtguBb{2xFgEw!L^5FgB?YZbY_V+126=qcvnDIiM3)QP)&>=W-MR zV+iU*W8$gqwIVODV=Bd5IVt*?Zp_IQ`BP3h7#;}Pb}Ft>mjvpC&||(=T$t#i8*;h( z?9m&tV|&ulv<*rdkyenK9h@4R5+6Inkq_JvP2m@u8%z?fAx}I2bi{!-AP>jX=N?Tu zFe#*>XE*1vb>-EY zE0)GpB_>uTq}4>A;8c$@5+SU*9EMAS>}LcOd62JbBP_5LQJ4Tu4OOM3O+w*OO>{%0 ziQe0x1)TtD$RMEL6E1(~r%4`^#_B*s$cNh()*Ik|^t%Is{Ggg6wyF#6?HfkYJ#f5pQ!KO^+8IdLlK_LHkc2a6DY61|PJ`M}7d=`tvL z=wsu6_JDvs5p>F-Q3;g^sYT`MDvQ?F6r}>OMjdX>sjA9}8Wvuan_6o!)ux*8@7R>S zcjAS@<>i?Td2T*avq#R#7&@ykd%BlfUPEU2@?HR}XHdwc2Oj@aFA|yh=+HZrK`b5} zg7m`l5qUYODKT(oIqd44Xf6g_$EB*8jH!o|X*8fLU6)%^`rN~$xTNBBm7@+eG!V6^ zc3F1j8yC=*F-b{dlJAJhh<^Rb)|c08s;JmhW1csCndg(Nt}?wQGNCdqt}-F1I=-7e zgX$e-MA_Rl7$>bvTQ4e#jZb!0>w2RT-7&YDTGvBYS$ck4^||#+&rhg5zp`>pTE^V6 zsyV3{bIN;YD{RE_H`c6tef9D;*RFnj+4A~>b>ojsY&={${xI}3+@ac`^ZE-J=2W;> z;J2i5Ec{BG>10r3QZ4=m>W6B=pnkOLUjAPGKHi=8-gMJZ4cPD==e-HSNOM7)K}7XvTt)yVi7d8ZT9P72Jk|^8N6?=bg8@dTW0OIe zb*x4Z65_*+!Gi|``grl_^`;N9V4WUZtpm$U9cm8pmKDE{9vH_)sQ*|L@~3h2IM2eLsHhVX{FYoWy8lw)anSPt}hZaL7~wjjwXF+Prt9hG?GYb76Y zcm89;t4Q1-0mc*V$@~KNVFNSAbq&Ven0V8Hv4smqxCXvz`H;9jLt~RS;OHK8{JiR1ZM=VqJHkPpH(!|7yxWeM?J!IHG+-NfIi2=SMT?AEn!2{w{ zDBK$qR|ztQ{4tonAhqHiHmXp~H&tOZL1rUwg#0aF!0lSqnSD_(aA08negOs_@7wRb zAt2RgfG8jC2iZnadTjQq`}ec^)pQs3#?E7&qWW@=6^rg{xftPLxiE=6BcAk8+u)sY z;Jxv}!OH`2!7VM2ynV^g4^f|y$heH!=+m*k$U_scOdhL09hDFmbAk@<fT7(^)tlyTLyZ`g4w*z6%=*HMsRzcE-#y__ ze>PwBHVu0hXaU)K*i@j!)r~!X#FBs(qc;>^U8e3#W$~3sz=&bR+n06KX^ilFZMlrg zV>z@)x`sa=j&8yRxPdq_;3{O;NMLFM`H>-qp@1gIVKRX!R%^|r>OPwTK4D=*y~0dk z$+6L1Mz7GIKpT91;^-Jd^#-G4b8U1d%iWD3jR!_mtSioo|MJXR`6h_FNu!hFMyKOn z{Ot*&e2BN@>&gbPvFgn!3(Pj*Hlijip)!#Rw~lz_PccH?I3gg25>#hNCgi|L5@9_f z*wj*CCkBTOKGoQ%H2KRpaiH*q?!-Z2pa~&8RoNW2)3S@*RM+>Magv(b$J(F@>QN+Xq4oqbc$VK+U)~?Pv$h%8HMt>1LH=73U9&&x{|M zYVwNniXA+VPrNr#!cNs3h&b*c)v^mrB7!(bOytf7(H13YNA4cSz4&lB#Ar6i@G$pSpd{`93z}%FvkN{1Z9M}^Y!)y|t*YxbdSwk~sjm)0v;~?>cqy>*i zCW$YiFiw;BVhhQd+(oYsM>6ei>L<&xL}x(M1V2Opz&Zj0G;K2qBy!4# zU8Wlo&{k)|g`aK=wIu@bW<+WP^uh43(BQy+9KgMaBZf3b21&YJa=K*d6PQa}stb~V z_6-L|Rjw<}PX6Xh;^<^e62md*3BT_>mrb8%)+Dd;^<}~8FWBk$>Lg9@imXWo1YoDf zy=d|xxj(3E624$U6#jVvcggDnI6*}CKpDSQP+$#kl2D~^gGkr7YgS(7^joL)J?Equ zl^Yt{Mc#iqHsED`7b|Yl3&suWRDTY`AWp9hFF~{}oTZ%scivIp7rgMegZkTP8YP(_ zjmn6mims#TlQSBJ4sFVObj-O`3m-XSu>T*Z@CprQf^1*oDVur{1Fn9qqfVuB?2FvvV~ zv84{QP{(w1vt@`7Z14_^FdFE3ZQMKqo1kd73C6(4L1f;K>20b!yYRtwc3N!QSz5De z%$R$oZ)16icZ`lQ=?|5^3NE$WGe*YBOPC987#m{IGCN3&hZ_6BvKm&=>at$JfA z-iCQ3sxQj-$sU4>;4a_}HaA2$6Cg!~f>eUM2?ClZ3Mh@w{Z+26uI{exs6^%CMK=K{ zA(5!#j+=hGjks4%a<(M7h`)aF>#rZS{6$(W9co{_OMQji6d$vYT!hVORgcT*fKRXh z*_&WPM8*ai`)yhpY;dbqPuK(tgG0Q1dWTJ9cqEygqz=;)`|R}tKBs(IHVmuXHLC7` zS?agd<>E`07ZN`@@Q20A{;)$mUVUZngoUQ+yT^`e%V#V{Ox>>TopNR6inmu0T&BVg z6{zG3bc=D_Wv)I!7NB~pfrMs=RzZn+PQ`$K$>FJ*BmwGt}o%mzO{ zLGTOnGa@71S1^S3qg(83mrbTK6HDuux&wyNp=DP-SRPhZ$cEii509R-@Wmy|-`_H7 zb4A7GQT3Y&@o&(QS6Ak**gBhiZTWNR!k3n>e09muvQ0HGgiYKwtY(u9_F?MN(i4Ea zP6#uHz=ut{44G#W<}0vTe55dKTvrIGOG1SvW;1d8&5|bVwH$t2YTZ8Z)*u|ODS%57 z{Ck51@~+K!A^-{ZIC>grf}uY_%tuBCiWPDvCz2Ks+riyEbgF~Q13Q}F0VIEgP3>qa z0!)GAPV4GS!@CB>a{{OFf%L8nyu*m#$VdRU?%Ei8`ok3^tICItH_g4)y5Q>U)CuVo ztBY6uaYw=YJoEhgg89Sp<`s_HKel$?xY~WS_!~6ysk`b9w)p#uzAJC~@o{7Co1V9% z*4uabq45i^&6I{`HfLo{$;98R=1faT(W>&wbtNV1D$7^FaVZLA>XR~){W$()nKQUW z1zW)cy1N_50qzg_gi}L4U-Aq?E9(tIY!`UznUQs>+BPPcY+JE-9vD(OQhoL&YpH3p zV@P?q9YbWlC9kc_U%qv=>MIUPS@`1em9KS05zyy@)=!Y7%zeCY)G`(Z;ov3sWnBcL zIT)g^gvml?!42~u)&grp6YQriu5%zCwRZ6WE&vTTN#$%sdp%pCzQsxo-gn=9vishn z_u&xW9Y12s^S~VmzTpe_ioR397k&l*t^^zHb=!9bVF=Shdyrs9*=qalQ?$FN`H5Fk zzwdyDkMMp)!cl622@S&d&*M8C-Roh)aePl41#Wkqz0wuErGHrBq=zhvuFFsFYrN$} z#I*k3u1L_tWz+>3GoOqn~f27yvS=Jo!BQXj6&*Aw9+xtg!ynj08cNsE`q@1@u$NM{< z*IVPoU-0oCwU6Ir{tXy^EAJ1C)W+}9e+$Xu=@De2?gc}32_sK2hO-O zXWr!*a~_*D_purC%iGFJ)>c=nFE3kDj;S&1>3^}OU-TiH88q4K&50Ag^Eu)E|$qI(ExdjhK4^X|{#x6~J*i;CLBu93-?}MlvV&&rpTqP7wBx z;(7;Rk7m7saF8&N(10T@Q*<5K1Px%cF@78NbF!LQ!>Iq1U|sA?1;Y`V<7AP{C;uqs>~4ykB9 z*3G58u7aKx0uxBsh0CLQYhe!V{t)+U;-V0nxG0O&2plj31PDSvL_j$7WYkqM_U{l1 z)ACqax=A7(xOcxDi{4lqn`N#EJNc?_a)0xJ5ha^yV@5_tkBp8R85uJ&s$apPk?GB~ z4J*>r-?@7XYb_YLs9;V6fKU(_KO$sEKD0=hU<2@HD?jT4&4D(a2?h_Qg`7va4y!B2 zWFM=m#Ax;OVR6~~5=$M8AqitZWJ_I2et{`vL_tda#F*mPnBtiF{J@-<`6V;G zJja>xCMG3M%r(_{c+D)ypP9q{m=zP9l@%S6rS2&n8lG(o%?Zye!kKIaOwR!x22|z5 znKa-Kl1|031VmrPdSz&*9K621zDD2BApsGvX9vaz-MuNeT)Vq3h3!Z&w_>-)j@?)s zoqhGe*QAjV(Ica<@%YP>;q&uHE-t|4XEcmg|Hh(EdCHr;3L=cxsxsn^h@m@fr<6{lU}4L$>!H>UjTj%()1SAnz$tFoi+-MopX8C*= zmrC-@Tq@Z&N0Un4!`gPsO0+AyVI(*iXq()yO^#di({j{j*rBbW`ikV${&yB+lc`E$>@w9C7d=h$ z%E~s4RQws9E8vXC}Q)i~Df21$*bIKduQuP}bbt)*6aZ7lamt@lMNbk3LVEn7Z+uUKH+yc%0_%v1l%b}LsL}%yH*Y>0vVmig6D0# zD$TTvyr@(ixmB$7Qyzle?=Be4!5|i>rN)#N`%Omt?k7mJ_yddNz!(Enh{g{>o@k_t zto0n5Cp{wGdI7cr%Lig4ej+TxEpz#tD6V~-vRsG}4wwxnh%G>*yTmT z((1)ICE3$!8!-v2L5umH%k|dzr58d0hyX||HUM`3e3DH zKY8RwZnR>s=?O{>`sy{`1sG2mP@@x@4H`C^7}<4=zSr6N5_|8u<(ZR8)vW`P+|uhf za0_W35VElGLujy>Vlf85Y!quxio>s~(ULmkI$e`0&k%1N(Dn*zS%UevAtS|T4hDCD zYyju9tr99u86PhsBE&nC^lVs0O<0)3h0Q@?7Q=7Ars_p6EoH4|r015tviQM~D@$Gy zUoKfTQXY7t^~Vb$YrV0kVr7vSUc9D)=!>0xh@g%1x#PSmuk+7WVY{O9E-G)>Kl5`e zDsOW5ciJc&cUWysGNv?EKb(qK)Ike;>9y2>Nm|{P6tAheibrSzz=twUkz@DaIT4S^Ag! zhB6NtUbK*GPQbm1(2fS8VxKIb(5WbGL|61qB2ILLyzGLFFO`(IV3YL0NN(Pq9f4JfhyS|E@J# zmMq%J_sxDzLk)i_Oc6jmyOtcHSll{m8fmFxJvYIMD*D^!5_n z`^7+&HokWD*xF0#5j?^=_EW$j~QHD*&})%@@gp7%*=(o*<6b4PV>uqTHXro*NgJt4>k>YN-~_)7tu3zmn$T zEC&m*LK>t$Naz4l8~7mpQv8tEgyqdIw{ttCRjCLG35gAfi3l?KMCsjwVg%Sb$nQlo z-mla82fwTb8_0~Qj_YTm8pnjDW)Io0a>=IiQ*Lfu`P{7G_2nZAPesv8hnbVbu*2np z5^@T|8|N=-nfJ)#@ej_dTs=N_=uC5ZmO2DTLx9S~yfF71^?-B$c;JeBhQpfF91bA` zRi$YG;N>DMKyzSmz{!)bj72hu*q)$6chGnq8sAAf3<|2`gS$dwf(P-a7TOhkw_Wi; z-fucNfNY1}P7~;sa+ZVi9+8d*ev<1N$AqxdoFVHw;gnxrUO4ik+|LdJ%Zq>%g9#*} zE2uJN0aV&KVXN6faWuzzf$h_DNw!bZb+OZTv(2DgUqMb7WY#QZbsS#cVUQW|tEb=* zA<-J_MAh!Q_JSLIOnTaw#Kf^_Y;$5wqV_kbIuY;|R!MsCU1bF@IKpi7_VV;_ccU9} z;XlXS7Y-+9Hmm68O(z_#a(y~37tlur7}H^zj!b7ub@OyL(_el${iZTk_dI^dkoSH5 z*^-7ib0;nN%V$d`&7L<269m<;;V-BGyqbv63HB117=qV8wuexUquPdsnwxh%clk<9 zI6gS4VPObG;&-f}%y@ubmL4;)yX-jT`WYo}@K%n}29Dv8-f8KM3ASRvbF*?Lju=^( zU9X=!c`Fclc1BM0%Eg8uX~1PVdCFX1aMhZIbi!c90>ylv71My%mJ7+lD&iU!Ia@yU zjj&uLq^6Cfse%GJ$5rN3 zNuQSm4-OSg-KV=`w`fK(*?A^@IGug!TY{XjjfI5kO)~eUmt7q95{Jf9w z%xl

pRv&DOlNyT``!wfCr2etJy+@M#f2=5~p6Xv_7ru{oy{s6KAv^)6pJZz@yE8 z6k2=5$V}3hr!B45-qcOD(fzNar5$t{^qJFXqR&>)=jPkdOs=U&L^C71(o9IJeb7v$ zxr1g-RX+pGgmnXS$NI5!K$&W%J0#NFmXz?9bGm~hf6$#oG!E@fq(oTyr&^xuz2Z}Dftu2h;{~n`*HqZdGTPy;P|}a$O-cb zOuO@n>W;V6tgX+-L4OqsW!dLX2*;*>qLob(_#?tc*vUV) zn_WDC^&UiaAPo~<3_=sg3*bkzxj=8=10tIcbi%7X*brhsM=QVu6pKecb+j>u^n8r) zGzvc814%L|pza|yt{fiCtSwe2{ zkoviu5W5Xu{{Q{{1KwAKAo+%TjniOMXZCU@nQtTF0AVh2gTU|MiU3eSYVr1TLH;z1 zMf{gea}oJFG=hvFI%u+;BzyblK$1a;ks`^4A9 zPjZfCe~zD*#19jGBYu{}SmNi2@)K}37AWd->(n3CsgKI6od2_q>DRFWi;3ygA4tAk zs+!ox;%^b*C<|WggEcvzeXu46;CZ5&#g2*};kjbH)o!#sH+IMg+tq{O4&^zB14P$B zr{OkZ^H@cHUt-?4i{1wXeO(~y`3JH9(S=0@Alt!j+dT1+jGm+(gbJa9Z8B00N{&aSk|c-t z*K|J*aUk>6A>I%FL%kJ0_SLDfv5ie*%1+*0KYHNkvWl7kqbI6I%g*k(wzSQ6OTV=X zukAfkCT`cqPoMqfoFlO@C#Jo)U}n4?;gU=!$9mTA^-MCm1orpBtp%Oyapmj5rgSc+ zc53?{_3<+oyg2PdOze?4Z_b{MNsDD?_Fh}Kw%-=twx!qhoGn9K zC%y5idQ#l1JPZ2^e3tZ$X8IR7e}+zj6XGSi2Ws|2Sjw)l*VR9>!D_Pd?5-cBU3`pi z^(6ae#~5~t33v*rWAh+y*v8;CAlQM}KhVVqG+jLx_1$=XvY$7JgLl7T8Ab^r)QL-g#84U%JMRPRdhzfl+i) z=DacYNNn^2(_XNh6nbGf=CX#*1vu7uR`^_SNEUNcM-i%@gX-H)*-?EFq52Ec9*B-T zGWU%+8mgb&`xK$N-K*shz52t$w!Ywp-RB{w?b1o>4!kXxdysBpry`%EAJ!zDY_DIqhhQK!0tVmS z76v%VoiO-Tqiu`CMy#3o{N$Q(iaOT(?Jnv{@Ddw!zrN$Xx?lfrM%4NOKMnxa0|;I^ z4@US(a)aGA=irAD4?_M8)%8OIN!O2}HX$p`mcD{dx(0LB6J>#<1Op!YJ#3}}Er!0y z=x6J?V`tg!wa3m%U$N=x5%_(zcS&E02bF5bApM~l+)pxyctyUyLk6jrzGh36QFsTJ zK{T5`jn7SleB`Ax=+}HehB>2!D zL=4epSoRvBjJXOXbE1nLk-@}xNgRZ&Qd=ub)e=5e>U2ntbJe*zgF6d~j}Dlb?#xWi zES&$_%6!$Yp2a_3qcMJchWV*qZDDiREcJl8m)U>8dl}6~%;4{ZZ3eI;vk8AAJ=LtE z#IJ!tG`@Z+^L?|*hYmD%F`thCTtY+{`co)N7t-Ow;TIl>2{M-OjBSRS zZIi*v0GoBvQE?pXpP@P@v~ zc;00FjCl#$@ciExKiD>YaL4nJ*10T1n1kov_WFFd^fuckS0TpxpTah+w{;u!1`Jx* zVaN;FcqR)QY|l2>o~1HmEb20}d0AK5p04b8Z<9EQdBKb;VqQFA2T`g#Vh7`n6unr8 zgrG*u>4vT64c-$0{n)VCz)wlA+1DG0`oYCZyFio=R3IH-uDoY$D`V5tqrlfX>p$2s z`Dr}&6r#{#K*iV69%o?E%~=9F`rmaN<`Bs(>9Ov85bFm6a^Thh%lhvwC-uAKSc z_{opVYgshEF}yG*VNm(urYsfKBC;>U=4tp|W&K1vE!M*R`Zw#_?SIgAxBU+tcwyI3 zM34=_F}sY990PoT{kN9L!{jrtY!;gHeQ|N3=#0oA%1VOj31ey-3_|de0nYe@oCJ8a zDfW(>+e9K1R*7MZLTIQjN|2JJJ`7=rkl+!Zprv7?r<(krnHU`$W#Y|;A}>U|x##5C zHx@5`W9`Y^Zw|Q_`OwVqCz_j2jNdSO+O8XcC+_t=`1zJCpC9x-a3t{AZA~o`ADQ3! z$V9vg=u~ZuQTFK~geZ7vhYBamKB=)oBqx`Yq$tT*z?~pGI>sIQpCLH82*5xr!r4V| zUJXAX?lf&BBw46ae=_Y7z1Rh+;6kvdVLoW$F0S2f9(&ukPULJhz zU)#N_y~~Cfs{J;jW8$*KnlN+kc%SjYULIXuc zPD~L(;|zRF`6~33HNnBds>8yxG~B@hW5{`AAQOKYEbjqyO8ilykSD5vHt6BH)Wd

s;Um8h3ZTzwdy#SITOG@NXj%>QM>@(x$k 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 literal 0 HcmV?d00001 diff --git a/web/static/styling/basic-styling.templ b/web/static/styling/basic-styling.templ new file mode 100644 index 0000000..f3d0e30 --- /dev/null +++ b/web/static/styling/basic-styling.templ @@ -0,0 +1,103 @@ +package styling + +/* +In this file I write main CSS for all webpages. +Also I store there some variables that I use a lot. +Currently all elements are not sorted. +Be aware that class names in final html page will be random. +*/ + + +var mainColor = "#ffb37f" +var bgColor = "#272727" +var bgVariation = "#1f1f1f" // Color simmilar to bg +var contrastColor = "#92ffd1" // Contrast to mainColor +var textColor = "#FFFFFF"; + +css BlogFormInput() { + width: 70%; + height: 150px; + padding: 12px 20px; + box-sizing: border-box; + border: 2px solid { bgVariation }; + border-radius: 4px; + background-color: #f8f8f8; + font-size: 13px; + resize: none; +} + +css FileHeader() { + color: { mainColor }; + text-align: center; +} + +css Header() { + color: { mainColor }; + text-align: left; +} + +css HighlightText() { + color: { contrastColor }; + font-weight: bold; +} + +css Textcontainer() { + block-size: fit-content; + padding: 5px; + text-wrap: wrap; + margin: 10px; + color: { textColor }; +} + +css BlogContainer() { + border: 2px dashed gray; + margin: 20px; +} + +css HelloContainer() { + height: fit-content; + padding: 50px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + color: { textColor }; + background: { bgVariation }; +} + +css BlockContainer() { + height: fit-content; + display: flex; + flex-direction: column; + justify-content: center; + background: { bgVariation }; +} + +css PostScriptum() { + text-align: center; + font-size: 12px; + color: { contrastColor }; +} + +css DefaultTable() { + border-collapse: collapse; + border: 1px solid; + color: { textColor }; +} + +css CenterPageContainer() { + padding: 15px; + position: absolute; + top: 50%; + left: 50%; + -ms-transform: translateX(-50%) translateY(-50%); + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); +} + +css CenterContainer() { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} diff --git a/web/static/styling/basic-styling_templ.go b/web/static/styling/basic-styling_templ.go new file mode 100644 index 0000000..46c8fa4 --- /dev/null +++ b/web/static/styling/basic-styling_templ.go @@ -0,0 +1,184 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.3.819 +package styling + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +/* +In this file I write main CSS for all webpages. +Also I store there some variables that I use a lot. +Currently all elements are not sorted. +Be aware that class names in final html page will be random. +*/ + +var mainColor = "#ffb37f" +var bgColor = "#272727" +var bgVariation = "#1f1f1f" // Color simmilar to bg +var contrastColor = "#92ffd1" // Contrast to mainColor +var textColor = "#FFFFFF" + +func BlogFormInput() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(`width:70%;`) + templ_7745c5c3_CSSBuilder.WriteString(`height:150px;`) + templ_7745c5c3_CSSBuilder.WriteString(`padding:12px 20px;`) + templ_7745c5c3_CSSBuilder.WriteString(`box-sizing:border-box;`) + templ_7745c5c3_CSSBuilder.WriteString(`border:2px solid { bgVariation };`) + templ_7745c5c3_CSSBuilder.WriteString(`border-radius:4px;`) + templ_7745c5c3_CSSBuilder.WriteString(`background-color:#f8f8f8;`) + templ_7745c5c3_CSSBuilder.WriteString(`font-size:13px;`) + templ_7745c5c3_CSSBuilder.WriteString(`resize:none;`) + templ_7745c5c3_CSSID := templ.CSSID(`BlogFormInput`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +func FileHeader() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(string(templ.SanitizeCSS(`color`, mainColor))) + templ_7745c5c3_CSSBuilder.WriteString(`text-align:center;`) + templ_7745c5c3_CSSID := templ.CSSID(`FileHeader`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +func Header() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(string(templ.SanitizeCSS(`color`, mainColor))) + templ_7745c5c3_CSSBuilder.WriteString(`text-align:left;`) + templ_7745c5c3_CSSID := templ.CSSID(`Header`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +func HighlightText() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(string(templ.SanitizeCSS(`color`, contrastColor))) + templ_7745c5c3_CSSBuilder.WriteString(`font-weight:bold;`) + templ_7745c5c3_CSSID := templ.CSSID(`HighlightText`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +func Textcontainer() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(`block-size:fit-content;`) + templ_7745c5c3_CSSBuilder.WriteString(`padding:5px;`) + templ_7745c5c3_CSSBuilder.WriteString(`text-wrap:wrap;`) + templ_7745c5c3_CSSBuilder.WriteString(`margin:10px;`) + templ_7745c5c3_CSSBuilder.WriteString(string(templ.SanitizeCSS(`color`, textColor))) + templ_7745c5c3_CSSID := templ.CSSID(`Textcontainer`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +func BlogContainer() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(`border:2px dashed gray;`) + templ_7745c5c3_CSSBuilder.WriteString(`margin:20px;`) + templ_7745c5c3_CSSID := templ.CSSID(`BlogContainer`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +func HelloContainer() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(`height:fit-content;`) + templ_7745c5c3_CSSBuilder.WriteString(`padding:50px;`) + templ_7745c5c3_CSSBuilder.WriteString(`display:flex;`) + templ_7745c5c3_CSSBuilder.WriteString(`flex-direction:column;`) + templ_7745c5c3_CSSBuilder.WriteString(`justify-content:center;`) + templ_7745c5c3_CSSBuilder.WriteString(`align-items:center;`) + templ_7745c5c3_CSSBuilder.WriteString(string(templ.SanitizeCSS(`color`, textColor))) + templ_7745c5c3_CSSBuilder.WriteString(string(templ.SanitizeCSS(`background`, bgVariation))) + templ_7745c5c3_CSSID := templ.CSSID(`HelloContainer`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +func BlockContainer() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(`height:fit-content;`) + templ_7745c5c3_CSSBuilder.WriteString(`display:flex;`) + templ_7745c5c3_CSSBuilder.WriteString(`flex-direction:column;`) + templ_7745c5c3_CSSBuilder.WriteString(`justify-content:center;`) + templ_7745c5c3_CSSBuilder.WriteString(string(templ.SanitizeCSS(`background`, bgVariation))) + templ_7745c5c3_CSSID := templ.CSSID(`BlockContainer`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +func PostScriptum() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(`text-align:center;`) + templ_7745c5c3_CSSBuilder.WriteString(`font-size:12px;`) + templ_7745c5c3_CSSBuilder.WriteString(string(templ.SanitizeCSS(`color`, contrastColor))) + templ_7745c5c3_CSSID := templ.CSSID(`PostScriptum`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +func DefaultTable() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(`border-collapse:collapse;`) + templ_7745c5c3_CSSBuilder.WriteString(`border:1px solid;`) + templ_7745c5c3_CSSBuilder.WriteString(string(templ.SanitizeCSS(`color`, textColor))) + templ_7745c5c3_CSSID := templ.CSSID(`DefaultTable`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +func CenterPageContainer() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(`padding:15px;`) + templ_7745c5c3_CSSBuilder.WriteString(`position:absolute;`) + templ_7745c5c3_CSSBuilder.WriteString(`top:50%;`) + templ_7745c5c3_CSSBuilder.WriteString(`left:50%;`) + templ_7745c5c3_CSSBuilder.WriteString(`-ms-transform:translateX(-50%) translateY(-50%);`) + templ_7745c5c3_CSSBuilder.WriteString(`-webkit-transform:translate(-50%,-50%);`) + templ_7745c5c3_CSSBuilder.WriteString(`transform:translate(-50%,-50%);`) + templ_7745c5c3_CSSID := templ.CSSID(`CenterPageContainer`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +func CenterContainer() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(`display:flex;`) + templ_7745c5c3_CSSBuilder.WriteString(`flex-direction:column;`) + templ_7745c5c3_CSSBuilder.WriteString(`justify-content:center;`) + templ_7745c5c3_CSSBuilder.WriteString(`align-items:center;`) + templ_7745c5c3_CSSID := templ.CSSID(`CenterContainer`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} + +var _ = templruntime.GeneratedTemplate diff --git a/web/templates/admin.templ b/web/templates/admin.templ new file mode 100644 index 0000000..5f3d400 --- /dev/null +++ b/web/templates/admin.templ @@ -0,0 +1,76 @@ +/* +Collection of pages which handles everything admin-panel related. +Login page collects information and passes it via post method to backend +which processes passed form and shows templ AdminPanelPage(). +If form incorrected than it shows nothing. +*/ +package templates + +import "github.com/dixxe/personal-website/web/static/styling" +import "strconv" +import "github.com/dixxe/personal-website/iternal/pkg/repositories" + +// Template to reduce boilerplate and untie everything +templ postsTable(blogPosts []repositories.Post) { + if len(blogPosts) == 0 { +

База данных блога не загрузилась.

+ } + + + + + + + + + + for _, post := range blogPosts { + + + + + + } + +
ID Header Content
{strconv.Itoa(post.Id)} {post.Header} {post.Content}
+} + +templ AdminPanelPage(blogPosts []repositories.Post) { + @BasicPageBlock() + +

Очень защищенная админ-панель

+
+ +
+

Добавление новых постов

+
+

Header:

+

Content:


") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var18 = []any{styling.Header()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var18...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "

Удаление постов

Please specify post ID:


") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = postsTable(blogPosts).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +func LoginPage() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var20 := templ.GetChildren(ctx) + if templ_7745c5c3_Var20 == nil { + templ_7745c5c3_Var20 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = BasicPageBlock().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var21 = []any{styling.CenterPageContainer(), styling.Textcontainer()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var21...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "

Login:

Password:

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/web/templates/blog.templ b/web/templates/blog.templ new file mode 100644 index 0000000..3d339e8 --- /dev/null +++ b/web/templates/blog.templ @@ -0,0 +1,89 @@ +/* +Template that grew in complexity recently. It's was first template that supports JS. + +1. Template contains local templ blocks their names starting with lowercase to make it DRY +2. JS script is seperated and should be called *after* page construction. +3. Templ ShowBlogPage contains some math to dynamicly reduce post size + +TODO - make it more DRY and modular in general +*/ +package templates + +import "github.com/dixxe/personal-website/web/static/styling" +import "github.com/dixxe/personal-website/iternal/pkg/repositories" +import "fmt" +import "strings" +import "math" + +var markedHandle = templ.NewOnceHandle() + +templ runMarked(markdown string) { + + @templ.JSONScript("md", markdown) + + @markedHandle.Once() { + + + + } + +} + +templ blogHeader() { +

Блог дихуса

+

Вернуться Домой

+
+} + +templ ShowPost(post repositories.Post){ + @BasicPageBlock() + @blogHeader() + +
+

+ {post.Header} +

+
+
+ + @runMarked(post.Content) +} + + +templ ShowBlogPage(posts []repositories.Post) { + @BasicPageBlock() + @blogHeader() + + for i := len(posts) - 1; i>=0; i-- { +
+

+ + {posts[i].Header} + +

+ + {{ + // It's probably awfull practice, but here I calculate + // post size and make it smaller.. In frontend! Magic! + postWords := strings.Fields(posts[i].Content) + postCap := int(math.Sqrt(float64(len(postWords))*5)) + shortStr := postWords[:postCap] + + }} + +

{strings.Join(shortStr, " ")}...

+ + Читать полностью... + +
+ + } + + @UsefulLinks() +} diff --git a/web/templates/blog_templ.go b/web/templates/blog_templ.go new file mode 100644 index 0000000..fb8c1a7 --- /dev/null +++ b/web/templates/blog_templ.go @@ -0,0 +1,418 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.3.819 +/* + + +Template that grew in complexity recently. It's was first template that supports JS. + + + + + +1. Template contains local templ blocks their names starting with lowercase to make it DRY + + +2. JS script is seperated and should be called *after* page construction. + + +3. Templ ShowBlogPage contains some math to dynamicly reduce post size + + + + + +TODO - make it more DRY and modular in general + + +*/ + +package templates + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import "github.com/dixxe/personal-website/web/static/styling" +import "github.com/dixxe/personal-website/iternal/pkg/repositories" +import "fmt" +import "strings" +import "math" + +var markedHandle = templ.NewOnceHandle() + +func runMarked(markdown string) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = templ.JSONScript("md", markdown).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, " ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) + templ_7745c5c3_Err = markedHandle.Once().Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +func blogHeader() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var3 := templ.GetChildren(ctx) + if templ_7745c5c3_Var3 == nil { + templ_7745c5c3_Var3 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + var templ_7745c5c3_Var4 = []any{styling.FileHeader()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var4...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "

Блог дихуса

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var6 = []any{styling.PostScriptum()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var6...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "

Вернуться Домой


") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +func ShowPost(post repositories.Post) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var8 := templ.GetChildren(ctx) + if templ_7745c5c3_Var8 == nil { + templ_7745c5c3_Var8 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = BasicPageBlock().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blogHeader().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var9 = []any{styling.BlogContainer(), styling.CenterContainer(), styling.Textcontainer()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var9...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var11 = []any{styling.Header(), styling.HighlightText()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var11...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var13 string + templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(post.Header) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/blog.templ`, Line: 50, Col: 18} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = runMarked(post.Content).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +func ShowBlogPage(posts []repositories.Post) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var14 := templ.GetChildren(ctx) + if templ_7745c5c3_Var14 == nil { + templ_7745c5c3_Var14 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = BasicPageBlock().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = blogHeader().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + for i := len(posts) - 1; i >= 0; i-- { + var templ_7745c5c3_Var15 = []any{styling.Textcontainer(), styling.BlogContainer()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var15...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var17 = []any{styling.Header()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var17...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var20 string + templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(posts[i].Header) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/blog.templ`, Line: 67, Col: 36} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + + // It's probably awfull practice, but here I calculate + // post size and make it smaller.. In frontend! Magic! + postWords := strings.Fields(posts[i].Content) + postCap := int(math.Sqrt(float64(len(postWords)) * 5)) + shortStr := postWords[:postCap] + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var21 string + templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(strings.Join(shortStr, " ")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/blog.templ`, Line: 80, Col: 62} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "...

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var22 = []any{styling.HighlightText()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var22...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "Читать полностью...
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + templ_7745c5c3_Err = UsefulLinks().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/web/templates/constructionBlocks.templ b/web/templates/constructionBlocks.templ new file mode 100644 index 0000000..94da4dc --- /dev/null +++ b/web/templates/constructionBlocks.templ @@ -0,0 +1,60 @@ +/* +Small block that I write to reuse in other templates to remove boilerplate. +Syntax to reuse templates: @BasicPageBlock() +*/ +package templates + +import "github.com/dixxe/personal-website/web/static/styling" + +// Use this block in every page. It contains dependecies and reduces boilerplate +templ BasicPageBlock() { + + + + + + + + + + + dixxe's website + + + + + +} + +// Small styled line of links to my friends and contact information. +templ UsefulLinks() { +
+ +

+ You can find source code of this website + here. +

+ +

Telegram - "@d1xxe"

+

Matrix - "@d1xxe:matrix.org"

+ +

My friends: + Lunf + Madam_ovi +

+ +
+ +} diff --git a/web/templates/constructionBlocks_templ.go b/web/templates/constructionBlocks_templ.go new file mode 100644 index 0000000..8bec65b --- /dev/null +++ b/web/templates/constructionBlocks_templ.go @@ -0,0 +1,102 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.3.819 +/* + + +Small block that I write to reuse in other templates to remove boilerplate. + + +Syntax to reuse templates: @BasicPageBlock() + + +*/ + +package templates + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import "github.com/dixxe/personal-website/web/static/styling" + +// Use this block in every page. It contains dependecies and reduces boilerplate +func BasicPageBlock() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "dixxe's website") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +// Small styled line of links to my friends and contact information. +func UsefulLinks() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var2 := templ.GetChildren(ctx) + if templ_7745c5c3_Var2 == nil { + templ_7745c5c3_Var2 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + var templ_7745c5c3_Var3 = []any{styling.BlockContainer(), styling.PostScriptum()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var3...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "

You can find source code of this website here.

Telegram - \"@d1xxe\"

Matrix - \"@d1xxe:matrix.org\"

My friends: Lunf Madam_ovi

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/web/templates/errorPage.templ b/web/templates/errorPage.templ new file mode 100644 index 0000000..7c0ae7f --- /dev/null +++ b/web/templates/errorPage.templ @@ -0,0 +1,14 @@ +package templates + +import "github.com/dixxe/personal-website/web/static/styling" +import "strconv" + +templ ErrorPage(code int, additional_info string) { + @BasicPageBlock() + +
+

Error { strconv.Itoa(code) }

+

Something went wrong. {additional_info}

+

Go home

+
+} \ No newline at end of file diff --git a/web/templates/errorPage_templ.go b/web/templates/errorPage_templ.go new file mode 100644 index 0000000..c556196 --- /dev/null +++ b/web/templates/errorPage_templ.go @@ -0,0 +1,135 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.3.819 +package templates + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import "github.com/dixxe/personal-website/web/static/styling" +import "strconv" + +func ErrorPage(code int, additional_info string) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = BasicPageBlock().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var2 = []any{styling.Textcontainer(), styling.CenterPageContainer()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var2...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var4 = []any{styling.Header()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var4...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "

Error ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var6 string + templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(code)) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/errorPage.templ`, Line: 10, Col: 65} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "

Something went wrong. ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var7 string + templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(additional_info) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/errorPage.templ`, Line: 11, Col: 50} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var8 = []any{styling.PostScriptum()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var8...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "

Go home

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/web/templates/index.templ b/web/templates/index.templ new file mode 100644 index 0000000..1c4ea17 --- /dev/null +++ b/web/templates/index.templ @@ -0,0 +1,71 @@ +/* +Main page of website that shows on root. +Contains useful information and links to other pages +*/ +package templates + +import "github.com/dixxe/personal-website/web/static/styling" + +templ IndexPage() { + @BasicPageBlock() + +
+

+ Greetings! I'm +
+ d1xxe +
+ and this is my +
+ personal + website +

+
+ +
+ +

+ About me +

+ +

+ I'm + 16 + years old junior software engineer. +
+ Born & live in Russia 🇷🇺 +
+ I speak native Russian and English(B2) +

+ +

+ I have skills in + Go, Java, Rust, Nix + and + Linux +

+ +

+ I have a passion to learn new, complex things. +
+ Currently I'm learning SQL, DBMS +

+
+ +
+ +
+

I don't have any finished project yet :P

+
+ +
+ +
+

More stuff from me

+ + Personal blog + +
+ + @UsefulLinks() +} \ No newline at end of file diff --git a/web/templates/index_templ.go b/web/templates/index_templ.go new file mode 100644 index 0000000..e861a73 --- /dev/null +++ b/web/templates/index_templ.go @@ -0,0 +1,255 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.3.819 +/* + + +Main page of website that shows on root. + + +Contains useful information and links to other pages + + +*/ + +package templates + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import "github.com/dixxe/personal-website/web/static/styling" + +func IndexPage() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = BasicPageBlock().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var2 = []any{styling.HelloContainer()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var2...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "

Greetings! I'm
d1xxe
and this is my
personal website

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var4 = []any{styling.Textcontainer(), styling.CenterContainer()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var4...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var6 = []any{styling.Header()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var6...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "

About me

I'm ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var8 = []any{styling.HighlightText()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var8...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "16 years old junior software engineer.
Born & live in Russia 🇷🇺
I speak native Russian and English(B2)

I have skills in ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var10 = []any{styling.HighlightText()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var10...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "Go, Java, Rust, Nix and ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var12 = []any{styling.HighlightText()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var12...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "Linux

I have a passion to learn new, complex things.
Currently I'm learning SQL, DBMS


") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var14 = []any{styling.CenterContainer(), styling.Textcontainer()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var14...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "

I don't have any finished project yet :P


") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var16 = []any{styling.CenterContainer(), styling.Textcontainer()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var16...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var18 = []any{styling.Header()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var18...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "

More stuff from me

Personal blog
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = UsefulLinks().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/web/templates/wip.templ b/web/templates/wip.templ new file mode 100644 index 0000000..9212478 --- /dev/null +++ b/web/templates/wip.templ @@ -0,0 +1,16 @@ +/* +Placeholder webpage for not-implemented functional. +Links back to root (index). +*/ +package templates + +import "github.com/dixxe/personal-website/web/static/styling" + +templ WIPPage() { + @BasicPageBlock() + +
+

Page is under construction

+

Вернуться Домой

+
+} \ No newline at end of file diff --git a/web/templates/wip_templ.go b/web/templates/wip_templ.go new file mode 100644 index 0000000..de53239 --- /dev/null +++ b/web/templates/wip_templ.go @@ -0,0 +1,119 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.3.819 +/* + + +Placeholder webpage for not-implemented functional. + + +Links back to root (index). + + +*/ + +package templates + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import "github.com/dixxe/personal-website/web/static/styling" + +func WIPPage() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = BasicPageBlock().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var2 = []any{styling.Textcontainer(), styling.CenterPageContainer()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var2...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var4 = []any{styling.Header()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var4...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "

Page is under construction

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var6 = []any{styling.PostScriptum()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var6...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "

Вернуться Домой

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +var _ = templruntime.GeneratedTemplate

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