From ba9c394cdfae8d2ace38ab036215ec2c476a09fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=84=9C=EC=B1=84=EC=97=B0?= <128215774+yeonee911@users.noreply.github.com> Date: Sat, 15 Mar 2025 22:58:40 +0900 Subject: [PATCH 1/2] week1 --- .gitattributes | 3 + .gitignore | 43 +++ HELP.md | 27 ++ README.md | 128 ++++++++- build.gradle | 34 +++ et HEAD~n | 17 ++ gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 251 ++++++++++++++++++ gradlew.bat | 94 +++++++ settings.gradle | 1 + .../com/ceos21/spring_boot/Application.java | 34 +++ .../ceos21/spring_boot/HelloController.java | 14 + .../java/com/ceos21/spring_boot/Test.java | 14 + .../ceos21/spring_boot/TestController.java | 22 ++ .../ceos21/spring_boot/TestRepository.java | 5 + .../com/ceos21/spring_boot/TestService.java | 20 ++ src/main/resources/application.yml | 17 ++ .../ceos21/spring_boot/ApplicationTests.java | 13 + .../spring_boot/HelloControllerTest.java | 31 +++ 19 files changed, 773 insertions(+), 2 deletions(-) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 HELP.md create mode 100644 build.gradle create mode 100644 et HEAD~n create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle create mode 100644 src/main/java/com/ceos21/spring_boot/Application.java create mode 100644 src/main/java/com/ceos21/spring_boot/HelloController.java create mode 100644 src/main/java/com/ceos21/spring_boot/Test.java create mode 100644 src/main/java/com/ceos21/spring_boot/TestController.java create mode 100644 src/main/java/com/ceos21/spring_boot/TestRepository.java create mode 100644 src/main/java/com/ceos21/spring_boot/TestService.java create mode 100644 src/main/resources/application.yml create mode 100644 src/test/java/com/ceos21/spring_boot/ApplicationTests.java create mode 100644 src/test/java/com/ceos21/spring_boot/HelloControllerTest.java diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8af972c --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +/gradlew text eol=lf +*.bat text eol=crlf +*.jar binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d70d5a9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,43 @@ +*# +*.iml +*.ipr +*.iws +*.jar +*.sw? +*~ +.#* +.*.md.html +.DS_Store +.attach_pid* +.classpath +.factorypath +.gradle +.metadata +.project +.recommenders +.settings +.springBeans +.vscode +/code +MANIFEST.MF +_site/ +activemq-data +bin +build +!/**/src/**/bin +!/**/src/**/build +build.log +dependency-reduced-pom.xml +dump.rdb +interpolated*.xml +lib/ +manifest.yml +out +overridedb.* +target +.flattened-pom.xml +secrets.yml +.gradletasknamecache +.sts4-cache + +.idea \ No newline at end of file diff --git a/HELP.md b/HELP.md new file mode 100644 index 0000000..015785b --- /dev/null +++ b/HELP.md @@ -0,0 +1,27 @@ +# Read Me First +The following was discovered as part of building this project: + +* The original package name 'com.ceos21.spring-boot' is invalid and this project uses 'com.ceos21.spring_boot' instead. + +# Getting Started + +### Reference Documentation +For further reference, please consider the following sections: + +* [Official Gradle documentation](https://docs.gradle.org) +* [Spring Boot Gradle Plugin Reference Guide](https://docs.spring.io/spring-boot/3.4.3/gradle-plugin) +* [Create an OCI image](https://docs.spring.io/spring-boot/3.4.3/gradle-plugin/packaging-oci-image.html) +* [Spring Web](https://docs.spring.io/spring-boot/3.4.3/reference/web/servlet.html) + +### Guides +The following guides illustrate how to use some features concretely: + +* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/) +* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/) +* [Building REST services with Spring](https://spring.io/guides/tutorials/rest/) + +### Additional Links +These additional references should also help you: + +* [Gradle Build Scans โ€“ insights for your project's build](https://scans.gradle.com#gradle) + diff --git a/README.md b/README.md index ebeffaf..9125435 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,126 @@ -# spring-tutorial-21st -CEOS back-end 21st spring tutorial project +# ๐Ÿ’™1์ฃผ์ฐจ ๋ฏธ์…˜ +*์ถ”๊ฐ€ ์กฐ์‚ฌ
+*์ถ”๊ฐ€ ์งˆ๋ฌธ + +## ๐Ÿ“œ์š”์•ฝ +**Spring** : ์ž๋ฐ” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ฐœ๋ฐœ์„ ํŽธํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ฒฝ๋Ÿ‰๊ธ‰ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ
+**Spring์˜ ํŠน์ง•** : ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ ์ง์ ‘ ์Šคํ”„๋ง ์•ˆ์—์„œ ๊ด€๋ฆฌ, ๊ฐ์ฒด์˜ ์ƒ๋ช… ์ฃผ๊ธฐ๋ฅผ ๊ด€๋ฆฌ, *์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์—์„œ ํ•„์š”ํ•œ ๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์™€ ์‚ฌ์šฉ
+**POJO** : Getter, Setter๋กœ ๊ตฌ์„ฑ๋œ ๊ฐ€์žฅ ์ˆœ์ˆ˜ํ•œ ํ˜•ํƒœ์˜ ๊ธฐ๋ณธ ํด๋ž˜์Šค, ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์›๋ฆฌ์— ์ถฉ์‹คํ•˜๋ฉด์„œ, ํŠน์ • ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํŠน์ • ๊ธฐ๋Šฅ์— ์ข…์†๋˜์ง€ ์•Š๊ณ , ํ•„์š”์— ๋”ฐ๋ผ ์žฌํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ค๊ณ„๋œ ์˜ค๋ธŒ์ ํŠธ
+**์Šคํ”„๋ง ์‚ผ๊ฐํ˜•** : POJO๋Š” IoC/DI, AOP, PSA๋ฅผ ํ†ตํ•ด์„œ ๋‹ฌ์„ฑ +- AOP : ๊ด€์  ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๋กœ์ง์˜ ์ฃผ์ž… +- IoC/DI : ๊ฐ์ฒด์˜ ์ƒ์„ฑ๊ณผ ์˜์กด์„ฑ ๊ด€๋ฆฌ๋ฅผ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ˆ˜ํ–‰ +- PSA : ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์„ ์ผ๊ด€๋œ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์„œ๋น„์Šค ์ถ”์ƒํ™” (์–ด๋Œ‘ํ„ฐ ํŒจํ„ด ์ ์šฉ) + +**์˜์กด์„ฑ** : ์ „์ฒด๋Š” ๋ถ€๋ถ„์— ์˜์กดํ•œ๋‹ค.
+์˜์กด์„ฑ ์ฃผ์ž…์„ ํ†ตํ•ด ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ˜๋‹ค.
+์˜์กด์„ฑ ์ฃผ์ž… ๋ฐฉ๋ฒ•์—๋Š” `=์ƒ์„ฑ์ž ์ฃผ์ž…`, `setter ์ฃผ์ž…`, `ํ•„๋“œ ์ฃผ์ž…` 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.
+*๊ทธ๋Ÿผ ์…‹ ์ค‘์—์„œ ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ๊ฐ€์žฅ ๋Œ€์ค‘์ /ํšจ์œจ์ ์ธ๊ฐ€? + + +## ๐Ÿ’š์ถ”๊ฐ€ ์กฐ์‚ฌ +### ๐Ÿ”ท์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ(Spring Container) +#### ๐Ÿ”น๊ฐœ๋… +์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋Š” ์ž๋ฐ” ๊ฐ์ฒด์˜ ์ƒ๋ช… ์ฃผ๊ธฐ๋ฅผ ๊ด€๋ฆฌ, ์ƒ์„ฑ๋œ ์ž๋ฐ” ๊ฐ์ฒด๋“ค์—๊ฒŒ ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณต + +์ฆ‰, ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋Š” ๋‚ด๋ถ€์— ์กด์žฌํ•˜๋Š” ๋นˆ์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๊ด€๋ฆฌ(๋นˆ์˜ ์ƒ์„ฑ, ๊ด€๋ฆฌ, ์ œ๊ฑฐ ๋“ฑ)ํ•˜๋ฉฐ, ์ƒ์„ฑ๋œ ๋นˆ์—๊ฒŒ ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ. + +#### ๐Ÿ”น์ข…๋ฅ˜ +`Beanfactory`์™€ `ApplicationContext` ๋‘ ์ข…๋ฅ˜์˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๊ตฌํ˜„ + +(1)`BeanFactory` +- ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์˜ ์ตœ์ƒ์œ„ ์ธํ„ฐํŽ˜์ด์Šค +- ๋นˆ์„ ๋“ฑ๋ก, ์ƒ์„ฑ, ์กฐํšŒ ๋“ฑ ๋นˆ์„ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ•  + +(2)`ApplicationContext` +- BeanFactory์˜ ๊ธฐ๋Šฅ์„ ์ƒ์†๋ฐ›์œผ๋ฏ€๋กœ, ๋นˆ์„ ๊ด€๋ฆฌํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ธฐ๋Šฅ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ทธ ์™ธ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•จ + + +#### ๐Ÿ”นBeanFactory VS ApplicaionContext +`ApplicaitonContext`๊ฐ€ `BeanFactory`์˜ ๊ธฐ๋Šฅ์„ ๋ฌผ๋ ค ๋ฐ›์•„ ๋นˆ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๊ฐ™๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ `ApplicationContext`๊ฐ€ ๋” ๋งŽ์€ ๋ถ€๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. +๋˜ํ•œ ๋นˆ ๊ด€๋ฆฌ์˜ ๊ธฐ๋Šฅ์—์„œ๋„ `BeanFactory`๋Š” ์ฒ˜์Œ์œผ๋กœ getBean() ๋ฉ”์†Œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋œ ์‹œ์ ์—์„œ ํ•ด๋‹น ๋นˆ์„ ์ƒ์„ฑํ•˜๊ณ , +`ApplicationContext`๋Š” Context ์ดˆ๊ธฐํ™” ์‹œ์ ์— ๋ชจ๋“  ์‹ฑ๊ธ€ํ†ค ๋นˆ์„ ๋ฏธ๋ฆฌ ๋กœ๋“œํ•œ ํ›„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ€๋™ ํ›„์—๋Š” ๋นˆ์„ ์ง€์—ฐ์—†์ด ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. + +๋”ฐ๋ผ์„œ ์ฃผ๋กœ ๊ฐœ๋ฐœ์—์„œ๋Š” `ApplicationContext`์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. + +#### ๐Ÿ”—์ฐธ๊ณ  ์ž๋ฃŒ +- [[Spring] ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ(Spring Container)๋ž€ ๋ฌด์—‡์ธ๊ฐ€?](https://ittrue.tistory.com/220) +- [[Spring] ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์™€ ๋นˆ์ด๋ž€?](https://steady-coding.tistory.com/459) + +
+ +### ๐Ÿ”ท๋นˆ(Bean)์˜ ๊ฐœ๋…๊ณผ ๋ผ์ดํ”„ ์‚ฌ์ดํด +#### ๐Ÿ”น๋นˆ(Bean) ๊ฐœ๋… +์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ ๋นˆ(Bean)์ด๋ผ๊ณ  ํ•œ๋‹ค. + +#### ๐Ÿ”นBean Life Cycle ํ”„๋กœ์„ธ์Šค +1. ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ +2. ์Šคํ”„๋ง ๋นˆ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ +3. ์˜์กด์„ฑ ์ฃผ์ž… +4. ์ดˆ๊ธฐํ™” ์ฝœ๋ฐฑ : ๋นˆ์ด ์ƒ์„ฑ๋˜๊ณ , ๋นˆ์˜ ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…์ด ์™„๋ฃŒ๋œ ํ›„ ํ˜ธ์ถœ +5. ์‚ฌ์šฉ +6. ์†Œ๋ฉธ์ „ ์ฝœ๋ฐฑ : ๋นˆ์ด ์†Œ๋ฉธ๋˜๊ธฐ ์ง์ „ ํ˜ธ์ถœ +7. ์Šคํ”„๋ง ์ข…๋ฃŒ + +#### ๐Ÿ”—์ฐธ๊ณ  ์ž๋ฃŒ +- [Bean Life Cycle](https://dodokwon.tistory.com/57) + +
+ + +### ๐Ÿ”ท์–ด๋…ธํ…Œ์ด์…˜(Annotation)์˜ ๊ฐœ๋…๊ณผ ๋™์ž‘ ์›๋ฆฌ +#### ๐Ÿ”น๊ฐœ๋… +์ฝ”๋“œ์— ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์ถ”๊ฐ€ ์ •๋ณด)๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ. + +#### ๐Ÿ”น๋™์ž‘ ์›๋ฆฌ +์–ด๋…ธํ…Œ์ด์…˜์€ `๋ฆฌํ”Œ๋ ‰์…˜(Reflection)`์„ ํ™œ์šฉํ•ด์„œ ๋™์ž‘ํ•œ๋‹ค. +์ฆ‰, ๋Ÿฐํƒ€์ž„(์‹คํ–‰ ์ค‘)์— ํด๋ž˜์Šค๋‚˜ ๋ฉ”์„œ๋“œ์˜ ์ •๋ณด๋ฅผ ์ฝ์–ด์™€์„œ ํŠน์ • ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
+ +### ๐Ÿ”ท์Šคํ”„๋ง์—์„œ ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•œ Bean ๋“ฑ๋ก ๊ณผ์ • +์Šคํ”„๋ง์€ `์ปดํฌ๋„ŒํŠธ ์Šค์บ”(Component Scan)`๊ณผ์ •์„ ํ†ตํ•ด ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•œ๋‹ค.
+*์ปดํฌ๋„ŒํŠธ ์Šค์บ” : ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ๋“ฑ๋ก๋  ํด๋ž˜์ŠคํŒจ์Šค๋ฅผ ์Šค์บ”ํ•˜์—ฌ ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•˜๋Š” ๊ณผ์ •
+1. ์„ค์ •์ •๋ณด ํด๋ž˜์Šค์— `@ComponentScan` ์–ด๋…ธํ…Œ์ด์…˜์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. +2. ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•  ํด๋ž˜์Šค์— `@Component` ์–ด๋…ธํ…Œ์ด์…˜์„ ์ถ”๊ฐ€ํ•˜์—ฌ @ComponentScan์˜ ๋Œ€์ƒ์ด ๋˜๋„๋ก ์ง€์ •ํ•˜๊ณ  ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•ด์ค€๋‹ค. +3. ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•  ๋•Œ ํ•„์š”ํ•œ DI๋Š” `@Autowired`๋ฅผ ์ด์šฉํ•ด ์ฒ˜๋ฆฌํ•œ๋‹ค. + +
+ +### ๐Ÿ”ท๋‹จ์œ„ ํ…Œ์ŠคํŠธ์™€ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ +#### ๐Ÿ”น๊ฐœ๋… ๋ฐ ํŠน์ง• +(1) `๋‹จ์œ„ ํ…Œ์ŠคํŠธ` +- ๊ฐœ๋… : ํ•˜๋‚˜์˜ ์ž‘์€ ๋‹จ์œ„(๋ฉ”์„œ๋“œ/ํด๋ž˜์Šค)๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ํ…Œ์ŠคํŠธ +- ํŠน์ง• : ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋˜๊ณ  ๊ฐœ๋ฐœ ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š”๋ฐ ํšจ๊ณผ์  + +(2) `ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ` +- ๊ฐœ๋… : ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋‹จ์œ„๊ฐ€ ํ•จ๊ป˜ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ +- ํŠน์ง• : ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ณด๋‹ค ์‹คํ–‰์‹œ๊ฐ„์ด ๋” ๊ธธ๊ณ  ๋ณต์žกํ•˜๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์‹œ์Šคํ…œ์˜ ์ „์ฒด์ ์ธ ๋™์ž‘์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค. + +#### ๐Ÿ”น์ฐจ์ด์  +| ๊ตฌ๋ถ„ | ๋‹จ์œ„ ํ…Œ์ŠคํŠธ | ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ | +|:-------------:|:-------------:|:------------------------:| +| ๋ชฉ์  | ๊ฐœ๋ณ„ ๋ชจ๋“ˆ์˜ ์ •ํ™•์„ฑ ๊ฒ€์ฆ | ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ์ด ์ •์ƒ์ ์œผ๋กœ ํ•จ๊ป˜ ๋™์ž‘ํ•˜๋Š”์ง€ ๊ฒ€์ฆ | +| ์‹คํ–‰ ์†๋„ | ๋น ๋ฆ„ | ๋А๋ฆผ | +| ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ์›์ธ ํŒŒ์•… | ์‰ฌ์›€ | ์–ด๋ ค์›€ | + +#### ๐Ÿ”น๊ฒฐ๋ก  +๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๊ฐœ๋ณ„ ๊ธฐ๋Šฅ์„ ๊ฒ€์ฆํ•˜๊ณ , ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋กœ ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ์ฒดํฌํ•œ๋‹ค. + +#### ๐Ÿ”—์ฐธ๊ณ  ์ž๋ฃŒ +- [๋‹จ์œ„ ํ…Œ์ŠคํŠธ์™€ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ์˜ ์ฐจ์ด์ ](https://f-lab.kr/insight/unit-vs-integration-test) + +
+ +## ๐Ÿงก์ถ”๊ฐ€ ์งˆ๋ฌธ +### ๐Ÿค”๊ทธ๋Ÿผ ์…‹ ์ค‘์—์„œ ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ๊ฐ€์žฅ ๋Œ€์ค‘์ /ํšจ์œจ์ ์ธ๊ฐ€? +**โœ… ์Šคํ”„๋ง์—์„œ๋Š” `์ƒ์„ฑ์ž ์ฃผ์ž…` ๋ฐฉ์‹์„ ๊ถŒ์žฅํ•œ๋‹ค** + +#### ๐Ÿ”น์ƒ์„ฑ์ž ์ฃผ์ž…์˜ ์žฅ์  +1. ๊ฐ์ฒด์˜ ๋ถˆ๋ณ€์„ฑ ํ™•๋ณด + - ์‹ค์ œ ๊ฐœ๋ฐœ์—์„œ ์˜์กด ๊ด€๊ณ„์˜ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์ด ๊ฑฐ์˜ ์—†๋‹ค. + - ์ƒ์„ฑ์ž ์ฃผ์ž…์„ ํ†ตํ•ด ๋ณ€๊ฒฝ์˜ ๊ฐ„์œผ์„ฑ์„ ๋ฐฐ์ œํ•˜๊ณ  ๋ถˆ๋ณ€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. +2. ์ˆœํ™˜ ์ฐธ์กฐ ๋ฌธ์ œ ๋ฐฉ์ง€ ๊ฐ€๋Šฅ + - ์ƒ์„ฑ์ž ์ฃผ์ž…์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ๋™ ์‹œ์ , ๊ฐ์ฒด์˜ ์ƒ์„ฑ ์‹œ์ ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. +3. ํ…Œ์ŠคํŠธ ์šฉ์ด + - ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ ์ˆœ์ˆ˜ ์ž๋ฐ” ์ฝ”๋“œ๋กœ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. + +#### ๐Ÿ”—์ฐธ๊ณ  ์ž๋ฃŒ +- [[Spring] ๋‹ค์–‘ํ•œ ์˜์กด์„ฑ ์ฃผ์ž… ๋ฐฉ๋ฒ•๊ณผ ์ƒ์„ฑ์ž ์ฃผ์ž…์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ](https://mangkyu.tistory.com/125) \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..b731a84 --- /dev/null +++ b/build.gradle @@ -0,0 +1,34 @@ +plugins { + id 'java' + id 'org.springframework.boot' version '3.2.9' + id 'io.spring.dependency-management' version '1.1.7' +} + +group = 'com.ceos21' +version = '0.0.1-SNAPSHOT' + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} + +repositories { + mavenCentral() +} + +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-web' + + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + compileOnly 'org.projectlombok:lombok' + annotationProcessor 'org.projectlombok:lombok' + runtimeOnly 'com.h2database:h2' + + testImplementation 'org.springframework.boot:spring-boot-starter-test' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher' +} + +tasks.named('test') { + useJUnitPlatform() +} diff --git a/et HEAD~n b/et HEAD~n new file mode 100644 index 0000000..158d467 --- /dev/null +++ b/et HEAD~n @@ -0,0 +1,17 @@ +commit 6f5c39a1af9ff97223780080d88cb76ba55cfd53 (HEAD -> master) +Author: ์„œ์ฑ„์—ฐ <128215774+yeonee911@users.noreply.github.com> +Date: Sat Mar 15 20:52:45 2025 +0900 + + week 1 + +commit 749e652fb1b931d95220118e8df98f8c189a7a9d (origin/yeonee911, origin/wlqgkrry, origin/mirupio, origin/master, origin/limdodod, origin/leerura, origin/hyesuhan, origin/challonsy, origin/WithFortuna, origin/SeoyeonPark1223, origin/HEAD, origin/Gothax, yeonee911) +Author: limgahyun <114561842+limgahyun@users.noreply.github.com> +Date: Fri Mar 7 13:46:35 2025 +0900 + + Update README.md + +commit 41f542373cec9dbc0526f2cc9e87a309fcc81bed +Author: limgahyun <114561842+limgahyun@users.noreply.github.com> +Date: Fri Mar 7 13:45:41 2025 +0900 + + Initial commit diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..37f853b --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..faf9300 --- /dev/null +++ b/gradlew @@ -0,0 +1,251 @@ +#!/bin/sh + +# +# Copyright ยฉ 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions ยซ$varยป, ยซ${var}ยป, ยซ${var:-default}ยป, ยซ${var+SET}ยป, +# ยซ${var#prefix}ยป, ยซ${var%suffix}ยป, and ยซ$( cmd )ยป; +# * compound commands having a testable exit status, especially ยซcaseยป; +# * various built-in commands including ยซcommandยป, ยซsetยป, and ยซulimitยป. +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..9d21a21 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,94 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..19b5204 --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'spring-boot' diff --git a/src/main/java/com/ceos21/spring_boot/Application.java b/src/main/java/com/ceos21/spring_boot/Application.java new file mode 100644 index 0000000..deae1f6 --- /dev/null +++ b/src/main/java/com/ceos21/spring_boot/Application.java @@ -0,0 +1,34 @@ +package com.ceos21.spring_boot; + +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Bean; + +import java.util.Arrays; + +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + + @Bean + public CommandLineRunner commandLineRunner(ApplicationContext ctx) { + return args -> { + + System.out.println("Let's inspect the beans provided by Spring Boot:"); + + // Spring Boot ์—์„œ ์ œ๊ณต๋˜๋Š” Bean ํ™•์ธ + String[] beanNames = ctx.getBeanDefinitionNames(); + Arrays.sort(beanNames); + for (String beanName : beanNames) { + System.out.println(beanName); + } + + }; + } + +} \ No newline at end of file diff --git a/src/main/java/com/ceos21/spring_boot/HelloController.java b/src/main/java/com/ceos21/spring_boot/HelloController.java new file mode 100644 index 0000000..c49e699 --- /dev/null +++ b/src/main/java/com/ceos21/spring_boot/HelloController.java @@ -0,0 +1,14 @@ +package com.ceos21.spring_boot; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class HelloController { + + @GetMapping("/") + public String index() { + return "Greetings from Spring Boot!"; + } + +} \ No newline at end of file diff --git a/src/main/java/com/ceos21/spring_boot/Test.java b/src/main/java/com/ceos21/spring_boot/Test.java new file mode 100644 index 0000000..2ab1c4c --- /dev/null +++ b/src/main/java/com/ceos21/spring_boot/Test.java @@ -0,0 +1,14 @@ +package com.ceos21.spring_boot; + +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import lombok.Data; + +@Data +@Entity +public class Test { + + @Id + private Long id; + private String name; +} diff --git a/src/main/java/com/ceos21/spring_boot/TestController.java b/src/main/java/com/ceos21/spring_boot/TestController.java new file mode 100644 index 0000000..22e0b27 --- /dev/null +++ b/src/main/java/com/ceos21/spring_boot/TestController.java @@ -0,0 +1,22 @@ +package com.ceos21.spring_boot; + +import lombok.RequiredArgsConstructor; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequiredArgsConstructor +@RequestMapping(value = "/tests") +public class TestController { + + private final TestService testService; + + @GetMapping + public List findAllTests() { + return testService.findAllTests(); + } +} \ No newline at end of file diff --git a/src/main/java/com/ceos21/spring_boot/TestRepository.java b/src/main/java/com/ceos21/spring_boot/TestRepository.java new file mode 100644 index 0000000..b90d2ed --- /dev/null +++ b/src/main/java/com/ceos21/spring_boot/TestRepository.java @@ -0,0 +1,5 @@ +package com.ceos21.spring_boot; + +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TestRepository extends JpaRepository {} \ No newline at end of file diff --git a/src/main/java/com/ceos21/spring_boot/TestService.java b/src/main/java/com/ceos21/spring_boot/TestService.java new file mode 100644 index 0000000..523f226 --- /dev/null +++ b/src/main/java/com/ceos21/spring_boot/TestService.java @@ -0,0 +1,20 @@ +package com.ceos21.spring_boot; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class TestService { + + private final TestRepository testRepository; + + /* Read All*/ + @Transactional(readOnly = true) + public List findAllTests() { + return testRepository.findAll(); + } +} \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..e02c51d --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,17 @@ +spring: + datasource: + url: jdbc:h2:tcp://localhost/~/ceos21 + username: sa + password: + driver-class-name: org.h2.Driver + + jpa: + hibernate: + ddl-auto: create + properties: + hibernate: + format_sql: true + +logging: + level: + org.hibernate.SQL: debug \ No newline at end of file diff --git a/src/test/java/com/ceos21/spring_boot/ApplicationTests.java b/src/test/java/com/ceos21/spring_boot/ApplicationTests.java new file mode 100644 index 0000000..cfbe7af --- /dev/null +++ b/src/test/java/com/ceos21/spring_boot/ApplicationTests.java @@ -0,0 +1,13 @@ +package com.ceos21.spring_boot; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class ApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/src/test/java/com/ceos21/spring_boot/HelloControllerTest.java b/src/test/java/com/ceos21/spring_boot/HelloControllerTest.java new file mode 100644 index 0000000..94db221 --- /dev/null +++ b/src/test/java/com/ceos21/spring_boot/HelloControllerTest.java @@ -0,0 +1,31 @@ +package com.ceos21.spring_boot; + +import static org.hamcrest.Matchers.equalTo; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; + +@SpringBootTest +@AutoConfigureMockMvc +public class HelloControllerTest { + + @Autowired + private MockMvc mvc; + + @DisplayName("DisplayName : ํ…Œ์ŠคํŠธ ์ด๋ฆ„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค") + @Test + public void getHello() throws Exception { + mvc.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(content().string(equalTo("Greetings from Spring Boot!"))); + } +} \ No newline at end of file From b60202b8ae56c9bab7b4ea9bb07ee235bc654857 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=84=9C=EC=B1=84=EC=97=B0?= <128215774+yeonee911@users.noreply.github.com> Date: Sat, 15 Mar 2025 23:05:21 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EC=84=B1=EA=B3=B5=20=ED=99=94=EB=A9=B4=20?= =?UTF-8?q?=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 ++++- .../static/\354\204\261\352\263\265!.png" | Bin 0 -> 119915 bytes 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 "src/main/resources/static/\354\204\261\352\263\265!.png" diff --git a/README.md b/README.md index 9125435..58b9eac 100644 --- a/README.md +++ b/README.md @@ -123,4 +123,7 @@ - ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ ์ˆœ์ˆ˜ ์ž๋ฐ” ์ฝ”๋“œ๋กœ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. #### ๐Ÿ”—์ฐธ๊ณ  ์ž๋ฃŒ -- [[Spring] ๋‹ค์–‘ํ•œ ์˜์กด์„ฑ ์ฃผ์ž… ๋ฐฉ๋ฒ•๊ณผ ์ƒ์„ฑ์ž ์ฃผ์ž…์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ](https://mangkyu.tistory.com/125) \ No newline at end of file +- [[Spring] ๋‹ค์–‘ํ•œ ์˜์กด์„ฑ ์ฃผ์ž… ๋ฐฉ๋ฒ•๊ณผ ์ƒ์„ฑ์ž ์ฃผ์ž…์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ](https://mangkyu.tistory.com/125) + +## ๐Ÿ†์„ฑ๊ณต +![์„ฑ๊ณตํ•œ ํ™”๋ฉด](src/main/resources/static/์„ฑ๊ณต!.png) \ No newline at end of file diff --git "a/src/main/resources/static/\354\204\261\352\263\265!.png" "b/src/main/resources/static/\354\204\261\352\263\265!.png" new file mode 100644 index 0000000000000000000000000000000000000000..65acc297e3fe7d5b9b5590ab6f6fe05eb8ad6a75 GIT binary patch literal 119915 zcmYg&1z1$=^Y#(~f`mv(ib1E+64HV+EG3PEbazNMs0h-rh~U!QEg&G>UD7Gt`#sD1 zzQ6zHb%AW0v*(#J&&)md+_Pay3evdP&tUgGoZv1^a6dg#2$#gSac1M3hEl1#8q*cS_?;~_hG$2e zH~Ax;d!ASk(*_cVVS!&T>RbyuXdnE*a@-xEJ1S81@gsrt=YL)k!?GV#HtkOUhcT!PuJh2CE;54-&U@at#$E9mHl zfS>>OSPZrKzX$)F70dq9M@aF1AN=3B#B`oMg|PhZJ^wvTdiO2_=f4O4o$05fSfY?; zWvxjMiS>n~A{0s_IY_5pPJVdIvsyy&#<+2{L(s+8{P*~DLZ{8WsB;gB!wK91PQ5%B z1KB+cCjs36nmSH?N<2zDOrB)BrIaj*|hOE0uLWYcN;$IAqC=uUNa_%h#{QRnrxDmf4MSbvRnaU&5M!8t6;M#6sm zdM&rO7#JLEp>da1;?=gx%k1oIqOV^JDzq!|w$k7*ChTyyKP;nmh)B|2uZQ?f`^$6} z&)d7Oh`i$!6sQ7RTwf9r$Y3xS7B24b5jA$OLQWf4G&#Afni>%&C#SQzjI+kcN{il# zAn%~_tL|D4l{sAL?%KuITD+09EN1mSP4aZZG{R>Q8hg3x>*kLiKi>TFf+5`uv3YTr z51nkhZorSr)~IYCfW5~)xg@vpu?>e2JbWl4D~sLx;6Yeq8oZ|b=~J9uj0HHIKM5n_&-RWntp;tZzn$O4w~)v1GlrS|{VOW6hx28vdmC@F zwlE}oydi0cYJU{n*V4y?6zOBt)uZdX^2$W8tSrt%IcFcV+~Ez5L^%m*>G4`Zo#`C} z){Kc-atQ5fElj!YI^>Ed8MlI!HC8A|NYvSz=1C*K-U6nv&=o##FVxocPGeS`E-l(Q z5etoo(JP|=;qJI(WXy^FaK9j0w1}REC;r>Fr$-f6J7Hnbbi!lx()Vrrf5o_`vt zcTd&RpKjDiMd2-g#sx?eE*QwzXAsiHR4DkMm*a44rw)-k%s{-N@k)46?mvk+Sngv zn(iX~!VUfSovJ;qCo~ol#+^C5v1!F1rOYj<{4Isz;}_SqPo*||Dr2}=-&d@-$nWCd z4AbF=%$z=g`HUVN>Lk`q#UwA0!?jUc#IEc&h=P6w1`6yQZy_y3OG~@HrKPD!HmIyT z^^P_$*Ac8b(6qO_t0gbzGVfwC4;e>(1~KNowvmvK2)N@rd*tD*gl_@1 z=6rG9k#WDhLr+X*Is6&T?wXE8wisZ+JIlS&EZGwJ%Xm*+j-k7|5NG**MJ#(m%lMB< z^g^@#h8$$(Bs4|xCvS?zG2`^HXf2qZJ`J2mAhULOHRGyw?7kO_?jMA_fJX_C;z9HL zQ^TUG_rHyC)_NPd-VM=3csyR2wfmM&5&gw^85;*DuPTIvw63_g7{m9BJ>|$l2&``E zj}+}Z4egB^xHETga7XEQLk+%Lg@#4j>`P6FVcjPt4x*i)-GWxkdE8hq5~7nJ@Bgd+ zMZa2nN#)S+aElSl441l880@iiY0N9nIZD0hsM5Yc29i3nq5Ecg(TDCtub^tJr)1ZqDZ>y1iG`%Pg z42Lra+_`3V56r(r_ny4wd8GBA9dEEh>{u_9pdxq&Q2R59_ ztp>%CDL*>gBO-^DFi26t{o#B8zrx`#RZ21{b)y~0K%-$Bra%Hn3Nzd4_9P^IFqdhK zCYPJCMxO}jZ#1JI%%hV)c*vt9q@*ljDRk`ZIo0!^$&}@2br=5a_BV!b)P;MHEg}dp z6#7b8SxKiv-wZ-#rfz3T0?RUP(iOgJ8hCH}ad~M80%E%;=G|V$y$?2DjYKrUVK{Jp>v$YJ-T108)~cCS{oST?p7-ykpu%`G0zVNA`>4shwqu30 zxg%y;_+%U(?mnO!$bLhrn6zo}b77WwIfTZ?pf`zod!nQ*)`b(^UrN$)7ZMbHoso=OOjvbzBXYn zrarxTyyi?8pPF5DaF+cCn80vJ-Oc>2P7$Bl8sBsHp?*93^L{ty4lSGc)T08=GtQ7U z<@fk0aLwI1l!}?nyEnBo&E_$p&+vVOe3>(}^FI>E|7vPHm|Qi=V2zmiQdPz8xXNMN zac^m9xdg4!m|s(PK5V5&SF;I0GF_6Dn`ub!;7!??8}N0IZr+{l&Q9s-a&6}2(<`L> z^1p*)K3C7rlid4YAIc>(XU#*=)zx*6T97QHt;P4|kfx|XM+dxDa$k;4RY_dDwy41) zHLY;g(_yEXV#CEmQM=qq(&+FhVKV)L^n_PiJwxWhg=ioms?saCkqes7Uq<-B7$&TE zDDgsEpaqQKt@6CHKlKq88W*Q~ipf0I=98t*ShdSDtl|p z)4FbhH&yOLs^6t!qk1kXA9jh;Q>q=0fAGm*MC=WiE zeW@JL2dh2#At3>i=p^viIS#z;*ZlI0C=vs0YrJS}&lgc=rcYW{%dpiIOaH>K72S%5 z0uDFgB0u*<>>>VMpUwlEh75EYqj{w5?d{*bfA`;Vlgj$UZ8^68`$a!M4H@n#gyT5~ z(of2R6FWTP&Y890^)DX%7^h$m*7%t-E&S(C*n=rKQlZoRX+JxCM{)7C>fPXE^YP3F z@dwYN5k8Tz?lnYdtgr6W>I?=XOlSfid;gR2mB+f7i`C^vhc}awmmk~bIev04vSoq1 zz1xKFxjD)aQC3%%a(Cw!NG%j=o&#Wwn7Ex(-%Hfg)U@GL%7*Fc7*e=nmMtTnR3X$z(5hj*>xViy_EIrJ=tFE0uPq^pK}36NSS)=-7d7kK^4$Go<%eeXb1Cs< z=zc3Jyzu-WURj$m)~WOzCnu<#|7nE|Y7l|V9kV_q6%`l=C8;l6F&1(x$oG&%iCE|% zDmAJA9UWapxQTb34OYi1nqMXj^F3O3)pbgABwI4ITl7}tRK*4!1jBRr_7(8Ob6%kK zWoAO5l6M3Ur|qN6(6`ZXcWlbtuk0~D%;M`2NoJ1NWXn}N`0>I6wLwZUq}{L+CJ;J6 z!RR`HrF@iTJ&VwbL@}_|8v9<4a$~vgTVl2G+zj(HKt%a$eZF|@DjYV>?^z%%0m(>u zlahYjS{8^)CHmXAr)1g+6c47oN$nt@=FT49QG6R+!McTlhJn1PXXw6&ld2~Bt22Ak z-w7>$mpg0r8ZXz!3MdQ>4auUUR(q4B`_qJkL>GY5=znPwwd^UWH1XbXzJAE<&L;9T z!H#bm#Wn}dB#@eRa^FQ|A@YS0Wh zI6PD)3IY{CzB)5V`Dyd=qoZY0i*^JwH2vfHzP&H{1q0fR?q0abr&iwEVuqw7Cf;p6 z`@39`hpIBYjI+qf$@wXo>LrHSI1@9oF<8>nAG*B`3fp({jov8&&a!pbI`fRYlFIAD zIr!8&&_R1Cu}4DrY0fGkP?cwnuq}4Y`vF zyWskvsw)(PGLtSV=_e?TDm6;tw6BR}Z_mua@+~(!n%vob{^%kY7jotP=k*T!!)Uwv zZFTG7ak|-#xavm?)Vn+Gz_ES!okFFl-6fJ|{&=6YU_YD>@SlQQB^ zWD4s1c!4&ft*tHjca#bgUms1V^Qul;z_J3*EJk(ICc7Z>4uWbjf?0gHIFE_m%IsB8 zPt;etvLEys!R47h4YQj)NQ6ApFh7JVKwrCEyYA3hSRef9x<|nisVICdQHT9uFiZM{ z&y}0-*#g=Q69y!uZ9LE0)G~e4Q!$AcP84JGnC*+{ZNS(u9cwO{-2t z2b;Nf+no+dky1{qZw)UF&0D2s%Im#RFU6y36Pdh)o@LkJ{h?a8ZQ*siRs<7+l#?iK(A)U!A71NmAnKz#_1s@KIvPCer0(rTvq z6S%R7qj?%Hyw2?6S+rVnm9t*U%bS3;gN%|)!m6FYfc^gcd#kzn$p^3NG|hWTcua5y zcvz!;;%WSC;S_2jX|Y{X^I?W1Nv@1P=2Lk`&s`pwCF0Xw)N})%buM`K?%l_aA3wkt z1keA()`RFg#o{yTzLu)vGHH_X(luJx`@-&Q-_SbV;*Lu2ZfQ}pr@n5{)dQizP5B$J zGisf2Ivsq(p)KZIc9N%QN7b7akF#KQe3WUHo?2RrU94=G_4$zx+&j?(ifTc@lPKWK z1cx77?h*UOdYkk15+*J`NW}mlS``rr}uq19?;96tzB96$sabb-MyLhv|rq>FNDHRCC}u0M44v z);ed8*L=^fu1)~UR|5Z5j$bJgU7YMhz~Pj@4eM$Z&;`)TJ=sn=zB9ZSkzR4hT0|Y zTSwB*m`W9?(YOIz-N>d}Yd7zG`nQ*NUadL?7YE09EMF@{$TL0`8p)+Z711u{?q0)l zE;#<$wt^FQ1Z2)@i**OyJlgWl&Rm_UvhB}`5ti+ML%j}rdA(}P6yx4_=};oPdsw|{ zz3W^wgk%T&wXne|lg za8c#6Hx9htE3Y0@(UmX92Ua@8$iaTvw0wy68T>l%vi1(bvkRKwgt3iMzDc^4os;9Z zk!@|a?xZ<~z#P-}5g&ZWsW+Hf4P_^^@7KRuQ%e(^cWG3+#x5a}Dl-C$TUTLk--Up~ zU0#0Gb$Q4;V;A6ZIy&U@efCY2&1|_=UR+{gSB7Xnd6&GDhljw8vYF)x6J38t*O&2^@ZRa7gyQHeCe)d=9|P>V7K@J48uOPvP=pM@CU` zd{@uBIzU*e0WVAMuESvFh+V=?O8};)zmZKWy&~S3$85n{-t@iJZ!)pvT1j6(i6G#* z6Fh3PDB{`p2=V8xlYme->etHmJ>27XPX%~L>SiZ#rW@9s1b#njciNqbDlTqD?VF?a zSf~B`ImMB1Ok!)SU}LV~rRsONOpPKv;VqBj&Gs*hs_Wpng11#CTH~5a%gY-RB~Q|Q zE*LTKslREJnIhxN)%Bk5TC!~;Eucr9{!FNlE-ViUEu^7-{P~~cqTfXxyaRe{ETBEdXb+&fQ=(NFVx51K>+|$ZYeKe&0 zTgy1#z{mt_{25jH+9{uvXEwxuD3kIO@I#|z&IRF(~Y)VSLuDpZ8b9|92ju_z! z2D(_8y4pELJmS&s{%wm_;~3c|4*BpX#}gHSph^SxRtB}aJ7vB8&>y6UEZDMZ5C6^SKD{QD%K^(;F}!cix zSkDs&%H>)yi83tXUmb}nW++-kw;7>?Pzm7?Z3mWHNWM0DETDGJg9@X;Utx{q5Wq2W zSAEuv^(PlSAuI=RB=uYvYu&q>#0$o*s1o2CmU~p)Qy0T*_F% z+ZPUhUV{)s&0{t3N=7EE-)y>}$RLVZs8+0a_GN~nvUj7dUq_M(QTt>;Hj4AsSQMk` z_x-WAw(gDi*3*?HpuV2UmzT;LdGkL073TBj&ox2lux&UdsdL>MGrcc%)siaU9NsU2NCD=$K=%X4I%jyW zNM8ivvNHu;JZ(>Zb#Ui%4jb3;MUgxw;o`tiqdIhLU8MT^2fI5V%2c^{YyNq{-xuzo zCR3W`hYz}njOH>WBz^kSQty5!=*zBGKS6J>Wn0%Ri1ZXn{-Hg>b=%=zpPtkl4ZT7B zBzs+Jhi>L;SA>I|ItY@iBEbaJ)eeXVAYvJh!l6^Ww`~Cl*6o>^SQ&i5X2*Wvx3pN> zcsHn#4SS7nX_X&n$Apj$?%!rsRxF2W{q&rigRyA|3BQ0@!lI%I{&GZCWKTiuav6Bm zn)p)0`6-CeGQ;nOY#PYPiP(hi_Gl$P%ra`uB~zlro=_vIL)*^adsSk2s`moK+qHSb zO%>0iF~GOPsFrg*kq=)?EF_U;|8T${R1okaaN`~WLm(4Iq<|1j z>Uq@Tx;p_XwlssXz=e86m9(4Ohq}#?K6xK%5mP( z2J^P+CsZXR?42#H(%V;VzoSQY?|pXOo{%X!T>xiE+TOOZK9J0GTyCD_d;Bs5)l&{atY96)SMDW0!RX! z0**cI-w4A*0-@g#3qiMZSE2)+SNGu_iwqv`U6?(cv)S~or-s6W|#Ly5rfh+ z_8Zx_G>>rARAh0S!lP&AeLENJ`c}4l+ATHifu5e$E1^IkY+)E%V=V8OMEh7y^yjbnADeoUxhIkG>dY$lcAphsM*s zP~%y;bx(7^SULnX(6CK!`6YZ)QbOVk-I~4ONF^O&?@i9{@Dvzx0qpmcS=ag7AMm$H zTQDvm76~a!-e~v1N)IUSko1sQAEn~H>-oV7>8zRrh~0q%@}ef93&D6dD*7l3OG`%7 zp4*&0h-+6PV`Hsi1C+3^Fu<^v8nmE-C(Z$Z;J#hb2~WX<&rPJZ=#Lh{CZNT6xp=2- z7;(=-aEUbIkIV#uz8N?k`>5!&7@fL=i%V9FHxi1tAG~vLbVT#vOa1g|@j>K1>Gpez z8S&~(;-JTMLG#_%DCTR}kYp-#o9L!UG0TS(3e=Bu%$k+^@%_@=S08>?NQKKc8q};k zhO%}l_o#7@4OG<3oO8(A;|096fhN{Aez|L_|>ie7rf&2|JgfKEem%krgA1|VLKqqH# zakRmr-jOd4#wI&`w#ISIqwpE&^jcjBV5id`T>@aeR@Uf? zxRFbI-cFDEh=~c_`U|h7rY1p-j@tdtCs|J{?n;0i)ka%t9D_i`e&m7X5rC4a*Z)bs zZ1V8jZ2S7+4e(M+G4WOoNeKd*=l7|pqiepQ6JgyI5~FfPT>l8HwpphotL_Qi|gGQH%q#6+18yuM&HvCxY}Ds&q_ z4?zDB*j;n@J~)&VYDCnP&%OojTdUq~~8=AyFx*VEX+nJiz|jBX;o6^>c9< z+i8+tVtMT^hzdBZzY4*lO0wDqP@=EC(NH|7T|W5+l-b-Ca;&%XE5VHD!f3xxr+fg$ z-=(RFiJcP+9HcuN=)^5_()gwmocv-yS-q7`U(ceeYQ zh&3oRa@Ms{5uBI3o$G{i;bFZtKQn7<&jlcLOWVg=`$=!ANiguKIqod@k8xPvBCxB+_c^33rH|y3|0_dte8Zue?_!M z1xQs1fSnq9zhH8-J~-ntZLQ;beSEY%84Jp6>v)V6n~{$osk~ut_z4J+672#cQX@Vn z&@Ax>tx!F$zmjx{X>xjcX=axO0Ki3+mzRG)-QvFXIt8aFG43476vqU-FhIj~X1dEK ze^gT=$p0+O6{dl_RyLG53}Uggn%WmdZP3QdQA}U`+et&u&fagPtD3yFMYNdp?g)0co`YI5FB)s zr9u=0JW#vbyu}xB>Wc>G)#B;YhQfx8V-L`Ua?wzX5~hbxc!B-+Aq0bgh2==_k4x2uzMh`t zF#5FI;kiemWs8)3lZDm(&7fnY#md7VfS2Hy=shyo%^_#Tr*ERJ>#iHIq+~a7rIC|| ztP^&tm+{65b@OzgKLA7HxH-azjDLz#m^5CmTwHj-I=OL3+1_zd?+~lH>lcH{ z+p5Kjqn2{3m8&Rzw*|~fn{!f{#;P!H&n7y-nZUV>ocemXx@nAIP!<6y6{Q(ary$P$ zPTkF(W3f82txDyDbRsEwPhPbdJEZGHDV6As|BQ0`Xn z*!o}=BO@a%YwyE>QF-Ejt_7M^Q{nY~V>Imx+Ak&6Wk$nr@j2l(?Nt*72=ys;qCO z@g%zw(`C@=m}?9&+~dJ9!^NE@04&i7w+%;?VH*aBjg zDgKbz2v0l%>xgVHuBF@HJoo68Igzo5{kyF9FajcyhK3 zE|pO==V0yA6YqFXG}_Ie_|DfKpn04$^mh6oz!rtFLYgxwgkp3Y0Wzi5kyv?R_w<6(9_}#mAX$u-0cePy6Fo?~Xt0jBl!Nyhi zLp{D-VOSl|1X_FGJbyRyib_FD0m_D098@zC6aJow#pZX zhtK&6sh->79X04ml4T(%89fUrKx!Y_q}V#oqz&pMs4M9)3P=X^~2>cqUPisj<^1+$=!lF)9_PE%oJ^5)Ko`2d%_#PYc98w?E%ogMVBdmmgFmra(-;3`PA zWUT+HAW}78ZO>TWph@l)Z}RT=RQkA8#}P61RC5{GHv!dKdiiqa79EE@@czT9rt2us ztmm*8VX&!Q#ITN+Dsfyh>obs(csm!G(vH*qRar^9SzKRGUayN$>`2NTCzA;{F(9#%7mdi} z_KPAR%)K}by}#&mTPij-g=+|LadA%asJN3fb1XRg$?pupqAG%dGQ#DCb!IJ{Ets?V z5-v&WJtnyJsfasB^()|DLr~ep#W%g2Z4f-2ahzh2?;d>8WWPJZ?<6o^I<(^> zp*mOF@Q4Vo3Z#|+)LfRX6dys^tGJvC0$c3o&r6Q_%Bp}evW-1wB@*M3-(4tbTQmT; zIv3szsN(ah!~Tu&qIpSDbQ{@Y{j4_sNrJ`m>2nG^Ae~#v$Knx5bRls*JZF1uGyes#Qb=WI(Kp-tORs#kxw z+MD-Lx^AT1Hk$y~y88=b+QOcyqL8GP)CbP`JNt_f?Va7!%nQIZ+!Z*{zhJg;~>j@Fsh{y0&H_y_`m zQ9X^6FYmL59shy2W z^PNqL?KJaCH;QWq?u*lWl-TcOJZyFf#i7pcXoM+`ER$Zk+GIzO1IHi}@+jvy_ph>^ z<|!>J1A(?>(T)Q!zThPwS>km&U-|036h^OE@`nb<3%3PnRpI=}ZP$NyTTX313y>DP9N~6gs$d z{N)Q#*>WttyX~;ZW3>$BrWY#xi8I%Ns946ld1N|h zyx3$;ch>hlCeBkYSemwNS^@Y#c#FIT1ow$j6P(4x#auX$t%G2dUNqy)}ipX$w|R2Z82wpBYmaKnf0E^NvmaLJ`AK zPVDw?vLUr3sAe4XUEU5#8J2YOuV=z06Kf$04_`XhMfNdao#xEhx>`J+EEwHsdl@;U zvU2f~-YOdXbXB;hNqaxklM#`$KMjLaw#ID3Dp;`qToJMR=m1!1>8j? zdp35O*^VCRs=vmDc;UJseo7~#EBg+8()C_W6d~b`gFiC)DEst&P7viT5)5dAdavW% zb9d@yVZcrjGkv!~7A70Y>Kfv&$1zXasP;kx`X1=iENsGtq-ccboIP}6p=MeMW%{2x#wy|Ada}ayMbs?!e#VG(P z0;t1Ziio72ow->*2X{`?mu(Zti2<*zH=|wvB-uU^Be)-$+SLD*>WHT5fkX4ESCcG% zb$7!6S8}v99s}52(Bf4lGSe#3YY@mSy#eu`Be@rM4yOfZlR3!ByKu#9IR?IaW2!-0 zlwI%w3eX!W&{HeOz#k7xMlQ=QD9Fs zpuc!mI4y!WSDf=jcw0MU+53L=x$4G;l2aF z6L~K$L7rsXvdQ024c&JAn*&nyBE8;X!#2oS5#oX!AYW-~ydF7EErYWhClB z_nozH&@Gg+uz;K4E#wt7CV{ehxYVRafQCPVu1GiZ`)lPd8HI1~LbCcc#c_YY7mD7h z;-F6N9FzXJC#9Pja{r|=-V6GBcNxO{l`9B!eUcas?}}0NWqe%n(0{z$Ue4V2ScP@j zRs3;h8=EL6nGA!F0_>P8uHM^uwaE9H8C1Z9gT?*GUR$oHvk80)WkxfKJt((;#^=lr zG~9uZWVXAzTeI}tU6HH(02k;iygx#UBdPngnd+;AZFhA#U(w|Q;*jIP9~o$par1lc>Rp37>p(Q&4T3ps(8V?^H`hFabQ~nHo)mABPBlcO-!~ z3vI3DJqs+j?y*&b_>aGo&2y`Obu%)040^p(pl>FfdP*1(9sM12I)1jdb8ADS?QvOG zud5st6p2INgmA|@CQNs4EYMp0F3#7|H|Cp~6y4RwD}+TvXkxp*0V0th{I(l@al9p} zyiSzdF}0O$@UAXd=3c}T37Xc#12KiKBrsJcE*#5_f**+9O+&PGuP`biG|=374qBSZ zQ9Ym)S!FW=U^KE=01WAc^#DOAh)mIdZo$B#T$gzxFaL~%g(Y|4y)NK5KxMkW6u}OZ zSio731Po}7CZEpxrUSnC5KzbV3(Y9tKOw-<{05}HYrcA(BcJZAE~^-w{~Vm2YB%6`Ab2; z`aU#MAn(fAae4Vt1R zsinY{(Ixt_7#363<+qt~_^a+&#?nQM_#H`QWwmy0jnHtIKV0>d zvvnZ^Z=LH!@wsco%wYjwr~3zLvZQ0agLsPs3kk^#N}$2mYR-j>%R6v#z&D_2;O7|x zSU+P|01}+$(dogL92vNTXP0jQoe3pMjSju^&vOH0Wg>G?{m|hl2;xZA6Qp+|0G>hZ zkqAoG3-lp?^W}_;VEvavA1zep=5B!SjMMZtS^vCrgu^+TNQ7#3jCy+cKcB3PcL2iXLumd{S8@QY|S{Uyf6s?5%dtiZe1Wb=bIOtP`n)go6Qy5%YzK zum_qfeR`vKqoQIuEG2`3M9DqMPJM6c_57;WUkjfv=wBUHXjFvca-Sa0%-aPeCMKfz zo@^!6ZKJK+Y;QVw)ap$JDCibG5}=C*!x#O3w012Ie_X{@%sAys1=PDo0C!lv2}Bv>%F;dU}+;dayb-;1HDZ^6*dFiK;D(02C^%)0(d4-MH(gIQ?n{S`wpcsgH-^nq@IbvNUu@J zNcEzaD)Fza6Z((V74D$;0y7ZH=@h&d-z?iZ+wb4E_vxGI0PZf}LJ11D{vIFl$ZAM(rBLD@B2XypcYYjI7w(YbEn#gNQ4X|HaS{4D! z0uUfX>KY{4<*E=GhK`%?#+$G+$eo-n=4a<>^0-0mjHF-f zaO*T5x-J|bIYtc$OA5$Xys?QNg*CPBZ^zva%mF9n`+2M70~w&jjRf5|UDBO-^}z#zBBIdNUTo;=N7V zd*6cnBZQ++3bKoFFDNJ|4Z+UD^q8KWew`xuRX4{3q*z^3ldpiSA#zoQF|EU3WyK`r z*UP@aC(`65ee)ekx)8pPr!Xd@*nV#=70d+9d7tX`&olvcX9bAL@&;3yTHw|YO=Y6~ zwVKj?cjs~w1{4EYHlHboH3#aXdNTb0QgF|Aw>RlMm`S+V7>3@Qpi@9xdd54I^IzOw zVW4ZZp^H3p-ljCh&VjLsv$FqH3nXs14|UF1$CZd*9nQQe?!QU$N4iLrtv+xT0EeOE zj|!R2wpVT6(%!72V*fLa7m7h@hrAFlBIWH*hTFSnr#8JbtJ_kvi?Us$T9m=UO`eZO z)Xtl+6-~xx$D`!b{=lxNbrOZF9R;o|t*LPTtBKd1=LejGlSSrNuU}(f1hnLwI%k+z zD@M0JKf&1E`K(OU=dDo{l?;dX9S$I(C zrl{Vn-C7^`@g%G_RY*!PRZw!w5AEu*%=Zw`-yn^^W{+S)1SZxTWMp8B5vcZ_=+?PB z zJe^X`t{IYf1w3EtuQM@6bdT^rSW@6PVi*_hg>sL^1702I{9?Kk+`8?okVLf8r)tN$ z%5!&c231dtuGW(Ls+C-1iW&W`Do3U~?8( zEI6#Kkcq1*tu>!l*&tFHSi_?j=0+})r5aisH_$reB)v@_#+5IovD~z&=2A3HK)zLd z+iH$tT>viF6+vOVD_!;Z^JiHah(%YgE^-D-^M50F9 zQKk&gOAB~_P}e{wieZ`jFK_w6??fgF^GzoK?Mm}Zc@nWu45-ttPDLvBKZ1<5I>(<_ zsJlaN_4M>s_Ir-Ij7rdnu2%2|#J>yQd26FGR`I}UQpSB;r+9_VMAxw;KKYAtFS@oV zVPyWxskGI&PyLR)Bj0~plv#6-Z}N$S)~ZhLSp$I=&?Qg(!2lv1ZIk`45Z|w0c(w7N zKP6+Pi^gg*_lW)Nrze$WSVTR0_H1Iu#oD34fsayHJQxFBN$hi<4-Dfy``_f%^~aDl zXZi$#TCX$;1&+Np@;`>k-iC_gUk&G!Oj=F-@c;vo{JKgR@`V|kAvs{as>)!CBAl7; zt^R4x?sa!+@-4#nhyq5+0K)iDMZwJq{$gXpyKs{wIQ$)cXrW@NGRCbD>kxZTn3(h> z5v+0K+wX7r0T1LjWU2ASQ(yI{2=}+->5wVTL+8`G|$$#I!9wLL9xnoz-Xn z>eQ6(e*AS05+g2)Sg_z05Le7&;n^d@*KvSi#=j&+-rZ`YJH(KV(Z@Alifk?SB>Q&H_B4NCOO>>g~}q?x# zoQp1&abZJ+Y1#WU8+CWC9u6i-H#b?gFP5(ms+SNjH3|AN?f)O%L_Wc$1Q>Nt$XJ)= zqWv>_ha9gAB_H5v#gcNKR<9Hm5=t#D=D4Y`&vF^P19Zb5Kd0m)H=z{tKcs-1puie@ z4N@}9Md$-^6mhVeAzbX;yKg*NBcFf}h8*_}vVA`i4`X=BW%>Q~Xwv)l{gC5{|4b}P zJp~ygkYMRC;r;u{d9)J}$6$1pgY4ez*cD9g8QoI@E^;t4iZ%F@D$7E}`cnHOG>_9KaJS~C2nFwi_(Erwknl-+KY(NSK zXs=#bql$@(165f2yXRfvY{)Z!f)P0y{ER;lz`t|d`(ir9;4LyT3ScZnio6sFgv7W| z|5>nn3IIMVERkT@;Il%bqXA1JvrrX=JUtUrcy%=&NJ(I580eQ^!(BV^!1m9e&@O2R@C!Gq%(O{VOQ zZ;+}0ga|~RK79f+cJ~PhAGhcuZGb#X{A`@665EG@BgQ0O1#BB%$cCc5rR}2Y!39;fJgQrr+{A*6|xd8LI--v(? z1VQ4V#=lShlw@FfPFRojzwbf#+5W4ps_6gBrIYU@u(r_O4Z1I*fR2=Xrpd+VQb(0H z3gAc^h;U$je|l%i>UQ0au{;{6L3GzE>I8EHT;wKCGjJl|a8Z0+omgvfe>faqb?8^c zI=#!Pw}2D4i;uq+t0>Y=L|v%MDv|Z+q6m2xC1ztU_JWG&oF|j4962|Kb7GDlB=RAn z7Aqi(rU-i{y#T{nIy!QIIwpybWcnu$I5$(hLsm>+{s6pe2S{X4AA(~>O-bdIAdNDD%q&)e;PVo)uZ zdjgL^1Xod0d+HZLCj~~*8$=3wymfQGjW(If{cC!2K^27c)VG_rRZkC?$)nm9_si=) zk?`JHCaT}4#LWW+zSUvJV(`NZvA(48X8D~mPkrB`@L~d7`OSZpAs;c~n~e7ZF@}E^ z5+Su{#|Lr>EI(ha?w?J;1-SX=U}5xe3sP$1#QFsnGgSnwUq}A&?IgAz2p-{o55_P9 zxB-kXBfml7--GX~=fwd;`H(Qrk6WtePY0i=?%ksqv|f4%-PnIkKTLl--!VvbTn=6| zzWvG#AEdV2iFPw+)FL}Kmmz~a@%CFP?qQ$_r1qH=TGY+%CjM+F(O#_%d3t;Iu0PIC zeHT?G0`UhKr=hTD?p3o!&Sg(-sn_@-)Tp6G&b0CFdLccszt8V232F~y3C`EVQJK680a5#1EGAL zwIm3j$e;#P@kh_fC#^sRR@K&q>q5dLl2Hv8DoT>>fLR1G0|!>tkI6af>}4B_MYaL$tt#&K36?F=SIyK@{lwdAYDv zUf7Bw-^c;lacS&&CSL@|wMC&&Sy|c5d==7PL9dZ9U@7MD^XH#ICbup%hwOG+zI*o+ z*^#N5^I%2}Ky<}=UJ;~wmHX9o3NOiAg659fUc)J}fdghoN7el)4sNR8hx_XPcUcUh zqrT1pR6y`sQHTg%fS%5wXVDgYMVdj?nG-=RdtLQcC-Qhccq~Ve<_O46bnUh$IClhS zH$kWX!o~NoLO@E8itcN#OEx2Jro|Gk?d{IK%HD(wZJDw28y!I5078c?p@}UAS@p@3 zWet#5gn<^%M2Rs}eLD&MO1MWL6%PvC0E39k>iG*mjs6srQ^-kdQ*kKO7oyaqEyXmt zMtAZb)`dS!%V2P(zkmNChr^IUPcZNg2+F-leUlmDKbw6UVk4y{Z$NSa?t1)#cB|>J z8%6+1)?jG6(O@BVce_U_a^~LOnRA>5Z2eQz^ZeJ>RW{`oqq4w7ZxVY~nL--FqoO3i zx1GdVwwrUo;1*FK0gakXN8qrZ?XBLiyEh1++YbU`E{;HwVF!ASLqOl2ZUU6{(78@7 zV&F&4JgBmdl3I1*o=8O+G=D$=Y%@}>2lm+62AF-G+|&hJDj3!V^NT$X>Ln*2_HOY*tLf`3EW9l=={{C|9NH;yYOt7n?d$zIH-iR2A%mRe|B^r zg(aXN$?vkQ8JmmF94_YI;Ly<5yCDx2L#qZwKy{wzk2+s#po4F30s9GTk?}(8*Wx-f zAiIX*$cQ7@WUnOYR+8a8%a= zNPqEg;FPI^TUS%5(Ia8g4zA}kCH*#Vs|yngRE2kzjcAu(P4 zz70vP17ZNAEnu#3fq{*qFY&1;|BtYdZU)S$O(~g^qUvm@n{{bj5 z0Yw6zo|!(J1;JAa3XtpZx&X@k+qZ9jAI&H`Sl1Gfk`4f)eFHe#BQvz1$*J=0{Gyf` zRsS<=yXcN_JNx>)ORu7p;nd9vd3UfV<34%!e!DFTJRu+z+if65gY;3ov}uV2QfeG9 z3`~05)&nmMt{|o@@JEpgI(tw65szFSyo?fE;jRm z29>Z*lcQL{1S)ubUjiB8@?=60?4{Apgp@$x2anKi@x|+RE5AosTadf@wuBX9Dl#Jl zv>u=UmbYGofqbq890HgNU$fqtKMbCd4(;9$ZhPjcnU96(hhm&O$eWMOl) zhaiDsD0IDB%}qg)F96P};M>41EdvZ2;C?N-z5z@P@YXG+OQ@NdalvDykq+aN3ML2~ zbDBnjSNZKZEa<5NYM;GNj#s+3uMG_rSkHjL0_;M-r2-OU`{%jRPHoxwtt zkM{BNBYb=)tw(ov_W_7caR37W@JhEAWP1;2*+6=bU!Y;V1#TbEU^fL06JVt@<30bo zb1J4%wU{uUTx~W_n}j=2X7;vPz1ixeg{j-GlEq#g1oELNKDmP{&4XFrQaTyV}Pfe>;(A-md5p`U~Shlw^D(pGKdY`DtoIaPtA(YnXuAy zCioT=eURXKZ}W)me&{olO$|@cShZjR90ounXbl7vPPHzr9sxK@*7H$t`+*m0QLX(K z>~1MsW>2l=YI4E5pPQ0Tn)I>ggVk0xU6m(|eOqt6-d_V>UEjFO)i6yvIY8^4puH*r zYtE{JX!&#`xt}JW*3F;yYwFp>%bALjBhKH7+-|y5picvhFx5EU#c?-N)7EE6g4$7& zHrkT!Jdc{Bg*FBWL^V`M-9qnQo$3|dn{!Ly>$@EAf+GsBkRzcY->SLHKqC(6vInq; zLy)%Mo_Qfc03LU8={%7j9}70BKBQR$_;ml7t=P>PC);)5@`8^96Iqh}cRni-(|o5k zb#R8uyLj;`-N9qOQ{>~-{j~r>`aofxdzQN-MO8{+q6_H<5 z#EBwAAGr$;Vz-Frk$j)hGiSxyA-NTywIQR?9GQL*;^-ny_;k?%hg0&DhP(IDwlkwS z+l51|Vz0ub%(f{ywM+Q+i=7E)eDggyhni)Vpq6WJdaCOvK~p{-*u3^eWYv=8P!uf&)rQn1CudmqW8yV*!nFJKk`+)2;dT zIbhME50nPiLP;QDj7)smv|a`QRr7swlO}Lhz5u(O5dgk`CX|I5G&HTw7cVc+4#XGK zt4(l0EA%|CvHr6PW=_}s+k%SCw}+KxzGxrElq^N$mkP7Z=C4S}@Lq=fko@fF(Yvv+ z!C^L@C$X102Ra5{l$7{EzBdt}s6up#tdT5!Q?&0d+kj5Ip6B61;AyJkk&Oq-G_BC= zww?o-z3d9c$6N-%;q}t`rE!zOKrE*Dzu7a{(`qm!=K~s}sI8&dOkIc-W8Om$lyJLA zYC{<1xeeu$af%uSj%`D++OtMVhH=9f;2_ZZRR;^DD~qc z_QH8Aj^N=RoofMEgc@9S1dCs2uuvlPYqqoSTq{Z z>fSg`E&3ZDN>be@ylT-l`Zz9V$gm@&_}fcLEZ;Xal!)?-o^6{2{&8Xs8;Z5-rqSG# z7B4Lgehcm_CY3Gz*ofJB!o$-`Q(|34G*>TaoD{xvyMU(HU7?Rm4})hQ-l*XZ7}4W` znDl4!tTX$$f{9Fqe90?Q)YW`+jlm084LQk9rk0|fh z7=u%0xLqhTer6dPXz~DquYYT zbd-b;8s5{+9Gpw*`t&hEK_A00pH|-+Q>a(IZ+7}g%(kYnzoq%-tnv7F!79!+G0lrI zLjo-lK_6gAIGD>jUY`7%au)Hixw$=>P$4*-&VDqetfAE)4SbeDa$Qomu0=|se{8VX3 zj@T-`;92H)tU%?IF&A@XGnIEYU$fIjF5s90I`3dDK-hr_u$5$r1>)V|VDG04oZpH##iJArip2cL}?{)w6nz57C9arZsOnSm^n|%Tw9Z zq|gV+KbYzE>t1i|ijy`><>HNpI2ui61UJs^kVqzDMYGpthwehby4!udVX_|>^)p4_ zCu^2vKTRs913LNa;I^3|iJ%p~mV+TN-zht-BYzufliYG;;VqkSTdy|4P$5$c)}CFA zd~Axy$jV*?gipv&n9I>EGrd z{3KC^2UL3jjBU;@Kl+UyRTJZUEt?+0W?*=-QkkPf&&()ZFcDziTD5mq58{SM z*M!Km#W#@OHUca!+%K0_Z(q0{yZ~oqbrop0{>V=dR756fkN|)ixaj>#-MlsO@8&GI zdA@4+82HTf$4(pmF6-L+{!*YzamOoI^KRL$7jcuBButr0OYTR>P=6Nya<(tHmKtYu<;4XsKD1Az~teC2y_%2u)jS z4((;G))ouJ1u+{ApR{&UE_RG#ZRHgx>i^@VuG#hw8LcoLOc7zr`iT(jU)*xxJZ|** zyXE}6EK6$2@ZuM{(UK+)b1S(|0m019%i%q!`b?$!gRQNt1>s}<*19|n+woT|VMX@R zXekZ5M7kME$?Gz(kk_{d*Mbi;2P)Tpu03XW1n0|;&UBQ|3(W<6%r<@FKx zUpEQd)9d5;Etm}Z6bwLCHiqYWDko%#a}4Fj7PkrYs0c?`6#JZ02kF3HZ`Hc;tlpW* zGDH;j)FrvYk__5kivfdtJUJ?#Yy132^1+&a>HXZN8(Dq%7bmY3Bia4jM2q{Pj7y*( z3i<$tTt;-q8GbAab%CV`#DqFXtU5`d%tdJb$@olOx$l+Q7@q-~kL1TX+1wl%3-<`h zi>p2SOdIK>OTzi&>2;tWt~WCQhAu~4@%eLLYF@rbbk${ns!1~ za46>jzTXI!=+*`ZowIYE$52irQtxLXMRGADG7WidVQo2hfK2fqEw8{<@&Foe?Xu)n zFkn29FYkGK3Vr=r*^*vY4;ly&$iHKS4Dk*l; zUT$oJk0)+)G-ZEooeJ))HYG+p@#8kiBH|k-Er(5)5cv|W25q~U&9JV|l8zLFC${6< zmtLtUm8oi!O_|pHJX60}rpk6ajY%i%hydp$Ohe{VnKvVBYwivkx7L+>ripF}|Hgy;0aL~oW&$)tcRQ*x4Kd-iE+z#PGHi-T5;km&BduO@omE)1n$x z^WD`MbaU)UAMr}usPwpfy3}76_t)tW{Cwlr;3N0El>VjDd>BQilXV|91+ie=lKcJi zKoHT8Uh}YqH@I63i4aDq?D>v)jPI7*HzLXBjoj}a?5ZE481|{cIO};xSBWXedn>;! z%FyD;^#Cb&&(r|cu5_$gIeeMl)GFxlhc|!RFywl6T`K4#gxW_9LlJU`Hd4NtE|gdq zev?9hLqcM7;nSrwr1kHVe-4rqA$&=!5j1FwRmQj5t zqWghfrTHD97$J- zI(4Lq@X+3dVt5SA%KPRxlOf}Ki`F$x%B75tBJ_@A>n;6Z?5XYMw0#82%+{04)cTmq@C4rXI5>KfuJ}FI0Amu&^>oNEW%75Soi~vvO!@uwGD*zN7 zfx5(O?8n1~Ai<)dF%6`AlM7-W$k-w{v9p_vzXr$QKH!B_2VpMIhy&3;(1afVTqA#l z0>hp#A||c62yhHRey2nvX%A3PwgBdfoxRpt7qNoSEf>*t-})s4(upsoezSnhq22yzSEldO*iq@srT>SzrP25_@t?;ymh_4qz3{@056DcAI1HzEC!Sv z*F$@GDzlesDxuIKhSDl0r+)_6cTLi_ynJ^edMZ;swM{Mvg=h-lnHn=fWKtIB)s}NL zp%lXIe<2<&R%a-#!?5`?0vbto+<&{G7>6qr&F^z8 zs#g!N@vPumST2W7zi6=VmWxzlW0Jcxv!6sLR-C=V`%t&apq6KSTJ>@FZ-l+)>fX<1 z1mYhUVJF9{AvpB3@SS?MqgH7D8KD=%U;#xSkj$WOTweD*xy46<2hUzuo=V@|wPS^a zzUCOFyKHHY5)X5@xZ0y@M4Vc-p)RLEM3y~FKk;)^g~^TZ`tK4SMl{$OrEMfL5KfRpX2jvNibpHx+QfmN@z7=_RKh7ZVJg^p&AoSSvh(U;HBtl5Y+fryQX zN45-_UvpDPNDR_#JZFTI{Qwyg{A)byolQkz;{dXrGhdpiiL{#69?a)e7q*e=p^kN5 z>hZ5lpV=L$za&bMcf@B-==Kc_S8q0}hI+R^)tJrx2xVLGmS*-53}fZtruJ>~@?^s9 z>*QN1HPc7Al_xfi-BcAFvbrja(`V}TXutSPrZ2!7BEFs&3{32(*E>Gg_Y1TiHVKhF zxWRpAFZopNQ%W}4yXXXTHhBCmEAzDEk7XnVPn#aZ#OpnhAS@JlvVfXL>pQ!frj#Rz zjg``0-oROvA?Q#ygVaeMoa~ghefjjM9ZAX~ASCSaL&Kbbc<>_KjrSlg{Fa&dAK0=A zK>P&>2n8G51mJ6o#w94PDCCR)KSVr$&SbhQNdp#@nvN3@Ql|k`ygJkKC^G&|AcdjM zw0a3jMv-+GR3g!Fz=jX!hXH_BJO~Geh2Ne;6{7l_yE|B@}T0}T0^AaJ*=bm&wULv)9(){l4 z-?jhFiSIx;R;L3Bbi3>|vxi_CA=*ewb^`frAOcrQLwGyFLPJ;lFe#{jiy4H&fMrow z_;axqX?R`Mj!o>9&GL;7;Vsx!KobHaXVDiv_Om=AcN!C3D1O1e)^R4jM)eVQAn_ zz3V7ExZx~c&;obtM{jVL5P0)ZTuis;G8H!Z(^qQsrpFmoiiYJW({t#}Qa_Ex#f?DL zISwKt{5UoQ@prJFoRICals6v1zNbiBcJn+PetX%1CtJ@l-X6x0XHRw%J8gv~BL-Vn z@C57dhyA6Zupu3t7fv38-cKpS%KH z8dB-Qvo_q$@1Vk?6XE%v`UelbaoXbrj8mB+1j*3L9Zm_@n{(vP}B^ziW!%NZU`Jgu5NCtJtrwIAnGa_vVP z&aZ};y<%3D0<}_Eu)6hWUD}G%ts=%o-6-?^;`Dy!@=VjzC`HXouV=wx*B|NelG^+j ztxUL)0a5X}XCTZ9>wnZZJJOUTN))Z}x%@Lkn%%V0?LGHm^Z#shjHh}mt5*ov-5IaR zNJf8&Mm6a!1Zy9U_Z?_ooDA6+a*-nWNocyH;b%fcnhS|#pvfrUe1bC#TLyAP5t&D8 zP0b`{ZjH0qBfQ}E>F6rxhKpU?fEMrtuqoT_ZxP4{;hd4J${8wfJ=YX({~;REOz${p zJtSMKOu*XOD!cRulcwOy91G+M^Sb9ELqra zK-KL4j60;b4w9!izyI)CLP7Hf$@+<>l{Wy#M5GRq<<$bZUM*MK#ZH=LrK1C}>A(>P zQtKdv3KBp?FI;DQ3eYf}aa^QNO<@jkE`L zX^2ge;B20_E31soPV~_;vN~))cRHMW_N`~N7aB?*8Nn|>9m&FbO{Oaya-ZOJ=}=YVUxAM7rHq}9mjpA zbZ(f`SIyUTT?&M3N7v@|8#^w5TvP7y(9bK#!TF&NRIT-%yISH%KElG)baXskT=X)4 z$P%T&J-vSfEl!D~z>IFXTI*?St2C)}L~|iwEZM7K)c`E*_x3{1vj3R0|4^G*H_K@a zt$nZKj@Xc)hu(~NUT?s5nA zI7s{*Yf4UrD;R(VpPW`}BAKC@#IVMuAgoF@{RA^r;BDZIPO-)+FW+<^RVywR6g=gB#n$8MD0)@c6IY{~`aG2NLj zq&#-z?rMMd4J9GH4!1F3mV)^MeMiiY=6C|MJUjtPbsy&^oYwoxZMou(j8{<_A;&Q! zu4Tmg7*v;+I6gDQs2$a^Znh0=w}J5sUVNMsFF%;?t8(0Wo!^oxF?#X^2&Da4R8m3c ziT+nGGM>Ujfg=L+bLW^&f0Q9?JGimxn+;5W9oByRQQPgA);n3lu`EfI@TqMa&BVk+ zH(D|q9N;!3{D%JlIMWH~6xOpm_Q%SKUfi{^O{tXJSg9qtx1qqev-}Eem-h;XG#e8w zZAW0$-^djAM`)_%_xK9FH~PCxSihPA%473_!vY^XDpkNbi_y0!qVQ)y)o!GX(6vVM ziN%o=ZE2GN%Hi{>WQEhA%xc3^!VlAcFh+1 zX^e5Jxm5FAdG3)_hiV;ntYVGHJAeH za(7_p1XB4Z@1ORTH3#p0PsVt3C?mAe`kx%eFR|&~e-}%^T9vBJoIojh#a61xAN>60 zOv_XjzEjp51%fUypshwoNci5-kqZDR)O6hf;aMJ0Agg!)&b0cK>gqM$o&eEzVi!ns zAUVUNQS}|zjX{&O>tLnpc1a1i;_Lu`Zlc;$5ma6pRYuakCcbG)0W1MO*k=KC2u$wy zriQs2C(ANM%WW1IIKm&H48ktYAXyW$!F*Sz6bg40*@o9`>$`Vd8Nz7+Bi}x#`nvLw(anSZ z`qJu~yAHqvjm-E!BvuRE&6wr{tW|(D3~jBPVh5qQSBl)`fLx6vA^=p#=jJpdFa$K# zZ0D`&$3S7bXWqszlB#w4MY?an{YX&I>%pMlrB3?CE`Fohd;Js4=x9?<+@BqO7~27r z?t7B!e?#Y!ne}Igq~DPSnst!Us};mVJde=WT`yq=%0C_$QZP^#^znscV*eZMWQeWNk=s zIEdThg^lVV&KtL(Pww68)fShY(;lN@O{<@IOf;nTcssf44^SjdWP8$TWBZ`{8^2BQ zRxe9NsxY3T)R|N+aQYmI)d|%mS{8>+QtbOxaAQQ|=oKZFL`GLnJ6R(IQBfam4OIjU zEvLyhe1jvGO3yoYXE?u}?HImI)#_Lz(S{a=X}jz8Z!YY5maj{5HpQ+cQ;7-ae@2%! z(>!WJD3`Q52raY`1HK*%8HQtO7H*yvJPmOF{khm@KT|V=1xH3vo4rLCc^abrvOoOE zA1o}`qPK>vUCj9CM%W>=GOpJ1p^d=ftN^Vn1B*HY!MbKYP0(L%+H4&X#l|{^WH^gG zW6SKz6j5g;!(#P~YY+A*X|~vSyE~`nw+FP0Nj7xB%I-L)q$9OZ95uy%i9$TyRP6j( zvki8L%k$Ia!ItW_nD5?7Znmy3e)t`%w?=pvy)6{c`^%*3Jvr;EkKE_e(mSRt;Vw6o zSgnv-k73)>P2Ef4HO$_aYA2eP=k8u{O|%4PuTQe1Y>rt>(fp+y`WGzTSpAXPxcE@9 zD0Tu@7jk-JHVtX1wyQ>*xcHGN(YSrUAHU&#P*^rZ8awIp>&~MR>Jv@I|6}+IE5rTt z5fkw0fx^oN=oJ5LjlpeiUcW~FIVJ_Z1E}N0RS)gG1_uXexVX5MS?$5f zH=D@Ejg3{Q=PqTuV`#tATxw`T;UTQrx^ZcXzwyFN>jD+^oM97t{X@}h$~YANDFYN zffPB0uE!qt+5X}nun%=2!QQ}^x8Hw0V;JrB01HUwbb`*i2j~){oj@W;5%m!PVE3OO z_zBvAka3xV&cMgWDK~uXCvO3c6b=f}~De+!*B+K57^f{Ow9`8_A!N=%a_qUgJwHqHmbVtugMvo4a6z#6A zZ@Ve04ezun&Bid~zK9B0id=&q~C zY2Go+*Oh+NRD3L0XM*-zrY3ng4^>VJ5)_OyzjLI2w4h4_oZF5|ndIgAhGFw&}KclW6qJvpx< zA*qe7LC}L%6?Q|GJc&`YPC*>_im?N6O5AAKl=po)S=>Zz?s;M`-r58cDN96`!B~+lGS>(wy5ru>KX0a<(jH~*6#`4 z(d=DBd?(Y;QU0X;(SjJ_FYYM(jq6(Sj^wp5>|XJVCpSa=!+qx41HS_eH`7aWiix^C zHj=W3RpoD3VHyWn)PHI*@-O)%woL4gxXn)KMZ<^Z9R7F&?|Mo}ZP|(J6%z@ufvpSK z&x?~gOS@wCt~_@sNLXa#aJ6bnouuZ}Xhaqd6k_J8v>r#1`YheEWR(d&ejFo=&6euR z+M80pQ@n4St;T58JoM%KBxJ@S%W-b7&70Me=y@J_>Cr+evR>(7h0$yunRiA!a7l1> zNp)2tsa7p48kx(79%Po@_+|zBh0F`BRJ!mV%BOK!0}Sg2IY+SK;#iOD=A` zZyo7F6ehGiuel5AtgKB1{BE&WG*|rsI zGDfSYvX%E73Z!)r+=F!NRQ;V}Xo7#Vn-VSwGrE}72ERny3!{M_z`13?0#;cYgpm2XJW!0NX$m96>Yb6urGgfZcEfw9aUlnIpm9!%Qi0b8~Whf#nhP zFHrPl5XB3}WJp-|vuDq~sXH*p|SYDE}zhijsL|3uYl{(3` zr0MWRw6Zm>{S+K$HSU#$Df3j$MW!Z0hr@|^EkjIa&Z&QzR;E3AMW3_0b9@ObIm?MJ zC|8pv4V*=V6UQF&T;mI1l%PM>=XcK$M?2-UKk_vi4{G-f^~u+|p{`RnCGWAEo;>G& zHXbReSZw{fYWv~&6=>|iZ7RMkc-Fx`j_-|5czSSP{KI+v_=76@n2ntu6e2bnYSdC0 zbf^{>b9)vqm)Vq7)OkR@Pa=b_#G^&&bY3C^TjQFaOnkD|{4SS-lUAEkPo-0CrK3H& zoG);~YvGmZ2#L7)3XAG!THl-vql60v&X$zizAlfd+x6rW|3Yco=lP>y^+ia+gh9sf zzUuT{WmSz#%5dU|c!{`XghM`Tz!?$0v2A8{%Bij0I=ju?T^`>|Z5lXILgd*~6ak${ zxB0OXlUkyE&J~`YkqzVJ?nTcpi-6*J2o>;R5wrL5c|@~nKr$^Yu+jQhHyTZoj}B6F zv-Itkg5H!YWkqruQ?0!a?W>lhG?8Pq`aR1Way~R{IgP$lJQ1FN?$h`77wUZb75{nB zNNz$)0I28g?dssYf1Ngkb;YK;EVbB2iB8A{XDTOB+m<5w(Wh@RWTMto2kJm~i#A4e zR?*gs0@J13^lojwKXPl}uZOlI6PFrpY+j#eGuUIb+@DHR9cwS63`ANU^V0fw9A(s zJw5<^aeF{TWNF^zux|YKe9xTneGpDASOH*`O&F;6!BPny@UKMyDUbAZBr^fng8_oL z-kIoPE64}5`hQGp6_L&5)PDm{DR50H@X-ibRt67 zJ8aNVRcpCa8DPVZ8kH|G!pG>E*z7Mg8v4MqYujy&I0=;d2p@U78uI&W#WeI1Z->e+x}05oSWFDD z3r8|POW|MzG#LP%OcGZz_GkCF3Sq$ z#YKQ=0-w^~P$2(zjp+RwMxJk6O7=}SFlTh1e%=QK$zLfCi5M9dR& z<6FHi=^0s8vK5(E_NGRw3~!4Q_$+ttH)IFMoCWY2Qw^xjmsxX)vX*Co>9~;p$8TJ) zYXG-6%O+I?Fb%*FY3fr>ec%;>D**<$w5c_;MpBBlirc`z%ZUL!Ajxo>}aZdq20iH^yqghKsfgnxjsN}t{@t8_KD;X9ethqG?;s$(h<`jlXF zqN$rxuTek39)hR-ZEBw&sq(Os>e2ripPexR{(;q|X&g@< zC32qa0>R^UJi-XEsQ&TOW2#{BYKOZCnd_S#V)iBv`WKpvxZVB^DN9!k4FA$^DPqy% zp-&vJ?OG#b^d7QH(4-8D(DZsWn+q5M&!BZVR~w#<;ZzG|2BhjdEp&_BKh;4Z4rl#Y zT1QLvR3eVYuJDQ7R{f5f!IfSL@U87NN_@doSg)ktcl$1T>3mBlcRvU`Yu0qol!5lp z=oO7UnvnC7UhTf$%9z@AZmg$#n6|&lC-@c1Jw9{{H2Rm&60*;!EX7^NCh5O1^`TO7 zP_MjVenG|h7*4GtDU|X)mnb6tnUz9;xdi({Y&^b%;S{`FI6s*MZ6bsn{>kbFO4H6^ zq5tI`H|u}acR8v)OB|K0QpwF~krZ(89V3SYA@6D=e7VWVVia>u9}uqOUjkeJ3v$X1 zkR#kc{Hjv@Ciu}#95OPE3iJ#H-1Svbm?&Uq00E?|6D_{&cF#r#u%1QCfS&3D=UKhS0o550ka` zWOyn~IPu`+gC+q4B~{;3=>osC-?sU}HgwD+c*c-Yjac9#IVOg9Q}$37I+AWSPy4XF z{KL{6@kFWUOqD6)q~@8T%|eUL?0UTToGr|=pGF|gV3^uMutGH1lZv*(MFiKEM@Nb6 zYd#z1pZWjkww^;!}I<=UFBX9eQ`SCJ+>3pKc5L(p`cl@mB5{hE$)he>VzrMa+0etiBR%46Lyg*p##(S5Tk8Bep zYWLmw@eGN>rX&FC3ya+@WByurqboQxEV^LG8lLgPzU%;}z&_gH>U=HXdFGmEwiR93 zM-D7AD_ax+NY>B3D7OuWH52eHtO0B(mbt=2{=UJZ2eP;ICZIQ0s#*-YLI4l33~(^G ztpvVc5XzYco&Lb(+W(cMfhz$iON;EJHQ`fG>Pe$CZvV)v0q?+-t>F0G_dFmU)Q zTTO|Yy)x_9FJx17VlzL!D$7y&^7`2ef=Lrn3;cEcP|J^c@{$|P7|yS%s9u`Ff4|O; zYz|enzu4?AELr-jvk9ed{);0)NJJT$x90ge4&TzyCn_j|6&2$zXrg@`VZlQ# z?WPFR57EG{(>Anb(Pn@4tn9nP(kNLKj|JL*rrU1+NN_?~L=oGuD&Lmy7xw2H6+2WF zyuqGwd1uoi^;qx?ib5~~V<|fwKVO-F;>g53&z+pzCi+<8GxW2vC&|`{6n7Tu&fME8 zKVG%rwc1;gh(hu$%-!Ms9?e<)tIuim>8FZA#%e6xd8gB!EHeG`kSw~5{a4Av;|z;t z1PG1Df3cZ1K?z*&Z=Op{IIo$-;#JEXPzpHmI{8m%nDd)Vefu5d*u=hi6a8cfiuYE; ze>$XLx%fi|&YZDgMz23&Yy)_-3s2zGi;@cps=r|OJdX10V%9t=5P#G{EPbB%Vx5)J zPWDBCzpUIC79+Y)ggn&)`syH%1r$ZbH6iZ!C`!@<7vNztWnxwZaQox58kbIjKtKct zqxFrAae&H0g1rb8g*t#8#0}sKQ~B&(fk*f{cyv$$YUs^P&`UC2kOE0x&n;bOn%#2- z%(Ay0nCChga0Ba?OpvKH>~$G2PjoH*=^GI^&9s1Gg4y77m3{`) zVk_yxYd0g0eW5CTC7k}uUOR82O2M5!7lM zmasPjwSiIiA~8xp5PI_BMIZR!rNQiGq+9~PSQu&q1tKa=HW!k=IMDxI57 z6y!598_Y3&tUXFMPF$r=Qt#sbUMsl@Yv$z2+MdaZB%w0GY$W(m-f2tt!$Ip@W`0Y( zw&%WI2YD*3=3g>BGWoEHq6e$^Xra-ppHW;wwG}2NH|QGT*Wa`2;ZbVAQ1X>&9ynHP zn5a^e^iMUN;XMvh-8j%4S;N02Q#XzAfnMe1-TW^>8p`r<59X4jAa`Z-dMuNtH~FZj zC+AAL8e;cVFc*d}Pr!;!#%S3OtyAL#8X75@;Jufb!r1jKb>Z4d_`RZh87yP(9A8L? z2>C}%-&zhiM*2TrK2F5D{Sr!@3@LU|h@@M{!$)3YYwN}608{Z9-vZVZoV;*Z0pRYK=v{|C{n=D)p&h5Z6U8?+;RNNdV#o_!I?XTBDfDqrfO8$olV<`sql>S9M zy96PBw^8%2eG+?c!Ho4*Lv=ophYnr0E&kkrOLGn>GidQp&URg;=ashF0*gBTUS=(1 zuHcV+)t8~Z22<1?iXL@*jM$kE`=*%H6S4ix7-3Niksx%0z!o$AZIAH29+sIF-1mf} zRDGjf8*gr2sD7L2n}XA8gNfaBJ%2EHc*zN;cwvUKaCei1HE?-@z3Os*Fi0$axQjcs+y285fN5yr>AI|d zhJj4_B8RipaQOul&F(_99wbeDRKC63w~L8wNU!%SwX{M?D(!DoTBBvg1dTMBjcUG);;-ObiMI{DzPeqP~uMhYD^dO2PY zVJZcEW}qF(S_-^!uq%#KEj)J>sks;tL!tN0`F!vQc6dAl&Ye_#Kh3Dfx7asiq>Pw6 zet(&A+`m*E8*$potTmrEs(3n znHgzD2W%wd@WmMF_ZNMlcc|?^BLTtRgQ3sLl)&l)tZ;`XuJdg^qF}Bu9eCJ*ct2pr z%7Soj$5e&&YIo@Ak-ion15r|zgRJTQCu|1IzmM_xe^aN4d&i8w%i;>(VgrbVX|`LC zLZ)E+@mcdt)5iVV%EWj*&F|#GmF~hH3$Xb}o_FSrIv))d2&!{B1MZgQQ}P$#kQ$uk z9&x#yq#L*4$KCbj!$|21*eWV!Exj36rZTmxoc89XOy`opb0!t^=f>#pRfJwYqFv0K z2CYUpT0&fv`$!P?oc#T{1+@KeNkd9-K`EiYb_xS#jESF;#+>&Ltw9JJkP(&Bnf!B# z7y$de@Wku!WJ&FO1HCupC~o?%REv5#!esfiBKlZtk2iX@TnePH^QAO-Z+a2R+&AP>BqaxXGJ{IZsDfQokycVxnM^-GdIc!A&4(GYrW=`*Dqm5P!1El(A z|J2ac@nsv=NSh8^P&>+p+MW8=eo1N0E@d^X`j-Qph}t(yaZnWfqJyu1?QmYj??5z< z=TU`>n}Gml>P&6tMKcAzRv(AxxmXs2F0ka^gocXrvkK%trX&q-W2$E0y9c_M4h?-i zQING2sYV^ToZWS^;@|P2sQJLD-$@p9reKHr#Ddo4UeIWNYhdWm%&6Skmq-s40^DF9 z%G*f#JDmdbi|gpVv6=`8#+F_FmoVc*DPdmQM3qb7Ojx2X6Ehob-1VW0*U>RmbtPX} z>|=9Kwi$maRNjd={sDGl8bW4?dL zm2gyz={I8K-50|f_@O7hM+3}8t+5Fv>r!??A3-^um~gD83SPp$e?!dh(ZP?`x8(;S zDz2>D*_6rpQPMCHp`F{zN$iRtYwrU$iM)SRr(>6ve;gkAB5f1Jsjb_LYA6@%7{B^{R!_HIyxX`>Pypq1Fcnl)Nar<}2V@9V&>YjvmZFaVSZQGQKb}-lblZ?Ak_80v z4<9B=3RKuM>#c{u3`~A74Ea|_$F??@Qh^-bX`1C01c>H9WDC72Ln$tjF*j!z6}e^_ zTcN!>o>^PBT#~E&@ujRNA)9}Y-T}*{)F*Wi6Nb|+7%kEn1&0z)X8SH0K`p0?1{9(J_C(&%M#PL_ zr`GTH<0t_B`~FB-2TF|;uK^ck@yZ4;lK@`!ey8yMZjJK(_qoR>Kre9zoS0j@(r*AV z6^dmk;|BVuVD=_(*Ms~a=0Y3*pcwLC@;;LH@|i^fl84g%TTqDJbNHhS* zO9My01waD;OKXXCBggV}pZ=8TLt-@xhu|(TSS$44&(GuB-zkgtu4$C@UQ%Lr(z{Qd zI5w>*l(qb8!{R2cNYHpo&#=B+KxwZJH6_NSuGw|MO+If!eQ)%(yzQFhezqA}t>^QA zzkUuh2|+j;U@(vqB>=l*j%k@LM>b~bDav!)UuD~EKfVH5#z+Rg(w5WvkjJV=#Lt=c zgWZm~vK|@Tzy-#F>|`l(DLvFVJmmM_vsRW{_(wOt(a%^?htnS4^*lNRzv=wq?Y4){ zP5JEN>*hu}^rw$v(0^#OJS1WaQT|>>TldRWNI0|VxJx}zc@ ziJlvr)z!__oX4r>aCdDK0|`k<8UcZWzuape zZa+3L!I@9FZ*;Q^$Y|egXxGw8p*w&P;SW9+^pdHd}750+0x&> z=PH^28zx!uHac+nQ$At85y#i17Psx)oJ?U4XYqn;kiC)sVYI8OD{*Vr5US{}ipEZ# zRiD?1UKlcI#0B8vleHJr`n*q|Cq0y=x5ecrFynajRh5G*ikdHzg>Tmxz)Ara_c@(H zR=3UF0V&JbnOyjQO$BQ5yMN;SrYI@26UtLQ^jvYTbL;C}sWq6{z|R&h)5d@bK16~ zTwGj4Hk-wZa&*H0w*lh7_SqHPf$8!7O3@E_TFZ;(wyvhr9d=e`Tmrw=GM0u9PoB`y z7#J+Rj}LvitNJp^M>!lV7=LxR9`CEI?ce6i!sojp=nOApM9|u~QYDJ-dwY8Ujk&1W z?5T9zcW~|OgsJd0TI9J1Q|z#K-jrsw!tu@#MChTwR z!e(AGfG}FRkE)@R@f!$?8wEF8o&I)PWo2djna9tsEXj`{5QuG~HgZVihYup^_nDfU zg?EBP#3=dFG}2Gq-QAZR1*XDVKphQ+D}QApo(%VYB^~E70<*ofHNBGd4G9T(s}3kT zfREq8oAyr04Z%Mf$skb_!uariKd@QX8pkS^!uNp$$WHW`EheLLit{tADe|9O_T?sPlKC)@a4BmzNjya2HM3D-2A`v8kzt z#Z#oyl%=LxD#GOBmmhm|LCw@^-H$KR)V*paWL0Ty+0YYS^o z>Z^I@TVYx7icJ`#7sMRm8VFhiA2K1Sk(zhk%^g_Gv`Wxn$>!0qMT zTu%=c()AU2&BrDuc21?Fq3dxUoEgceuL=tgCNc?nXmwzJi zohprA{T|GgdX+{2-gB1vJuWM_^#}eBbMGAu=l8dbj@}u)cS0gsNOT4xNTP)xdWl4d z6212_x*#EXh#-21-fIvodL7;9-7w0W+xPc<-sgSJTIc-ruCvbkF>7W|x$k@5*WUY6 zuKl@y-UfDC00n~XYFo)U-yK<%3qRPSt{7-uj0WJ(HW~2Gf0FLBx=NUXQoqLnH4_0i z-Koa|MOYMp#S*A-2HZZ4uDkv)XT!$?Sj|8aKt%`B(nbIbJa$=G7T|ifS6m}C&$-@| zE95@M`cLmsMxVjIM4rKy2mty~(p?ZCof(R^( z9(Bdag^QyJ5u|8R)HWIyo4n@NjMGCy(9OFAq1%1z(-6`#T$q53B!~mV890~6d3Z^O zRTeYCzUT-4%cpuV&c0HL!9z+aX{KGG2>qs%$mRAq8)BuHMwBQbVb&D&6d zAIT;IY~GsRqzE_yH+=L(g++H%BpE3E#l1i2Vj7uyZa|t>zZ6h;2vgM6rNNemynDyf z(AYQ;ZNqTv`U)BFZ8f{#48J|8m*}W#j2^q|kB3>iTCLgQD|jf;0;2Ka2`-=kAV_B( z^~7?r$q`bJ9kO^bXni?w@L?lFPSKUPNK8r84_^{Ov227k#`o~WD%)3Yqr&P;QgYfF zHbeN>Ep0Og%HF35wL4F*Zqk6sFn@p!7!{)0cS7PQ zz+${T1$bWDR^~|`KL!DH{DDoIFGMCLCcYLI^C6s<6EZT0fsNYBv){EqD-=oKlt+w} zqoXik2J@)6r!QU*TS%j0Bju~F;6TA0SY+JO_rB7(Nr`6TJM6P134+w$*6KauHZiwf zXJ_wYi_|4JeS&=}#%B9L*}M>-q-Xfp+ef|4VF#0q&1OiCU9v%V1j+L9(WHg@keU#k z8p5Fx;yOKHm|?M_*(Ad1a_fujwyl)J?IFT)Q@}Xlb;wy=&et>KXcBvZC#TTZz@+xD zeF4*Z%NFr-(CM5E!pch4$<736y|$LmNLdIsDop$ zCRqtfF2pa1j14tOJX{{Zo}V!a-c(?zf>LVmT@*h7YUx9tJ`FyDA6edbtW@0k5SRlq zFfb&*vCjGcswU)G7N)O}loMwYY^Fv=6vbqXXZs?^h z?Mg;qA2<6f4uXsAWinfxU^xZXv>PTAgKiv4w>eN2%cb;1G^p>tQi<3Mg zTi&IW^sz;$_j2-I`oL-{8(3=xD1A@FOGQjIG)DviK23n)QjP4HPyV{Hc(sYTNHYrG+!PgqKbx5i6O|BTF|vqQ?j9 z#+iGH^?tSUgPx}>BEHBTV*vmL%|xDOA8EB3%jl$1&X(7eO+qJYTgyCobZweEcd*g2 z?;gqrZtil_@3j3b@pAHCjcD6-MZA#2=O*j4c^`ZuRogx>O5|rj?0QhkhWe$!MvyQ? zGfy36HoUhJRjIubtz%o-{v=!Qm8_UG%U{jUQ7yuv7@CsBbFlME=83Y=M0vc!uR9HAdnUw~Xq5yCE41S%0Ru-T7ov&&_}--6Ay^5 zU;)Pa*zh-EjJ=|1VAC^D(~)}dIye{;80vq@F{KUao$x(yrkSXN0^;HWB`n!dj&<|| zJNv=1?5f5ulJbfv7h3&rDi4@@`i5mY10*;Oi$tayxk`z`RxpLx=fz%U_NNy`mV!*D zb~?tg#lfqm^Wh4k_nzN4a>E~Cd6T1^-MG}d@XD~u`4%HzX~Ok6+G6MRv3-&lexH_t z1TW@OD%J+zp%d;*r6g#A6c=!Cjz<6<1(#|WF@6I+ERi|a4qsT9NLcX1AIh^pJSq`N z`3W8N*#n)kSS{y<({4-P$(ek2Hz++^lZPkx_52iB`Ukba$)8@IJ>s^i&w0?c4bM-! zW>nLihsAcCm_fW&zv~won-jdYz7l1QtW*tTlSi-yuKwU6_B(l6*MOU&ArJ3$a9KM?NLH)z{F5O37BN2!TH>bp-$i*~6! z7F!A6pOnnD(@DPWe<5e5=6x;7&mxdQ8O#e5_>*_82W6^f9cU$jRIy#XFQayxhTqp&(GK z!UD|ul48d=o^W}hlC6P?*Jl_T4kqEJlX>z+5M}LXT2}ho7F&b$blwA`*q~!5W@Of< zxG+96sc;pIJQznMckBw(aWbOjK+hvjWiNzSHG4FutZ>XM)NM>MYNZ@1%s`~)OFddO z?(xyKe!7XcP>TuqIP>kicGFPpbb|#TtStiJ+XOvYF|)PD9~d02d(+iE?q$BlD3w2N z^;_sy?$eWtnTWq>x~Y#o;{=#g7+{?2Y5L__CPxp(?}wsx>Zw$Y`T$MUIj6-FwhZ_M zyAj+MG~_4^>J?)RblpS;B_|WgJ460%tz`*Nu&H#GN*fbsRrqZ^o1PR1r(-OdMV%(K z*z&mV>u|L)7_;qY?v`EeV^x%opUjoW^OaOI?cVxS_xIyZQeW+-qdc0+Pp$M5_0;}+ zr~xKGkA5=zOH#5vX>g1=Di$rC1Xf2qd`o<{=Sk zR~ZVGH@oq$0Q`cR%3H>_z@$S|f{r^kJT<$aEkXYT+=dil+`vuvO>Dt6&8W#4E3DA(hp&Jf8dBut5Ua$RsgG=0^|C;aF>As7fX;`Uzb*-=% zKbvP=^WE~(Ms%s-(GOSs^myC=6NGe>9)BN34K3-FW`q4)wIc!Ix|dZ^AIZP8Ar)xY zf@#y833jNb>^PQUFTIg8LZ4D~U5MhVOL55uF4=F9sQ_DlJf_;ty7`u`6-Y}=8=o~_ zvXv@+_)Y!I=+EZ@6p?E259b=S)n3a-a85l1>fWA)l~*b?Oc^71%AKEVC7R!B$vrIV zjxIMyXnHtL7C7~F+D|~s^!)r2?${5SMR?Anrt8(S+OOXqk2rd4FIYrD!i6bvpNFcC z$kY9l*U!M(y%1c=;t%x0zc@#(wZ0p~Ei=NDz9ho;@S_YKz{v!u2#~-2t};(yuj%M- zvF^}gyrDk+zF59s25GKjwxyr%i~mhMKK$x}gQGzd097SmA>HbuCwfqhY$a&i_%l<$ z`?S(WTiv8s-%G0o9X5HL9Oeu9^`!%m$^rq*P)!F(ayM`M5G+_~60Xez1M$2s-|o!~ z7^!E8m}(6@Yh!eB_h_FOBiRWOGxNDjak}0jt3V?20=n%h%9@z}?&{E$+z25;3PI(K z%y0D%w+r=5>erX^(x=Q%@;Z5(E+rdDyBCvCdH%HF^MmmZ)KM)1Q`84tdE33 zlUeQlZ|l=pU)hs64@ksDmks;J)EKQwkrsSYdQNU06V4@R9@R=(_4k&g2jL1y0BQqr z$%CN)A(N}Xm*D8WDHJ;YX+(K2n5%w1X#ge!RpPW6eR;N_sCUJ|GDEXFSY){W_Th8K z?$HEYLanD6wppC~I~BYOQ5$(*cO$ONo;j!$wbiyOql=vO-8a(#Ky3o#guG4F< z|5my|o8`&xu?Ah)reFR%obU1W;q5~fB`(O@k%yEH(Jsroh`_2wtg3pa-1y|)ZCkU_>>5iG>P>jhzV_urSC6_1h=yLioip0i*%&v$_#` zQ-Xd#vD0b^teC8m0gAmS!8?bk`Gqa$BHHviR}AOJG_Ik8!RS_whqzf(Y>3U)Bk@*e z+V|OLj$L74I&Y*s@wK;DNkCcf+3+j6>ul2wR7z(>Z&ydd1}Smrl_W>GX?SRzc$Xye z$c{4l*(5(<>Epb8vq~$zp4r}BUZ)8hz{0!v=PC8v52qYX= z@cDn5BzXG>9@0n!*HSB>NAf;s2LRYDLqF&_QYe@r<=fu_Gi@aU<1-@fzIIQcn(9kobH~mb|KhMI< zbsuoN%kN12jJq|qI+7_z;+IaMu!;j6R0|xE3@wbG%b^7|_XQS8e1O43IF3Vv1IYc) zKgAtGEEhPw8J1S0DHIdO+2EJVTqQ7pb~+;qdRQKiPR%G+KT>O^%HBBYWV?}NUZN*nM~B%9WGg3e0lY6EKZTmJN{b1W{)rm zRMSH$6#G(l^`bhfOqOewYSA=}<#ed*g3c&NLKKiT|RW3Lg5CJT{vcSUY z-vmsWl9K_i(cHOPR;RO*;y@072B1(05uk{f|l?ldyxDL}&K7db_ zwNNt`uTLyTx3%C_cVLT>ZBDS*pEqm$@FUNUN~&p+Ce?Pck8_GQSU0@<1hC#PjQs-d z6JDgmwndbK=301aJ30>EZM~kVDjnVBE0woHJ))xJ^PFXY8yVrbXU>7?a z=4NU`V$cl#>LX|RN~ijqIkY=1PKij@NEXIM`F<{}Rs0$Kj~m6~+R-^D!-lILN2 z;($YuILX;~+2qdUx=phK+to9zF`MvVm=mG1)dEt# ztL0_A1%ov=NxNh3_KD1alr=$pA}wKOackRB08QRzzVZmVLlJCxO%Q4<7j%=Ko!hu8 zk3TGfZ(f0ik|!r`l_s2XQT}>$=`-@!9qUG58oi1AUeFi2a@UUz?fR_QOU}QU&wamZ zD6=?0wxdG&R_p|@QXevxDzmm1(_ml9Tnr6vBt7*qqjYL1bL-asX@w9Bxiwbv)uzzEVcs zlHJz&>&s~~#b_7dKjEb<*cm*s8&wVjr~yz)t^C_{cedaF%5mhMr5h$dLg^ulc3XtkZ-^sf=K`KkFs};`ULHQg;!t%GLuY-n&q8KA)i4Zz8LEAkj7LgY! zJ@3!_CSz*I@c1F#4Y`jJr5O7Vp~rbx-@l)wp|8aU5huGLKGXCkGX2pt(!^TFZ+s(z zL6Bfx19Ix@kW0O5{HnJBIGKBbd9^#BoahcSq%iS$6WQntmV9EwtB*a0hwqG!)OU?O z5f2QolX~PY*-yyM#@?#fns#yei*4s|wN4pEtoZyvln^X8hpxLR*Bs>F^c7bd4!`UA zA{wV;W~#`SAT5Q6azC8Yy1A_$GB)R4M&%ut4`!o7*CQ68ibB46B-pntnVPJa2{`1k@~L>S0G)U6@COVB?q9V5<6-Cn|XssM-_ zgaU!FHgBkF(U(I|Mc@B#gMO+>)Yao8&)!>y?~gE zxB5k%?hl^NoqoyB{Pna{9jrc4;ps;NX76D*)GZ?8cH(1rQI`gAnxhka)N+ek2N4*Hhf9I7f4)#hT34f6>K6?b!jEU$3lo#5%Fis zh7POC#EH0}qxOj=qTH~>nMuz!9{+Yhlsv0hTG!l^e5tS3G$x~ys%uwYX{fgwP}Snn z_1UFU5fZz(@!)idL;+X^CK6+;mVa;?DeP~(=tx?4ewY+g{2>7TNr(eek4(w(-R3J# z*F)Ru3k%5?>KI4D0@9c9iWf6TZ0VZOAfEl2o9ndzkJwcuwC5V2>KgTlXWrCUQ-s<6s!epF@J5+BrKC=Hua!k5Uo*@AHVG5D*_F znhXd5V)Q$$QXW5VrAYtdSB^c$p9reF(;x+cq?q@HnUn#Az&PnrF>cjhHUiKZVWm7? z*HdLqc0bu%XUEVZlod=Zok;r)*C_~)56i&Ll!hiXv7c?+jJJ4Fm2NHDO>EdP)8rez z>XcS1^_Q7{rGFXF$ptCLGbzK=b;PK-VH|O18R4ntYjvJkKI1~x^c0?BO8znk-V{&_ z?<0)G&2Xq6vE`zBI0yvk>#IHzBS~~}ZZaS>WhckV0>rg%Xs|IP5p0p_DnRn<+Z;O^ z4YPe~$bvt)yAN$c<6?K%Bs#nl$*Gcvk00Drs#U_*g10f0mSA{7n&fz#a@H&zXK($H zkADDly?HQQQ;MsfKVhp~cAfiHnv8dz3|o`3V+XhVygLse3J)9nvFQ-R(o<@fOlnOM zO$Di|p>#0a(|}|TgbPGatB(?74ut*k6IO92wDurfda5kC@jB1R>ND1JS`2$;_0#i6 z#6In)2wQG(Z)6z@EiSIHe(j&KMPD-@3hJ_XDD5U&1RVYq{oq1O14pf^Wc9>_*HRVm^J1LPtbH;c{v#g3CZI4)YN}`NP`dY%bbyk7QC$W z&TnI25F;I~+&m6)W^#;>0UUWMc7ou>6(YwliPZk`_pHzC3_i9z%d@h4%2e%06wFPQ zpS+x@!$q5Z@F?CTeRYid{_oQMg~uh!&nj5xsxjd{Ocy(NfdUv{j&(2k`Stam$KD*+ zMlgovFfX&?3jMd)jH<}Z)l8lu8s+p-71Jla?E?$Gw3ze7mqjwOyHeRN_utOvSN`nt zjbCX*?uKmQ+OjejsQtLXo}|Y6fF=FZn51`!i2)ls^SZA62BJc-#>j?2VWiH8LaDbc zS11%jhq57Z#GsvTrJ`#-Z!Xil4|lP~&m>_j51ni2j`59R260+V{LVhsojc2Nl9iv63tw@Dv13O22ut^jzvhNxQ&3TeC+EKjPMA z_Dz{puq(m3jG75HiQS2}xuFVeU?@J=%&i{GjcL#9eR`&_)rDa&tGg!KcD%xphJ3?FM>ahUwF zmM)y03Y;WJ=hSHAiQu_J`@0BB%|vZDxf{;t5qe<@q9aImqHaz^>kR|#jH~WE^&hTq zxC4;tq5gEwBii*K>No`B%>7=!RERnR6C3FlWh%%&igSGu(iX6f@rV}dNwE*9f>qdS z7Tldo`GSK6^T)?nlzVIS_izn7zFqbvPieaqqn_vgRfkgYPkY-}tbeDT4B(*xBCC8= zw^EDVcfbSEivIx5&G^nT{{$q{U5f~Aqomc{+}!TeqMM7#%G8aq@xRVjbM*7SH_pXQ zK?L*miz$uhc#Hka*1-e0(v;OVEaE4 zL3P*=Jm$3AUXR~XEf@GEHC%iGuz%7x@3rTf##=5PJQP}G@%Yks_`o(e9kbgnDRTL< zjt54$ZOQvz<2jBqhq9@F^3S=s>DH6+YLrPG?ceTlHL(`{y1mi zO^mj(d%!%ok+?Cz<{6Xg43x4^9TcSlQ;d_c(H4Lr~B8p$*j29X- z>?dV2#U3)_02n;4nxQ?snr3NYa3M!OF2>3Qf%cyTazPS7+FVZG`7z^@m6v1VPsKeI z)UV=qJ}lL-JmxvO$nM0IHr_(B@gSlPwxWvl(KQxfQuFw1mG>R zJ+OVOU<5fY;#ux2cq=A@7dr&LM_5N}^k1nRCYH%(4ihD3|E6~4%Hq0?E{?YhMS zU6QU`MJ9#Zp+Mz#zm}o7)RmI;-2vtNMw_%=)}rY0Dz^+W31zA8E|r&~KBC_C`sQ8| zZCC{B!aqzl-Z4jc2q?k_;+K@(_v9hFmJ2spu)WdGTC%$VGf{uM%~EFGL2T>D+Lp;E z7hj(0>)6)XNdp@My#AHw>lBtc9#i1i5JTkKO`;Dj_c0R~rJ3(RfC6&5Fs!&xYjTtiKP!=gmQ~b5Bx!!5@PHKQh}6Qx9ecV!*utf0mgi|MqhWEK)TXnrKZY&AutIBbW_K^hBZ6bKByeO_oZQO$ z)d048x43@>P^72f#G=>v6lVdmSiNSg-bv80;LZ8Uy$+^%i&*)THOSA!K>MRj;j0tc zqwy)FYGYS6dv$Dgv}yz`St=0flpX%|Jacmzo&k9zEiUXIh`W3T;1Go zj0Kng4lg@CrlgdVdDYB#bZ=MwSo;QruyvKWlNm_2_>~9=DJg1$gt*O?u_J+3emvIE zKkLhj0_#ZL!o)Q1`W*di+NDTt$=y272AY~Ib!ZO{=L1QWa9&RAOcrlHE~uWIx4<=v zaO9Nvd6SRuv_z-|`jmo!3@vD+s4X!@Gx}S4Gp%@6t8S7dM81z8Nj)B(?!El1niFkH ziyO|>1tq*NtYTq(!myNu8-qyX0bMx#4#Q2S{DO;7mCLb4SaEE?hYvoLM7T<3FjVKQ zt+1VwihJ#G=h|2Sq*_=^3^tHg1sHUIWr_R?I3@Cvo)XdWvWAebYr#MzflEaoMOw7W zdIxOGk*obz7`eT!V$ej@(EKKtTHL zVXd>BQ;KqYtVQK_tNU3GJ(rXm(AiAlc5A&gs?4ec>_uj|NEuw5V*Agr(rmI&GtmHx z^gqA;_u2Zp87TFCwuJv5Z|Q*o%)3cgFu$N`qQ>j>Rwb>|KIFrbYr{;a7BLDib^dw0 z#l#K#_vODQ^cMerwA}kLARKrb%`*~kgq?A2a%KS#M};l_>-4P|7^-JSCjH659Bhcw z?e4L~{1&w9<+AW|sO`dnAA*%G*o3vnMARV>(PpN{Y!J5(85m`ztMkOn9ViocB5?Pe zy(;zJx0C=$wg)8ipZh;5I{w$0G++^}hu};kr>D;|k=`@jzS2lx1;}0B&fArs-Wzlz%-Z{ZoipN* z$L;ih_4Qc%sQW3-8ArnleJREd+ZuB1MRGUTSeyLY-P#IN+!+#cu^S%e%hz8Q#IGj# zJXb%_3Qxle1fD@%Rc)%SX>v=M>8IX9lJ8?^jUMS&tQEteV!CGHO?7DjoDqJhu%COf z1t^i~ZvG4GSd}{_9@Vb)NPo{Lco1M~_G^0EK@GjXT9^>8L62s^?Jl;Ry`LJ9?wggs7P4eS8C0}KX zH3NPK&KAP6b7+11@G3y!OW)?htdM&&@yuzYcVpzghWqGrVMu+@v2-$qp;ZBzb2+SR59I3&1-yj|%ow8tCy&fKu}cdo2mg+B;&^(wMj zz7!;UR)^Il&F|}BWDxRr{*WTQp9?l3^bNxY!1^R|mhZOoVe$?ad>bRbO zHGUv)Eieq!Ll#G?ON`p|LgolEyzKDGE>=QRQnQH=r*zvkNNj&fU?4AD0bBe6yuiPc&IpuV~JhU@fEw_55{gTxz@9(Qp{c{RTH^^#rg1y?FIv#_sF_j+AsNQR)g5Vae^%T!$_dJo^uooC^EHNR$iNZs6H8 z&$bdMa6j(ETFQ?Qv3vG?f7rmOEMLpmwLeo%D>81iRbjs&02+Eo-xXw;nqt}W)A5$? z^TG{&+0`*xUT?u9L+&WedxAjg6>CIsRx`zA>rmU2f0fyIGJ1zN6%GGX_=DAy%?a)I z_F;g(_bH5FxTRV;J3jf!c6^4Df;r@(8l|jaoDht&(GAA4WfxaBx4HGJyWAl&pJ@o_ zn2)KixNf0~3yKB>Zn)F>qaEbVbxcpc!&@do^0L(-ia{+^U|SE)$HELDAt8vpy|6yI zpzbeKW<4NL}YWDOt6@AP^u9Fs1}x-ik& zFQ_;`R0f z&zDIrtEf;{S)KG?A1}W5=SxrBbC%Rvr8ZQ}iWftn@(>fRbnnsA zN#oeP;;}m)p*;o&8wES}`NRK#i)bk#m*ZpgkpOYa6+4RbTB(^%_=rFyMm=-~S|#?S z1oC(Hhy*T9&Qv2ijVEaq@8uy66hGE>J2oE1&Yog(h#zk4ip;`|`y6rIeaz*VFY(w8CGz)dO zS`W5jLs-=BB`6YzHly`4JvRP*2aCIHyXo{(HD z^mTf!j@=-7wbtI8uM$1qw6s#^a4^jXvLf1G=aj{*X(yUC^#Hd@dC~RG?tBm??)-uz zCCNQk!1C7 zzF~xhvNNm{(TFcz@j6L*GvTIS1dkE)31h_S^t^z)aV5;P&}OHzSgs~f*p(wGYQ<1D zl*6VYr%sP5OqBp*H+!!O{b;9YJ<+t@%xjyf9jW2eKG5LZu^e1`txTa(z8h2D`;0gY8B;<=QK)uPV5ZJd-; z2d4XTp#VIEE&p_FuRJpnSf2U*vT6mnaz!sXGoD|Nc=hyYF*n1V%{99I+YIvO=MLEI z?2}VYrAyjh*ea141ec? zB{Qj_JSs)wT5UKo+QJ(D4vW#`=-R%$?D6(7MhSe~SeXx}Dl-hJds#X)+Cs!wfvxvY zCuQ>cJTlImNOCa%JhQF9PI3A%)o0JRZsbXz%V#q7vnL&oM@R=69ak=v<#Gp)Wn(JX zx$W5{8RR;)dR)Ze>w&`0;{SLZrHV$R1*}*JzAtBZC?D6^KA!>=(<$;-c zGNVZDBdV3#Qj^2~@VP9xVz7>rSKM(13}#RfHcGg7&Xl1^Xw z3ZG<;u-?#~iVuS<#1eC%soIH7b{o>usK(0jefy>{6amy`w^id{XNvjh!IIK^wb|N~ zX<}l`oQQ~7719h|bky3C!Ylt%VpPgHWN#NooWTIA;CmHfk1@1!8^k1V_W66*g~Z#g z0>R$CS>&PWo)1jDPw8)P`gr%f-w$?=>+e}DA0ZXxSgqu0Ojj9bSKJNG&Ahg0AYP?D zt>8vS!pHd1s%g*6X^w*)5G1atzk;+()~l+zvGmUx;OVUK4H?gFwiYcD{EqiqgMG$& zylPwcM1bF?LVE2fHm6PZEtVx?zEXMvM*ANxTtQXLA-CBhRZBsXH{RjkTzUJHTmW_1 zP+ADAP(@z}?2G)tD$x{ya5~DVtId8(Oo~y`$O3nsp`rha+#v=yXcRaezo7C z{PMSxgyS_x-p|BeoA-tMZ%cQyM7w+68@dVWz7s%7ePB3o&ofNaG^Q)eKNNNSMw~wg zQD`@DRi)tS3toBQ_H}D0_;0?d{?USrxKV-l+wimx7n_Wl((=6n+(&+mav>$_Npelf zIdFo6$b5iRxR z+Y_A*ys&pCQ{OSrCnRie;_Ke2wI;L4^v|Tb-9Y7Oqpw5RP)S9ujrGMa_CLx#&!r>{ zWy7n=N!$WtLhn77nPp%coj~0`4aRO9#7WT(#fE^dS^HJNY*C3!+=N(DX0%=H>RtSG zH1F^@$-ju=6>Sx%Jc|i`p6qlwChvMGF3fYEVJdxdsXyk;H!cSDD2lY%67fZGg3@AI zhc0r*1Vx88OO*It4xhYZ33A>ema>Cwa)f^BCYR0!H}4#Dh4=HD6Y}D{j8$M~rQUw; zp@_PU!qln9;(vuh{acSTepZLj#UF=Ix;^y=CIA|&`xCr>W(ku;`v(}G2bR9Rm0z(b z8D?LpDpNPwwe5UWl|)|T!9Gxdv4#4TO6y1Rox+^>}d(v!B(g%)Sx9|!v zDWVxqW;vG5Q!4)9&DHP-#_^eyLZHKpqFEz$=za)IK0CwwAp%F1h(sb!to&{B|7RG|Gbfl#kb7Ew-W4{6P?B;(2Dkcrta7oK9xmkH6(v#6v$Z;N`CH|YP8 z)i*LK{%$|dF3Ub1b}M-}cT(|-=J)gkg{-8Q?;rg}_1x_sDWTZTDoV4u6%JL3l1Xyu1c~)J#y0>SkTt>$8 zCPHKBj0ep+tKLU;{mrXt88zh1CV;z=$ycCssOLJf>`aV=Q8DY*?cNA+5B4UWNgW;? zoz#tZ62=7yq`v%F`R0Z+L)@QblTkyynhY|c;WxeL2XV!As-eBuKN#o!&UcpZ zdEXVe^Lz0E2YXD|HrLqeiU#_pk>r=MTu^f{eIf!H_o%!P2LU9E z>I@Qp;mt8N%HYQw&Lof_xe&-F3*>I+uO+;`a>*w`@j;>%qX|H!>w1`g(gyA4?DX|^ z`5?5iRtx_+oDaEI$&Dmj3~r8U(qgV-y9gwZDvcy||8>wCOLpZb1(3fx`JA1X z;H1qAbG4ISbAB*o=|4B|q9)v~v1q)y?{#)wTF6((K-#nRDep%Pso?@n+Oue_kJ`bu z8gIC(=q9)&3VB&fIj?~t9k_dYLCV{9j*iMUHbs&?FBYXdFx`v`%wxbyPOnE7;AG;l zLTmuZfa>Lo=)(!6cs92ghSv_q_=!d!hcesx%En+q z_)g-Ao;U4>O)U}ESD)En97`2gii(`~N9!wu1vMnjT!R%kQr^X{_U( zY1UG|4tgr>lwRke$!7u|gYCu&E=8U}ZnDG*%6JZ9v||-KLb#(J%x3GAjkehYznHJY z60JV#*hsDrm%$<0913Rt8(6Dey|h$$FQa)nV!VsaDCIF;F7FCbS++Y%Zc5?Zh^4>n zBbxl-;KBRLV^zl6gMaCY4rZ07Y8ZD;_(qa61DlQQ3l~4)x#Z?PvVH+glOXF}@74VN z9!JsKJOky8Onv-jx+M!Lp4T!&K{`9vAa&*=_6T_7@OisOC**`H@M-KMdiPC zzR^kkaNgl2I;z9;hAE7j%<}fJ-jC=PjI?rIB&Clve9#Uu$3(uUM#sEg8#Z(tmKD{9 z^wrhME2n+;U>s(!nD(=<;ial`m1(sp%f6I=wW{X6@05XhXmb4o-uRWviIl*hgr^su zd~jlI@aOvZZ`%!(3}kJ~>DIyNS?2t#&?oy{l*sSJL>gbbrhExb^r*}O&P>gilX)!9 z*O+CUh^PGbK5+5>CYerEz+`J!W9e8v1VjZ^lwI3w6?&fiG&ZNrbXd^S)VYvauF;I9m7!$2t- z|HBa0yFz5*9{U;I!hjM^1hB)_0?Fj}~MW9ZE_Acmizy&@nof1zZfFf7mSXyM^U^JG2W(!MyU=5J(BFL+~2a z@>0VuI@~U<=E}mo%n2J%?=R}=u@c$Z=%|B=X@+n?zVq{6XCK7A`i-%~DaYSozP8lI zxvtOpOi#yS;B$v9<3p>RkKbi4XVNrZH!*y9iVS-HrwjF$GwlR_F71Il)g;q))PFZl#%-(TC!-u{MY}toC=_W2zX0; zr!x*Y$jwd>F^GTIhR?^%q{n&Ve`B{-@{e11H82;HHFfK#Y_f)5331rlu=git)3U*x z(%0Si7bd1#BnJ)sx9$yJH!Tz{w#?ov5P<*cTKfF*mf{q`3?z|X_{rN6zt5SkpKWux zud%VccjzRuKH1o*K#xOW-4oq*UU}Q@eqZ%oWY7{#xP=0=d(#UG}Dc{vDm(3qy^`ZA} zk4)Y*9Q8dE7B4k+GH4{1bG)DU^K;(i$m$3qN5#^HTAg<%v<*w{n#ag*?~_WF3?8}GJ^bKn{O6cU&XE`<&jabq zbON31ykuGLi^)XVnO5fH-O!hu4I!IY6Fbkiikbd;DzPD!tFhO zwd0fzW5Lo74TKm8KHw4??19N6gV=e7kiW^+dvlA+8D;!roTf7obW94pOW^mMP5zU? zGq5<39G~B$v>d`_fZ-3HHZ@hH;znG(2YcH?;J;PjcHIesIE~uPpZZeh3VNweVr6Yq zzZ2B!U3|BaxL2aTlKyi8S|~=VdzI};@q37HdTdOpw(ddO_pH?xi)M7jnLLS7s}pBj z^#Nw`Ng-S(PVJz01AP7`^LD6bnOyWA=dE?Q2N^Nkso`7k1cqy1nNq80Nq4!eu%<_q zqcc?g3v!pp<`wvD?4cL@*(5F|J>PLL$H2Zsh3nPs-H)8){`n_JW1_w73 zkS6BwCBqY&cl8W^w##iLqcY=2;k8{2nm1-}9v*d=ogDO#^yAZ! z3WH;%m_iZ-|4$yAe1KDF)ZbY`@blOsTpECav(4O$8u^=gcSRT`q;SDsW1aoDBHSqTcMyjw(IN+g>mIaxKDR}ayL60Z}X>4!o`daq~4j$ zO2+{OEO~pUKCXR6d${xC!=kp_V{WtX?Ogi-_tKy3dImE3)5{te+YUB;1|jy+L4@Z_ zc`m$vEn<{s_gtnKj>QggpF1o>$Z~y`>rH)hp`%fK*dESQRlXNXc*>jFWke$A&@9UC zn1!{H8q-;juC(E@C6@((k0XtDyU`#h_aNj4dv`_xJK2PaoXzhrJFWZH!1#C@L};Q1 zs~~K;@-HJ}pL-WlrM{ynBU9RY;W)Corqa|jW+}ZI`EijiA8{+T&A%5s6JfVl&yIG5 z^>jZ=$^|p4cgDZUF>=9p2%L^eWCJ`oQ+RB>WriuGEA_!8{x(z zeZgYrUS@9#`k}HxS_qa z7!;9z_rk#`e20eNQwx3#O6{6=VRX66w!C0HAt{H8f?~BeMMJk>hKrF5rWaWZXG1M< zIp112kFLOvh4+~2$*MlIn%1TJLZ3mVEN?nbCyS-Zo2{_sBZJBW?;{(F!SP2Q^vuM+ zr;NPv{{8+ie^+#pob|S;wGioCGHqmrgU?O19r+{&Q)=8Hotahkte!&jY(GySSY>g| zUHF`Ah#q1gf#{+T*^08Ye_VG|WBTcnk7MKF$zGO;wHEB?#Ui44KB(n7>fW|CwX+?` z24*s&7~F?DeEyb`{6T0O)3Q5=mL`rMF0%n>PA$v%`8`VAj{|AejHAllR|{AL!Dc`p z`YYl@fC0Y`@~HMP!S!C=fT_?YN8A2m^^xS-QdtHP-)tR(wxMZdgO7~49s?!6d%EeU zQ=Gt0NoaQEPY(E)_b*_Ym+#RAy)>62Fi{w(s!Ycxu>Maur6A1Cp9v7iJsYN8Pt$kg z`yJBaY4->X2RqF427&bT*VF1bS-WfMx9`R7##!6O?%6X9Ljr?B->HP4e4Qz7SLnSb zGJRqqgM;xWN`#epwR-df^dr*q6-r>}eGF}w+`V3@MQ~lhx}1Kz5v2;``!pq(=p)k( zrdsq&YlO(OrN+)r3++6)kRKINC`60k<&+O!2vB5xKqmtE(}oh|r$(wYPX&Zy@DY)# zU^Tt);it(N^X2E5dAPlJ?(fCL%zzc2es>W5Gs}>KgrwZ*Y@J;gJo9$dDs#a?d`6*_ zXYSpR*M9x6t_f*q_hvj-<)XYAN>46`f9`TU-5_07l%_Jf+cYn9lYgJl8 zsw2pau2D1K|K2JnaM!l&1t|tQH)>!Q8T%ZrVY)5IWnof2Q(zMt>f78br@ebFd!!?m zd~_+>?2B9Tbe@mrbclfW=A+b@k)z?sQdYPw_GtsB7^)M65=NsdFuFcYu)?EmvMdJD zz`%B!r74FgVb9mI@j5d&_P*N0lQ^BBDbubM$5*SC7zhSgx?5vUh^I zkgp7}>m29ry`V`{)JT?6`|MyzT${rX5u3d2-xh~A_85=fzP|gWgx*qd&2QdBGt>C+ zw$U{Sj~dadw@hC-gOOJ~v~tG<+g^_j^Qg~vu4>e@=WZ#7L4>2QNYFPmeyu*0VNu-~ zS>Swd`G{!fprWxFWLoNzK9s+1T z4B;t*zLdqUdp@vvMK9=gP)Xm&+ji|b(m0T{{>n+`1u>I5G}2DN2v$Xg!OdX2H~Z#5$OG29xl_OJ_;@!3{M&89Z{YxgzJj;j)E?8 zk?UR_S?vX+s}o{+!=uQh;5zs&CHXkJ`?AB9N;8o)h}w^_M<&amUtOk~Of&OFM^SZk zBYq4F7q|SzSd59J?Yrg-JxhqyZ>tIZD74p;Y`SQp6C(e~)}6V~)!W3ad|gsGsXSbh7rz={g4Iy3=ZSX{$q!q8WRv*$@a;yjyVvI#s@UgV$N)uP zNR|NV>tBPg8e8`-BMd z=87I>@h56)B{i9rfngl0hIi{i?)#Xjt#nf;FRPp=@<|1Uxmpv7;tNELfaC~TCtT1a zCgvKnLG4oOsBRl9I%q|r*9rdSXO_Hn#xHd_Uz0{-u&pUZlnW)~E z>Z}k2shvb-UReFz`UR-GT?e8HDBpf1n@ckcMATthTQq=z%?)hw+lFc*$Cc?84vXdT z;VKMjFW7A&`$q(KfJ@Y{zmnM2ZD(A@mcaav}N=(uXT)+g9qQkuR^~cJeEI)>2pMhg>izn=jpIDeeg3vcF>O9X=(3 zB7ROCD0^SOf-H8S?r)gkeOjP=f{=&6s=WT>tl3C%Huixu@@!dIqoQE(em{<;Mr87p z`KOXkOW*hIz!Dk5u8RSmQvX^%OLCidAmWfkTDi~e%G$0gMI=NOvY>(hI+NI)=Odnf z4DD6s>&TV|*K%syINw${mQ;}Wkr#B`iliY>dUkb}*vFj;ELh!R22s?n5g}p*OuTOsN7Loa%k@U19Aw#iMey9|1_uYNfvGPljt#Bg zPnAK?&v(TF#OR18Hu1Y+?yiEE)8svoJ&-YjBMEaubi)lJg8*cs&v@IfhOg(oFl=`X zbtGqNveA(=%TTgExI&s9ldh1?hJQJZ9rI!tWxnXS(cry$`B9Q)e7)!K?mfS#$TxH5 zsA)F}>y-zW)k~}cb{>1okf4#Tj5Ut@XD!BU^v%#(kEYuhp){2loMn?9?;EZt8!abG ze8y5|oG0wANkkw)L$hUJiZo48)QwRP#HS`T0Ytmv-?XhW(se3Two5Cq$uZ1pAh=On$i?y4k2 z;69>Gf%|G^h9x*J0ECt+8E;>GG2F{t%6Fr}cPhbY_r&>oE{U{rT!b|+W-)g`DIqVh zk|3sXGsd?YC{-gw03k=d2-N1qvZY`Un*==EgXvS+V}5KhT^M|d2*^^sx3W7aJAEu_ z9CJBj6*=Ln;}_~V6SwTBUJXu&g(6(-D{sf242Z5uJ;FB?@TIOWOoMT)FsJo>a~>}S zUNb)@;o|%@uCfHF;$6$(IV9}LuUAYY+kYY{o)L*141wi%^vDB@)#*B3%iIhE$ljc8 zaO@sZh-AZPuxW)G^F;;*CEu{L`G9DihXHmMvnSkiqeov18^Yj1!{(Gxkpe~ zd>AL7c9kOtQDm16lo2U@jp&j>=2atbWP0$mGozsvsKY|TJG0dRheoWC(|KUZO$qj{G3EEj(v+25$3%S;yUOhoud9Q?B;d1Yu=7J|0JuuWibG{_} zmeNPBZkSA=KFD*IP50~7rtVtOxQSH0dI~mx3!%>Lem=5o*RK6^c9$w??)2{d)4?yJ zE8hz3&YEK9SF4YhC&8X4@=iYU2c&;t-ws3wd?B`VKQ_oFm2|@H4w25vd+a4B5a%z5 z`(b9Av9Nd;=bwI@oDMwqiXgM$dDwcw6RXa867%|ddwnS4(Z&wIKvP6G+H!W`(SNhK z*6&`sV*#H&71+j+e7V#wsbC{sx^?W2dH#5dSO;0z`Pzp+46>%^FG5v_JP~&PW}g8( z5?B@4b!%TXa)I}Awp*)5f8sFF=Tflg>i?v|w-Fh%b?~8R@Y2KN_64r3meICbIA)%? zu>uuvZMH|0EaQ3@xSP-tDO<#UxqA9>SLt5CgAhGnMlIWZoV zH)LsQegUv~4(kNPg*z4}SxIXLZT)H+%`o!lq_nI3>fRHepozKqd+PM0mDI!Nv8A^y z_uHn4ZYmsltdXPF46mAIDD`Fshof8mmQ>tN!{Be2sLx5+%z==YNJQ%?rPb1f7uJpx z*{xa_d)sEzLnw=#>TE>V&4>I%QE>6UKK5k$N%uW~LoQ}I5`Na8C!QdyC?db=e0E6x{7Yd7+e43vd+Ua3nO{o+F$C=2S|8GNN3`@(w;1@@9! z$e0AJS+{LSozBp~hIXFydSmyDK{ z18G%lZfR;e_G-3EG_V63Uet@a1Jr0LE-A)np=A~AQYG3*2X$eV;Wlb})kgJB+)7x9 z!UHP27K`=dHSzts75bm7_5*mB9%K~gwdi0d@yda#L~ah%Z7M6xw;|cUn+FWhoSW7s z*i2!^P#5Ls;eYX*7F$?HNaN_@aT`*exzJt}+Jw;$OufB2TO+kLK3}cW5h+n)0*gU4 z)?dh}?qkPW2XpbV&e2XosjwRYNK?$Sk!zAl$$Sb5*7OEUC8lF41K4 ztUpDF#&YrW6i3CB`|$%n^twOejZtRp%c^1s5I%7-{&{lnI`{Y#zP!^WWq>JwmMb%V z&|UUidqDwzUVGetv&E=)2LA%bU{r>8ZZXW3u))BwfvTa`>v)&E%j{%&t;X@d>UY%& zF4S*=F0(lcDQ^3MZI?EIupG&%?uVP1#UPWou_&xUBmRf+^YZ3%qQr)PEVbXq+!}>U z(Csf6%vcAlh?C!SLS-AnGlm*plQz7WnoU(d{Js{@bag|rUv7W(>QHE!8!TN`LK?S! z)W4>E%j9`y$CCi{b2m?XoqdQf>S@mv^?1gD z?6}Ntc75$0c-Wwa*TR2bCp1z|>KX7*g4oF;OSI|wE6mBc=VP}zz}E6AuC?X2R3 zGi+cQ>=fddW300a za|d01EGv`CTU~Q?qG(|y z(LEkgmiNSFxHCRX!_E7BvF#S7a zoVZP41Y<=|pLPR@B9U0PKW)ACDu;#XICn-dEujdT`#&4jv_r{bNh5dFW;AzfpzKitCCce6S+9A5lsBkfv386efzq#j+5?3JG-BuV4&$O8ip zE?@qV0s*cDga%!6BMqbDjH~_~o>D4vJ#iOAd%A>Z zGTd~KxvljOF(>jkx9{r13vAZS0NIK4+fpgAbCuvHxMMG@2J!OidYNyBA~1XKtBG^J zX7yVzzW%%z8x!`TNrPf|TDYP0vbcrJ{V7OD`;Gh>#TL6DT=Xdd?PzI9`loECdRY_x zz|I?Q3M0zQrHeaHlNJnH+?}kF5&u><2Qp6!@DHP-UN!-4l;Efdc6ycoy5^zJcN`ud2%u2(%)h(}O)lDP{cz9$sZTkaT zJ?#}nqQ&?fL(9q2IQwgOM!Ch7;?p-Xw2kbP?8n0i_b{0uHDyeQK?#E1ic?>|4#Zr!G1i5=ACG2?%QCi>;oOJRzxto z3?<9uZi^66<_ z>HWTpW`*~*Ma{=CslVd2qAG6{@{}u&p;LTTg!KZXqV|l);o~Y%&rj#ZvB^5ZmDV@C zJGMh_oCr=F$i=M{Iza&+UIi5vDO8?uZ!%yeowGEA;fZJ6{6N{er-*J_39g^D9n8a|98e^#JGyrrn^g+~PaOn&@_6Y<|99-> zz@LH{8TkUV8Q{HU*pfxWbPToBhE7oy5c;Vy+^0qEwqdDPXBmpqTt7nh6qURECBb!- z7{os@uW|!>m}7u)>Xk!pdki%9V>QyMNN(rMuyOGNa#J1LY+8ty;2i8QX2aEct9J@)1M>Io6hID+Y6Gj6j9uBM2z|bl^r-|U!Szox;J6yRVfiV9Sty7Ecg`11A z#~+F3wN?%Lcyj6~V$hR=)2~}Hld2ve{=$%$pb(`hf(=|Zhg&wZTQ<>dnKA7pW#hdLf6;U$t@P9Jb*A-f<)m25`Ji}othJUL5Jclhhmv_i(K=apxU7ZF7>q` zM%&@dXXX^Mp6_TDVs6Gm>s)Z8E5S}WaO!?DG+>AuUUanG zlrzliiIs-~n#`4Iiya!$JIp47!^Y6F0Wj^Jxjv!ab%5L&2qY~N*t72Zr|*|A+BU+U zz%fY0j%9-2RTUvI2vcAHGa()v*x*z6RgmDm+OYuM>(>2w{2Vj>NZy7Kvy*{-?D7Z@ zNzr#1pNjAgr}~w*UB`2tjX)A*QXe6Dg;gwC?Ly$R_x&I%UfADj%M@c0Nq=^VKdh12 zz22x0pMZgDGn)QUdDU&oIPZN_G<2@r3#`sCk37eb1r+h9{;Vn_w$rKKlsAY`|dZ#S6vL4)Ssg$TfiaF_h;&K$I5A4g$aW#ZXu(CL_v%)8wouJ=6?`b@*LE%b5bly?-Jn^nV;j z2ykPHNUJ5dbvBFSH~9^)-a48Efkhw*ae&v~W-6Hx&i)2!q;K@h`bkNJ0WeCMtUv)~8RMMg2)j zNAgxr5f9q`GjkW}TK!Kq`LAQlbtmOxgy8?yH2-TN16;SuTH)6%rVCi8)?BB0z4osd z=Y5LyRPYu5-<^(yB@Eb|h2x~Y~?=H$~x z;-rB+ThgOuz^q1=P#CZWBmR#BKXddoT+RDWxBX2bPhSA3bjQ(><0E|Y@K3;;x`OK=6qwXZbmqLRZb2#mpXXc= zf882_=eTkQPBHlZ{K+bUem|-u^WB9 zLne!WW>x+q#PORuZEduBs%$_Z(DS~Uc`_Cfwj-N34&+!fL!hjRR*aa*5wd4|xEz}`3?|6i_{N@>5 zxFcyu(v{rFW6f+lcD73?6@mDLQ^~Mgy$UoFS*pBc4h?QqFcrK4X z$Noq{2g~8m{kJrU*;FUq_gu>+yC*!OCWO3Bq&N4dO~Z7B4M1h6kOb7Cspp6F@!vZc z>2HhS+10JgO6BT6U)sb-upP^!uiH$pt;$1fatph;nCw*?!-Bk1c(&&%95C=z)v`km zkpB1(=g96OP)sqXfMZHn@Th*Ap?p_ZFk|%7yp5RE4)SU|m{!pd{PyeY8zWa|@y%+J zXZYPO|M+tbb4D(ttJ@HHu0m)_qB(s@b}IU^}tIxDKep`UXfl1E_CWQ5)yq?3&i5XSow{ zQ=x^op4>K~zC)YZssV&QE6rhQs5Syf$5Q>WTeF+)?r8kFFsNdfu<|}!Bj_g^_gF7U z9W!5MLzp0iEe7(`LYMbV*G3bmH85d3TM({f#_6JgP+!SauF==U1(U^$Mb^4yER(}n zl5!{{bSP1J-y~$h8i2uci1Qy&_=~Tj3v|0jK*4@5Q>65z&Y3ZT&edKWFJ&dx^LPNj z`7COk>(b5%XgF=B)tF02JQTER?3gMgQAUmNwE);=`bYoUbkpV?U*#u3Wz{T&zFv#g z!=-$N*&ks0N94p!EOh0^pMF*$T(OCfH8pavq;e%r?(#GWx0a%amNmXo?MNj(?}^Ds zF>M6H=&gOfL@>Gi)hw4z-JuZ5uCvCx%HGd_;?+X5p8x)BZR@)IXW?s~6YIKdVwGY~ za$(Ht#&2KSthZK#+MnLc7HMQ$KYZ@$UQl;9^(?3tCq|k=_l*F zw~s&#JUQ_`q{5i?=^h-i0YWztHfIu7<5>J#MAITKH&LB9pd5wyzs^_VY?G|%wNu{1 z{+Q@|E^BtlK4z!lye>i=qqpJgql;eN(L1Z(sygt#!@`R;|NJ2LS32f>x%dms!39O1 zK$0&5x${hKY9;>H{t`aJES}Ph<2?MJuRu?t!Z(758vMRrZMxsyjCdkp z=~SVSpAZ^CWZNO%u1FoG>5&hP@!ck(^C6l{i{pP2by#~3a0y`I;5O&Np&+x^IW(Si zo^ay~0Aj)=am)QPqojlR84gQu?U=aauwVfY`b{$Z5O+T!@?Z+KGP*us7&Qlt1y#ms z0SXyH^?bswU!8Fq58_u*pQLR90sgOAKynm$OQ`MJU`3rM--gQfmNfDE9d0UkDx#Hm z_uTz|m;zK(y&6iKqqz$afEK0w-xd|2?L{lm5dlWJyJ6maNhm`23$xjp0==Rj@Z(3x z&15GDTH=fe1kL7a(o&6MgiYedG3~;s=xHCND#JkO)(Tqp+BFW9?CsG=@7j1x^D|GX zl1vI%J~K1&XZ1o5B!^;pd?D%2#p8!q@y~_+mecbl0QvL{7uHGqon`F4*w#)4JGj~< zP;SelkRny1SzA2k{EE}1GOS71yG6JjVu|1t1y(G%(cvJ*3Bn#{PrBwTHfq z7uTv#fiPSvq)b=OJp{o;zMb4Ce>tp#K{V^L=$_J5$LXwRn(NK%jv5SbyQLcu{P4HO zc0LMPwXT#`;m?47k~WE>GzNe?osJYf1^F9KKPp6JP$V>wiq~Oj7vf0D-j``J=A#8y|n)5MRqWdy+%qGd?Qg zIew>jgYS>!@6ykjuNHdbU+S1LjF6*H&h_gDF4edU%+B`CCL0u``ljwdLo|{PHj5YN z{o+~!q6X>N)=oDc%!iZ)y)^<#v;qS9VhEXF14-_SkIxDpT@%O>28Fr7CmBud-Ec<$ z(f<~o;S^J}_yN68F`pz=qmU8Acn&wb7T5sHpv${Z%n#*2d(=PbyQiUq>wOPCXl!lm z_y%%jh%ZzC_1*734)#vo&zbb?zKTh#T7*#xJxOoC7E>b*0lE^DH;FDsE=O};vHLfjkNI{Py+T6ubj$MeGCi^dq`bnozePs700wwx8Qg&<-u&pq zmHc|IlYtY_-rY&44n6 za^hfVWx}?|{{nL{JSOSe*^hgkitBo4-PzhI?8wH(v2kjOUo*aUSZCX0S_(b6B4U#i zAW|1rL+a~g#_a~Wt5}smsMM8(3d4va$>4yyD|)z$?(L~Pv&gx&T2t;lC%%LP9?rkj zbYMp*rZjEx41D%a(p4;bryF2ZoYUIAWY#snd(bQssJx~a-_B?%1leoVHu~B(D#C1W zFT%`6`j`lHo&XXUZ-;O?5lqA{-%G?rV;KX#w3FF?jm3BL_=&8zUzl*3Ts2(MCJ4Hz_JC5!qwJTfJ zS-XcihYbW7I=d$JYU86ScrQ&MLk0cZLPFygZP^k)WAi(lu$E@2X9xBgUOFx9)#a|_ z2qev9lnq~)%Zkt)ayEuTHQRn74tde762m$PQ;YyLy{8MltWf;^huL{NkZ7V%(PHhy zV2}gnTETNK`XG5m&fEk+0H+@PDw^iFtTq(Va%BD9dIHyOUWOPhxEP30hK?k*wY9vy zF#|lT(!q{gb=|fNC!FxF@N&(fI*^^s1*1>aU{yw+?n2IQBGXVl)ncSd$^}YoUw=4= z8GH~xF%2VwPaUmK#d;8+=Gm3-z~Ux>y#MKsJz7FjGJ_dI&RlXDnXw)-4AeKG-y0`@NN^<-CX^xy;=Cij>0J5YuF%y{^nfB z@{urnP2%DPxH_8{G(*JFm_F{QvFGKz$Tb3wj8{bZ;m7?=X?t9w{Q8+Xw;{Ef!3@)f z)6u0*ws(wE`oa6Wq=H}F3C|VQdx2+o%0b@v5l;(G@Ou#|h(U5YL4W@>k&g^bC@dhN ziD&t@FLELuZ^~aDz<@UxU~O$iW(zhJHm06V^fe}Rl;F+>b&AN=H7NY~l4I^^AT3u- zatP;A=!u0c!aMl)*ORJ<q1o$S8>auz7*t!lA) zSvmnPQB95qO&B~M(pOVpJv7W>p6`jn;{;nC{e6hT2D`3>tgO~)+e#I&0AGei+I`jBFpiEKma5sJg9G@AA<-5rHj|G)iq*|@NwE3&C*h0}~eN6GbZT80b=I0@d)I95` zT`z01QTO+L=aXhu2lfGt>16t2McM2n87ed{n?NhGpBwulNqlHuQix?vYxd zOb#T%B$uMF;|HXBy?3BP!+v?5v#peD2#d6shEHV{tmO6 ztWJ10y&?_@ao)zbUWrFFM;T4xw!1%xc3mliD>qAv)}z?z0!Mpo34! zoa+r;0>I{sfF$jxKe}o0Ccm6SMEP|P6SjWp{VEWFxaT5J0a9QN&+U=? zTUOost*UQlvKaC(wVsb1Q=7JdL9+9m5d^-NYfvR*+!;|tlqyopCwk=loOK-jFuG!L zBkPF$$>aKjRKc>6Yyz1qe9)xNl;K*2*v%A(VA-;&Ujs8HLZQ(xM|S?bfGwqMXYU&Y zorJR49mVAdqOb}S{PdlCdIVIQqcW!@$FNV7z|wC^^m908?XgpdGa~+h_g%o#5@|%^ zdJnS*U--Var#gBO7}3nbtG9~uY*hA9v=u53{&{yL9JSJ#mppRXY;$5-BC_1!>iGl1 zi5#IHA(-`VMr4cKEJXlfoXhVWQYs2}*P_!?BTb>sx3%D>lrwj33xK^MCgqj7 zY?g+W8&CjVsj%@dq&%*Vard1uss)x6L%MU7Br)n=fI=8G5aT1;`!gpXP?;ej5LBUY z=cai>TIb8M8TQU>5guRqJxEHi;kOBBj{JpfZy`p_4gR4V4|{Zdp&AgK>=hpSN#$d@Axdu2>OHGKLn7nFtnc=j%d5z@@{i{ zwxHoaG%^&$#(WxvAa96iJ;r{AazBG4~h|E*;WVA-r}(KO}hhgE!N|4(E9dpQ`h^P{Bo zOXL@QHtlED{b#1_b)9G0-89d7M$%$)0uwhpd&rgaCZE2r+hO*~LyK^Wb?eKBgs@D< z>kVs$owcdswbxpHI!BG=88!o_+?FmlGc9k)tn`3X>%RSrAw+WI8Vs{ubG%%dVR-_i zU7g&t(`4)VPUuFH+W}5rR=Sd)=b412U&qxvjHi=-Luo6n9}LO62)7nU^W&caC+CgR ze4PHucgD+RzBZ-yDw{AIb+yaVIK5aeMjp?LYLQI1JIg~Ic}8X#~{$J|*iB|ZI2ooH>xpOI`! zNJS7=;)bV2&8)!lasqWee4r zQhWCoER{{L1OS4`v4>8|ff=;)h3iKPnI)fQz}l4*uU+a*047C`4g%zEGqjJ7C_{jMedb&R&MXf+}K|Zd0FVWNv)B&QC=Unc1&NtKqL`*_w*BB5d%iV?C_zpwZh#G%@Um5fXtL< zvr3PIdX*0Hc}m0NM@H734J{;_;w(XQW_{(iixJ4$Vbt3YuCkR3>s?CVm|%tLCzWZUkC>~B_VXP zTTikh%CeIaLK^t~hA|VT1zov+h5Ado@XN>k6RNeImxC<^G~32*6#OZo%_x62uuPfW ze{f$#(3mxGU(>ZfpZ2wUU(=o|@J@@ot$)JOWNHb2#}r&~v;Bl+TiL;NK=mKQ|K?vm zbkS&9nG~+fvHtLC?dFeBw1JuVzvyMoPy0b`k7_LcDWKXw_CMUxIfjd4=Jt!f(m1OH z@qge5f0Z^3NspCksTQIsY5Jv~+rkQPPc;9%#Fv@G^!-G>00O>$_*&g_pEIO~$etVc zF`1U=aqr5v=E%VvKe0ow`xmOt^H=fK=lZKD@_*m>O_S=3n5hA&J1su*D!^D`AXc2O zD8NxI&c0sT!#LGx9R+Z#2W+-82ZEO@#6M>%rpP|;$Y}&U4G{kP&milwgHnl@sVg+T zvJWb|Yu(=hU?D|@`GtkE=(GoTBuuh4KQzM0;J?84FEN0Pm(frnS73Pf4)*AOo_}=v zx2mk1EAXdJtm!#dutEY%c^o_ZR@>T0pB7j$YmQzH|8`tAccmXrIT2g%W2x5Jm2{Qj zxkD`8m&F-Frf@qIRZ&r4yZP{ZxOm`XEa{n*Hi^2Yk_m%b48EK3!h@+K zx=awkn@>MVOId*YglAiSEYs9Km*u$ZjHGwluU>9EK=4mDU~o#MGNanxqJfrRo)$h8 z=?W3UtO7e9F4W4WkdKzsE(bm5FsitwxRTqKg`0z!-V%!7(E)|)i@qZ}G?I^vy$Z}k zj;9ri0tFtsJGO?Ww!mnc3C;k3?N8B5&e^X770ZSHA%F4LU z6`QN($k^WKHW3lB>PmQewz}ZL@R70DIYP3^EJ08x91&4t3a87Sx_L3BB~2Y_xXJ$AX%hd7 z1{P@BPpQ`3ZYROzCRsF~u(Px8Pf5}Sy*zZF{}_oVK}v&d6!hZ{5kl5$)SuR4(sF_C z-Yb!9)6!FM(ZPJRjbgKudpoWi{etwnj~o#-aZhjv=i zq;*;&VA0;dTGIBtcGFO^l=#-nLTq{8_-6b&&pKLKD}|Y*PSAp7J!Wl59YK*r3*v=R zbjFOlE`CcvCAvKy-Rv3)G92iwqPEUoSZ}2X>tCIJteVTYM(RI<$Ut)EUdK;mlhd;T zj+?qi^kLmyv6XaudbyPLpDyy>?CEb$!VgB$8!Z)@3x29Q!V}o*eqm=mocpU4OK_I_ zJB(zn#kW4t0fPF~cnXgj1N*Ub=_q(nQ04ZBPN)Wi$*cGCC#k?0N^D??Up-yoxvV{ zEnS9|-e8semgK%vt_9cm9;l~wR0}?T>`$U_ri5*7TDc#;TP#GA`X#UkohM0KFukWk zP96DDZBqyx=Ou8<6H_lMd!Km!T)UI=?B6kJJR&tUEayY~UC!a5`SW+rgl}B>nYt`$ z2f@tDbHw)b6(=IGN$-U^%7=UI9~1wW+V&ctE8yYdw%3Zx!Bo0IU_4h~kuhcdV_g=N zL;OJ1P^|*w9KI6mo9=iK9h{!)|ONycx_Xk&ZKTs+|Ppaw;lH zRhmPsS3z%ru8L3}AQJ+SkaD0ZC42^U+!mjP%jf(2)(w&SqQ&YHx0TL&<;b$--()Jo z!nujAO{jfX<&?(G`zK=4Dv1Ga`*vtOGu*io?^$IcvTe}i{Ve>!_zi~6MkrxhSV-d+ z{qFHwR7iB8LEtUN=jn*^=RbELGhJFK0XD*d=DU3T;02YAYziQNmKdvzFK+nAa9p>6 z`LIbZeD;Bq$3le=BZxtUs8V2biept4Zkl@bNG=Ur!f9I5nd1VuuV$fkg<$9RG5==h zSIGd0ynB=uybR2(*k8&QfqAbAv)FXbh?frASd$qRor#j;tfi=~utnH5#AGQU1H|1m zFLOkrJbRO@KAVv2GmsmBRDMI=ViOKQK?y?4D!?(e=VO@5sDV39 zE!kMC&mA{Z!HY@X)M)uqws30dvz2f@qJ*ao@1h4fcSxu0eR4C@)%#(zj|?o-&2<`3 z4%}_&wU=JB{u;{XrW`0%dhE3^%?v5u!6ih&2;D;7FUQ+P31;BVs6=O&Qw&)j zhfSksFi>qK*NXK%R9sPiHBI>SGIvNjJkzLKNYJ;)Q9WH>*-Pa7N1ufCR~Ud5Pw}X` zr2GqrOa4doZ0W6|+La!&vStD{=vla@guHyXOU(j*aQr#DazQB;zdOEqEUTqT^|Xg^{FTcIz{p)v%>hSc z9`(~*#`CF#(FAz`6TZP9;Z7!?cn4Y#$C5Z}_;`|rndekmxQ(urWxue0lqBT9DP+&x z*wFn29&iB_jhUdekf(3Qt#|I*vEorA)bf6%ro3$aMqbYsQTgxqwE5-juX4LRC4f&; zNO%iOn|*)&h}zgxx+sdU#0PrAkS2bbZz{;RWtQVfx%xBlUT4YOiZ^9nHcWO&?ekZ7 zp_uk?0JP5r(sIg3K0)zWij0sH+~{4UX!X*Bg-@8Lw>(Y^BC)^)$@p;kZ?vYrZ^q!e z?J_tBYx68$E6Av6B~Z-@PmbzY1DdT1facx=SG1OWvV@3YBw|8HWWLa)HxGFU z6fZ6HaS&+9SJxOXx##njKZ9)AI)o$EFb}`M3v&8WJ_E-C@X3(3r)D^^mcJN&_ld5e zkdioaZg2ICB`3|6G+=kwVe)RrW>wH4;olbO4rMj7{@tJ69Y9BzejOhu&IJcnb-RX|e$Yrt$xaQMQu86rnRd~Sn>R8ce_cVL?D567!-;=3Db!L&dN(dK4(=b_TH{j<&cTcVHmSSyzz)vpYD_qITMI?d?(s!;u7i!3>_Dql^dLkKa4!AF zCTG6m*(^xI8|}JuHyQomPva9SvFLVk3nSb#&^=<)4=XiD0>+Cu8}lvI7>LjCQR7W8*B7BiI0z#P6mWW zWO{4%%t+-d4=$k|Me0{y>WVyjb`U|lWXN7HAP~sZgZw}V@1Ux<)_#9^x}-Lzl>sRd zZqK}2-XTXR_1&VAHZ;QfTz5YD`@Z>HhN00NqCj5A9@(Mm+F|3;c=TiGxko>_raInS zoz2i>bFV=36(C0%;8)9L;-eZ6#)^L;O)$r;^5~7LS()YGJvv#iJ?p`%65<85WvFY` zd{eD(x!SiO2fj!yLr|u6VlMd0?~P9-+$BP1{A23NS-(BBOVpB-%7j_M>+kl9Y}bF% z_nheQ+AwQY(#ljiUu@eDlD&<6Z`}Wc1_Qdzqx%rI+0RtQ2}cAR5qPC*{(Y6e$HX6? zzc#K?l|OKRtl0k7AH0?l2SRer6XwDO+^_oGL&Hd?`g^xXfE~$D;M;&-qY|lZ`@a^g zcc8bAI;7{&M()i3$Rh(}5u(o>^1%6jhh-kh#srtDhLV!0wF1BMLOw%p-HrCXab3V5ZVNU5V|CgKtlSr z66&0H?tkBVZ3yuY!$nsmYt7kgtH zi^rUpn5gh*tnv(d(b{V3<>kfVV`VeX@vLB`BGEfOF?eSe9zT53B(KpXUz)glQPC)B zIpzrS^0eEK+na9Sn695^8E%SPr*YE7z1H8Ms)c{vTqPspzE%^zZm*4Gb-IlNdkb>; zL8z&+QUZ(HY&qTB$jl$%y*5N{QFvH@i|J?bKUwW|z@Q8`@_mzS{ZX!m%8uR~>+dZC zx3VYdD_`)>@pGV@6A%0*XM#1a#XOi^m4Dfz{^lidy=~;@OPdkXTBTD?)#x~e#Id@| zgSpz-A}J8mMZA?=IfT;w3Px`r9qo(v^Vw)UfA0o3-L?(u4y#W7lZb%|f7vg$4i&yA z+&T5sz>rnnmzC1slI_3rWxE+h(b9@rZ)0d;tL4tjoM5E3tL|-^&f1Utk)xpdbL+}L z$l$9VVRmAF)v>ClQ=Dw6jdEJ#`6OlFRvf=9H110Woc}%x&i_0BciGXfkZ8z8f4&_m z8NOdPz4IF|kT=hNTHE3kjg6L+YzU1FRf$Udm>3Vs!oS#c? z*$?`ytKNDr_*wi;;WS|Z1l&D zA(9{b)_1-@d6lf`u+vjtk|ETG-y3zZ(3i`9tL$c3(aW^O~>OcN$SjRMHyDeX&f=$6)C;1Q)w|9d;kM)2cCiY-tOJEyTShyGcV8Z`m?%d%>_0G-4wjPCJYmblMnK=b9 z8swxWihAU>qDtOyJ4PiQ`JG_4ANH5KX3v9*KJNPNRaRzOcZ`k8e|VJlm+XQ4`Wj(n z+9+8Rr72g_5WNnDtaGb!R9n8Nlt&9U%|?vY*s}|jv#nO_iav^0^O1CgaG=7Cc;vLL ziNnj;s;I!_$b0r@8M~$H54FT0h?{}FQfkn`Kq|#p8*8)X?vTCbZKfXg@ zo}##@!`f#PbJ>l&1DczFHttX>-SNGHL4=1E!F z8x^LOi4%F^Jf#>$6bCEQ4e{|MHhWZKbooyIN|Y?7YsQzgeXyt~(BS2pZ!NxgqZx_$?E`WVFv%<5CsS{YTh^ltG5 za~F6`ub2B^h?@8HP0HNqu?KYiYssYKPNPjp4>9T9cIV?i8o5?s8(OE2RUgC?>~Zn8 zJh&v39|($qD{I$+3uRXUulM*yPa@=5?**{QRXalz2_}2z%U3Yqlf#Nwe3?KMv z3}vs=u(#CM>R@R;!M`HENk4fP{xKL8XJya0J}3yMoPF@6QaPoCMW# zL2lQo_Jn-0O!pWtrgUbi?H)ocj(6@Yq*`;^0iKk*Roh~!!w}!4ItEqG$I_sR*ti*- zQF@QN3Cym+1ZE??fE(mrzzs`69u{Pw-FBedFvrlL>t`2mS%c0lUe=GJD$m(d_!S|J z8%s)C9MXj>BlGLra_>w=fKhG2t?$7^T79=>y$41{@>rB?wg9h8;F6?VV;_=@N|__c z(lM2?-En66YP!HXA%569GH}?P)|H%%!}j#_)I`NrulZ(osa?72(w0l%dx7RV661_< zHG4%^>YB)6xmgXG2SCQ>hVL#Rz}6nrR&T-M?Hf04G&_F$+12uEtYg)2P8&CEG6!!P zTUaJ4b8&6QP!oqJ8)rO8Kt`Nasdy1X8A0Iv;8X(+VdI#%ZkTPpA;Bh7{fB4d>R88=3~H`htZ+P~ zvIdLGIZgTN9q!ZpBMZV?!QAH5*ioRs0b8(MyC;3?n1%Mm#YKOQme|{>(;sYT(?wMz z4C|JC-w?ti?SqA)Ej)0HEE8BbWdM#FNn5u#c=?mutK%fxe&BOvdGMxm0x1M*;fO>x znE~Iw^TF-8th-!%v=|OXK7AHc0cmJ#di%$3n}GuU<4SqI+sHdjD0VUpN=lGm`_Crt zC_Lkx05)F7kfR{IE_*t~WhY!Juy*+@bkV>T`HfwFVQph`sVtClvbUe<(kK)BS`+ZQ z`72O}@YaMwF&iDRp6AoRHM*Pv`d?oCFxOvBi3V>63$+SY{Iv5eFXcV^-kn<>Zr;CN z*l6`9VBmvO<=Rrpl+t6mvgesojtI?Y(H)O{opsi@Ez~H@Rv7PcT_Rc{>X(R z_AD@J{D8Ntz~wiU7htcUUgfP$T@_>a-ClJzltz+w^|kWuL08gQG$zg%eCMdS`a9t0 zWX89u-K}~Z{pP>(;mM4+M0Tod{^KUI!>iTeWGHMn-q0uviOy7(vVOLeww{C&BoRZ6~m^=;OHE3$C24(%zB(OF*Nn{0l|gp6=- zQsjKhb!9)gA6NhRs`Wr6jD8X}ee`d!myeBQnBVp2v-afTy`niM)9+T~dvL)nig^Fe z&$q83ZIAVn2=(z*F{OxC5N%6gz^giI zGhZNAv+6mFc)SO_+!H6C_kj*MTXX6cMu~{?oP|1?DKOZH!p~U=Vk(bKX5RKlT+B$~ zXO!Z)rb9g_?}Qf|QCR_pPxl2%wy_8k1kX|LDm{&T@*v)Y0nL@7;$p+o^BK;lbzl}R z?EBMLQhXGVc9Nd7EQ)k0M`uLv#wAbii4ZF0&|44ETjyc)vK{C(fBMLXUesXvoNBMbQRivV;L_%_&NxHUj^s3JQ@oPV z2n_7(JW&pZQghn&WEc{{X+C31W22F59ai6TQ8E1H`Twv!nq5Y&+r2r79-Ts)G5M`! zyJ*Dg<7iFQxl3ERgZ7(&ja|3>PqRHRkQG45VpY^pI}6Sv*Mb1t*n?nfm>+dHZblc? z^Tj~?i0+Ba439-HWa*pvWGwQRM8UD}_D#%Hqc|m`)hhf1?;lvw%zJ(i!iB>qEY6#E z>YC1P;IJB0ruxj9wjbJLw|F-}HmL`*x3_n9cjp6u(?(CZ+SWHPa80+#BeS5rWtgh( zSBHgJPrR4SL5wNkBw;rHt&b#A#?52oYPK%9^2v%X+5$c2*dRtu7ItN(CvK78hk^c^GkAzZa* zgB?bkhshv|nF{-jRjYqj%%SJ`%x1+2W$S#kAPpmdv0Q}L9ciET2>*gB1c6RA{A*rS z&MC0<)bYTb)2v#GsUrr1A-32bI%8rV&dfa@D%3bGIAkU1@{63Chjl{|7yF4*=42d# z8SR|v9T~L~TYuO-KPF0?a=IMII?L^k=HO!6U%{wTfBp(=FA(hmCqD~iUBP=v+b2@7Ty^1PA zi^MW36BZQm+Om?B)9B)ke91znPJVN3^L~qs>UD@4qIh33g&{s_!HXIi8a#1ES1HMdKyX>(mSS3igB>rF+S4&F(gDGJdY!aiSl7dQO`-YfZ- z<+;qwW`C%*DNpE((wQ%zHRTTs1XS<5%e@ZY2tw&Mi5LGp4!N`M`lTJL-Y_R@-^^&F zkNlYmzzQ#L+Cv8c$m9dj_DY2;k~uST^I<{zF}i042zX0#5|vfTW=toNB(09SA;{X( zu=rwOkZ9|;6aSQM+yBB*4(TC`7UJjzfFK0{8%*SP8g;7`&aQ$+GAo-u=i0!o>4rL{+bE_A z<5tRt1-ui9#WqJBY7tUuf+$&;iwajX+Q`TI+$714h>m`8Rv*p!7_`YxA1Z5Zrj&yD zUi?ab?UcU*8$H!cUcTRg`5@(I;KMtmO{U#>nAxpXw;VR-7I>wQ6`lAk{+wnVZG8|6o7wh~YA4lp|JJAax(!fH_l zpCR&0?}OPkj2`>YA{Imn9eti|W+Zs;#G^0k64_5|B5C`q6wmw+!VU1iSx09h{8wOM zH(&fuPFAX~D!^<$cH6lS0dPUTTMfhYqz4waJpss&X2^imO9T`&z-$ga{E6;~Z~~8a z-$TYswAc7|45qC97avIL4H)Ewt9n!}422kz?2Y~MdXzbXp8H1t`22XfdXs~re?gVN ze{%SLez@%w8<%hxmO6TZp*WIfnc7eZB}1&iBMb-_;1Fmmn5ZW+rM&+Zz#b{skyIV) z&g^G_Y($>m{dynDX{D?*ZU(PBnnx0p4lU=G3&tCvIe3Qc<5FGBfsw{=rs&((zz;08 z?q7QML?OI#C^HJSW3Kx!;g?_@?VOwlEF0ue5D#zmQwNAnwLODdoX{n=nzX(BvTNAE zu)-hvxf|&fF|cO#XN$y2pkyptxP#_SR;6!u5e=D3qeoX6olIrXEbY2to4sTNZind< z9DB`sdTlp-aebP$lB>NnXO+}R15xdQk6MBJAObeRMlP2l!c+*K_`5!vRhX-xgQ=uj znUkC-z)XKnUSYNH(fF=f<;p&*uq8pZ#`S@L>_=yw6pY@F z?=`dYS9xp$3}X);XrSMZ&fWZ?v}`~X1PdoMx5Ucv8w+nCG6z5R$Ozk;~Rix?grHXB7< zeaHJ7Ff>rLBwyt7Ku;|iAY;HoluJ-W8#c1@Agiy0C@NugriSJT7Pcb;`jCpWrWij9 zG+RkQq(RdQ)7&3F!bnGmlMrSGMl5UQbD+GgMmzcwjAX%DkcN*#>BcQmt-6nfy{I$^ zeb+jB^M?V>^Cya^<^5>w|!b?k}7{+&gUA+wW==PvMha7 zh*_IyL}B^2guf0AcnM;q#oWt z+0IL=eaaR1uc?d)@J*%8iP|tfpW%%sv^UL4`#Lk-2-8`!&ymrg8(piqY9no<@zqUc zp(}WR9u4x=<|LBeVW`45+?t|-KtAg+RGb0rfF<%XI);0T9aTXXKd3JR6>{7VM0;3a zZIyADxS?qv^MeVmI|$Nh14-ma1?iTaIazeCCkP+p8Fz2+2hgXuo-@3T?NE|AG%;2m zfcC%)r(P>*A{o7F)!CY5#W3$Lk2fFfhra6?%35AV8mtdyAFe~_pT5U(2T+2W)pa{^ zZh3rmzz6=p54ZOb1G*!IfjM$)dl(gPJXm;So$f5Jk%^ka)cB1l>2iCyEF>)H>`D~Zh z=d3#K9$cM|xECw$%%1Mb#%1SQBc~r2>eA|Hb{?eV(P-6@Pb|kQP|QB~Jr5oE@aSEu zzC+u?GV`nO%dLl6--XWRW%&{SsPK0AbLorz2CW(QBLU(Ghe^5{vBkgv_^rW|h(fnA zlPzGHl7kFR#UC3oP0(iz?NVjjw9ke-YfF^P`m7XRg|)?(ckG> zU|iuQ?O7P@WN$-(pQf?~+~zAw_0oR=56iWAtipa8$6`EiC@xWjs}olSJOrSa`;|@9 zSru}9KV9aSJ|g^G?)dOaYD#MAG?9&?0ply~MS*Br62%G2`7*(%zxMH6TZct7ZzzEC zsJAs|tB8cT=Di)MO$fNW>&rFzwv?p%eUG{ij2#0jD(^R>&fdk&<9$V9gyl>Ro0)tf+^ix_=c+I#J^7416UNwe)uV;bvK*bpHg|ilTO5E?bIcOzVOT~v`T10^wd;wrOam}LX9sW z@$ZYewtnx(!Cs$i0&b2m%d0X)r*-?DeDAg0oMdm7rL@@X+IU6eU%Ahysg`C=0Qd3n z&-DRdxeCInPFyLE>q+*0N+OZAY}+;sQG5X&9sJ6UGY|E(Dh)=EU9FrwP7iN{Y`lGm zH0M2B8t@QgSVJt|`hksa=HhD|qkM!8)tafe@Qr!tt&Tzc@h5KC81?>1ze|mk4|!QybZ`bOScQu*XZF5aI_odVDvBPIlI zgHbxIbMEcUxaH$a*_S z(z#80 z7)Gk+NW}i=V`G)AT3mPhm_kdKC-fY(c+3ES5JuPMWiz=4X+hYsOzIj0E3{i3+nwwH zPcb*MvB82Qr)&WZb+m80USM&lnMacH0YaGx%L_FA57Uq9$Kh-SA#KAODQaWHT;K%v zQ5Np`jt`Qe`elA@rnbw1=@0pzRB7v3=`hz!cMJ7!UaZjV_2j8JlCjBXjp>=1BSv%p z?o%Z}sGn&5VC<>U2OqAuU2{J~?2Y%3B$r9|H!g1}9vsYmdk~XE-69OVP@_2;9+xxi zRf)cz!!&Ut)tcl?@Qx6!h_;+kybqbZu&@tASPPI$0PKEW?pke12f@+tuQ-&Dp`pN$ zEa`p*oo?to59fiTB6v5qqRQ+Fom#w6oCY@lTE>W^B7nbAeB}K;nH2MQwly;+o3vca z;unQik@i-<_K$P67Eet*Fzg&Nw^pp$031V{$5hIV<(V+{F>;FyJU{wc+>XP^AUm$_ zU=hynhR5#JdT0&ClLc! zqz9svl?U|5b`NOPsO6>V@FW)vS;kgoH;pUt#EEBh%0ihq_sVmZQfz(Dc?sNtbC=4C zuay4cjz}y5UnD+)3pcAavO4jl z`v%yIh&#qs^WVG4(kZozqZEOxx5@_5iK^v%rtlYnlt0q)720u$L9PURPd*1818+-a z52cD%#DnENKGp;!M;9RJQ0a>`)F{!q~L4I-E^P96B7w=(STx9+Vu*WwF|Bc{+ z8W|6@0vD+tety<}ju`$0jYfZI04QXlC$ZY@=W;#7>n;tDuaBF~fveaG0FN*Lfb;>) zoJ+-*J9_N(@?BuI$C7tJsF&<@uIhf(^@l2-lzKE!4QH$aYt^F4TUvomL4Ccw=>n>C zIF(}niF2S@v9T%+1Rw+(`>0q7yVnvI>yD~^qRQ!llzk+~M{+KyQtPT@==tKyBsCtY z4&lI0{*TGOh2O^pGpfo0Wp2^R*)@@JIi>tNKcTnYJ1@};v0rE;D8@CnO-AA)= z)ve7w+spKJKsI@G1jpf)qXxulyzpWDHI^1g+r??pJ-Z`n-+mF>(Jsc*O z?j|mM)Mk(B#*W|R8w4K1BpN{MU!IOX69B`$EjZ|K#M zp}+2j5s!HsZEbIP>Jx#6_-`gronPi0UX0`_w(Qv6qgpQd?@OV3dfk$H)1+08G48w>ekLPS<6P`zg#sGT? z5)(ZUL(@+bsmt4t0cY%qz(v3F?twZFdEQ%Co6TCO#-P2G5<2_)>ew^5__;Ebea&c~ z11g%8Vs(;I+C8^qGQyXmbUXjpuo)pt&YEsPWCgzc#|ANgcx(Nn2(b{!>o%ux+X?Jj zL$YOom0;N*C~hgoO8DBZZfT-TFb=~V@QDlr9_Tr<$g(By&4`kTZxAlA(Wz-e(xDHE@zWK`MmKljmCcatpG1=)DK zWy^GcDr?Ulhc!->Gn=5AisdqF!rZ~Q<(^9MbR&;qtF7A&k$;JclS2sLC%EiNT0g%J z5A`BVrMwK@)Z0(bt{@sbDj2*=UGi;2-Cx0uNNQ^mHOC*JgN)LGeg_u6cOYw`wG|*r z8qy1E(Bi2l`kDScOZKH^)#*QVz%V2OC@LYCAy1_TimORK^5WUS8Tv?>FP-rR$YWhm zQF;mnqbuF6HuqT#W(T9QP0Q@1MxlR>OH{kaXXCh z-l@}k*xuxYKcl7SvO~;5Me(`F>D~;$&uR-m9f8tPO)peNMji5tyPcYg--GP>#~$=& z8Q(zrMM*R8ut7>de-_ZzD1n20joxidO+zF^h>Q8?lVv1`LHn2M>x)XsM(gv(f*z}Y z^N2gDRFKB+ck8Gpj3`+q6bg_pkkGyq6dKwMP>x82n4O(O?MMY!`k)_dO7R2_pEsuk z)L(Nn$OMmNz}Spd>VKei<+*mqHf(m;afT4i%yEK_Vez(-pK)Wt5OKNzU@Dz3A9Qts zQGTx6H$MPz3=fuuogQ~k;T;^MN7rz{|{u) zY*|Tl=-yz*Zz3FN7au;aF({>+82G+#eGr(pZ3oo;ch?tS*xQ?;=lLa;t!1MP>_eHx z$LD4M{G{)|uJ(MYoNQ#~ZWV0}nD`?u?#q)TfiRgy<0+`sFkG$g#2;OG$cRJ|vSOxl zaSLi=+A^{T`P#@R2ER{r%U|nYeIA2LEq=x4gk!9IB)!@EVhH-6k9^J*!9o~JEfh!Dq?xBFsRL%=-Uc8uoso@we7+da z6)+H*U9&CC&WA#E7oXpB?oahIzifNQV@><4v6U>>U^#2ypkJLTDdArK0^pM1F+U(< zkd*29PIc#FiJCz9@gs3giLY>+K*RAv$rIkag zFg}2~l$3Gih+Fv4#42Z-rS~#PwNio|N%oO_QJX173$}LZ*FBig9xLJCA2+% zIAV0Etr+BX{nBg?L0ZRC0KFi+%O~Q>PTlA$JNF>ho7{qCcIP zQ?)a%3nM?EyfYZe)d88FYl}g6oP2{7cXcunfc#UK1aYd(Qdg?+iKX{gBsWN`lutw0 zP%lMR#p|gCE8Yhb>GM%=x_|N;^fyn_94W~=ODk8FJqIJ*f!n-lY#VT?>4a(Lh^ZaK zOUccQ>!(mVmq3nOK(#X1MKE=uBxg;n`lTKE_ksNw)#=bSO~zYI zANMu5SXYkP1cIag3f}(D4}ZT~O0dm%o}|~IY?*v66Em6FFpM}!46(#O@e2Gs@q%R% zfr!Y(SIMz{cZn)ND4iI@Zs7 zsW(eTX2u_|WX8aBF_Ij0#qO^sVK$TrCyFieTK7Ons&tthq zTduZ(0Dzv~w>mV}J)zsrZBhs?pcZ;|8J4-OfFOGK7Qw9BQ# zUOACUEsl`Hg5%|+zLe!s^hdhxsTLK_faI1PpsFRR+7X?R^r!w0-kqY zE|N5d#UiI2tXS{;_=WiJ?oe%A3L1(!WQdQr;7&V!Fx*4~WP78cmEtMy1 z(hWs@xHqayJI5<)1;EcL@E1_68-96qyd;-<9==g(k(vgntqDJzU$+4RY)v?)yLM$# zqzW&o8}D+8tVRn}tPEd?MXC=%Ub{>fSjpzO?QjD|zOs4qU3*DiPqXnnJz9Tq-7U7S zkA-srR9k8`=%)9TYv0&#-UXZakEEi;=vzvzonz}Q*aC8>V0|?^y9>;+zuOKu6e1^u1ZEW9(K9jh1n>>D}7_!wu$Qh`c9Tlv6`8z9X#* z;uRb3Y_&A_`J)t5v+^{`)Y`hbd3;&l!K9-jIkjV+2DRlSd>D#btYHhrfP?Fl#!1tN zRkMRUmb?m9J$?MV% zgdJl<1lY6J^8Ox6f;)YKq|pK3w#Qu->IEBcOD$GRh(czW-1)-gNi* z$o-4}jtjRBpqs<@!zmZ1g>D}Kz}#wn4|rV=Bau_%h?Ls^2!Ku!i=A4z!oB-ud0OWH zKlMy>Kw0?T)r16Owi&RhkXW_9bB^Dh1+SZ3s+_$Z6O*+E6Se;*mOVb+)Cel#$Rwqt zCoH_=tipFZwKu2Zn>O9dMxW&ZK$}5`m$r{|j!8QPyLuvDA1_xezsat~Z0o>_9B1}P z56N69n@bJj9_eL1VN8^nhf>tSVC*Q}a{6Q7*6J>Q#mJ|@ig7~nNJfhP&4@4PA>WU6 zGqbxBvQz;{N!VFl#dIVy%h+cqYl2a}KRZ_q9yZn97^rUDH~;Xtmw9>V57JHR>o$CG z=9T! zE@nTJ$zPbVIs>5DRNGsL-r_GA>2O>}od;4+Lo@2y<+7(9!SUMR3%UAbF^wh2*TIpR zqhq^gVJLWz)pQQfKCPDl;JkNsjwxULrfy8N(~Hvw82rlv2L0T6;kMFXc~{+S?e3TP zw?eYGPm8lfR|;uns@zFYbyJdg7P1iVBNE6HHDvUBZsySO(xGJ)8MP5U6=6J|gN?VPOX4JS^ovdRO_C+SS*;m8Ebm z)F7hxqd6cub9o1ga0LCxA{;Q9s#3bU#*Vi=j!^T#0B*;Ou$m5Xk2gE2*fZakb6)yB zv7v5o49KBVVpV3ayUT3YVP5?|8D-oU;anF02<&uId9%H}+jl2sJy}jGCilJLpj8yI z^X}pE%#}tS*`zY_{BHCa=~Wf0=D2y~BG5rc*C1N`97~LMt?wyZe2jfe>du1?Yld34 zJD%EQZSOKtWBy_0`Wugq>k<#Z2Q6stqj4@A!6Y6Mu<1TAc+OujaCb#xk!e>*J(*YBYY(%KxMnW@P!+djA!(IEJK#sp)a z!)+LF4L6=}DT^x2z139OHO_U8HWgKRA4Bg)wl!7o&TkyJhV1@`yNUQl1q96fDNC2y z^zz~iagX)v>J2>bOe;6Y!=>MmY-)-f*|vdWZFrA4yt-vPbi^JZO2eNAk3~Z)7xV5RXVT4)Xk=6KYZ$1b19BlWBNf- z1xmP5LY;WElH$ju)R}yWEl}09HIUiR{F(VKU$1s|V3*!GjM*X^v<&wlE6%yfYd@+~hC3_x5=d_>grS(=y0`_UYsD));ORT;&T;ZNFuD05r&f z{?JNs?Vije5FM?vw5MQWr=0t776OYtGY?$F|NIcB}INE${(23-i%~+ zQ+Cw$>!7SC-5-RWEK?9IoCljH;^70bF#9ScjMrsYwd!*@2MSfn!lB(v2I&Y=xw<6d@#2HLmA!&r z$sibOKs)fRZiPeZQ2XSzTF-6=g##JSS&M*29oqCVSi6*ezb4~b#Vx+YPx%FtGnLYE zB%2^j%rY4v7&;K_8uuYXVvi~t;$e1)lgLOm`O(xvA3N)8PZ=K@|7D5gSW8wjua8Ib zJf{Oya!RRHoUA?q)YhJz#_Pa8Z;BoSJQIC>&!;>(I%mBn`%aZ;wU0LClVs0VxkYdB z1N<2mS}}j2F2}OTydh3t9=}jyB?n%nO7^1J`B*x6xkYucvMZggUv2x|@#K1qh@zUm zs3M!L@u%BUY4anr4!))5GiAhW$1L(RwncCiLLJG<&rmt7#+Ys^;=+mvacb+XsYj6T zjv&KtRHZG)ZPfEHXt>=Rsh#sI)1#_;3CQLe+j*BgcVJebQG)7~n|5>F;VI^#8+$ z3k`n;z1{vLh`IS@l+TV2PerWTs-blKe>A?uuU77ACir&N{4*pR-*EFMS*7OP4R63O zR4>Tk?az6D8c9kJ*5UIjHmh*1%Y5wP9l?K z6tYe68dwKDTm0&X$Evm(UjXmkY(8DM*qEqfs#h0$ps@{8_ZxZT$5;Ov!(j`LRVnCI z1i{M};D&AL`XbdAy)|}o#2!^@hhO97iR7Io=hG8Fw&@@!34F7e3WrLE4%Q`58bAU* zy4L%j1h}T>;HP`a9u^$P4!jCD@7(vd3y*BCZg3Ah&-8Q$g*Y`9ODDjqI2=?oT8XDJ zCPk1vR;I1Xy)rpdi6(;Fm=g!oZ0=B{JYG4jRekKLU`kt=b!r(0r$1SDSXI$^$Kf}v zHzzY<11a}d-vPg%73PU-CHFJzVyN5S^5D{CQTJn z?^}bc!3q9P@w(~)|EwVWfB&0zR0So(qwwwQ0iVK4l?k5Q^6GxF#Y-RzZ=U>lTN%34 zmFm!rf)CN02Ft0pk{_9?pFS%tqgLR$RobHG39X9JgJIpQtyKIH$$^ykA;fRD4T|V> zd;aNszf|&lG>!3Tfrb)W){ek`&^8~dr}fXEq#u)NZ!V2Q%1a{KeqBOYt}E^0c@JZ8i(+x z-O+w?BO(lY;ov?byBBhS{Bgk0zIH`u6v=)6yOZTqf3ioULl~AdM5S&DueMfh=HV1r z%NC+yz#)ATR6sCxmpva94GSWBICQ7YM<{{u3~eSUxa&9i1^G5Z9J_?lN!Q(+2_eq= z5#gPKQ|Vf`NkMj&a;KlJtPAvery6CqafXn6i(>qqjsZhxJ~AaOZqYoPQa~|V*^Nvz zMtTv9&SBcNx=2mC;)q;ole?VxgN85k&l^imnA}V}$fHIVYlw6#N1r(gSh9e7hxy~N z$LT(jj!_X#yL7{A-s_1GBKIEGTNer*D8pXOAFXI5qLVI($ z((@GY^twd(Lkgk~6^7OQl_c+*yn8$DBagx#aUC5Q4_}HPMZQzLc{;zT^PRYJtLD@n z!FD!UUmH45i9cETAiTNF6TGg44I10D)^_-XCQFf%$Bk8xSvvV!0itG>#}`X!lxWOx zw2(X1HL%efC3=4k4+>c0X>E~XUfGt|=w^%!R?2;8JsNe|PWB+4`tamG? zgkeznkhsBUcUOrmJ73IcwzD!gDwp_Rtg;o;TTb!U-Hx$~?QYJ1c-xWiJn#Fj*`A<9 zowz$8;v-K(!Xf(=AyxT9d^TOz6 z@665f+eFoMg0~}Wr`sDb@r`v4v~9!1QX+3(c&^Q8Mv=xS8HUu5%-|}cff(Sk3 zR9yUonV)Ca_PG%T8`~bU%~bw(^;pvTM9RIQejVNOk8mPsF**a%GCk5PXto1whv+XSH3TIdIGo6xdh}mu}@;<*G7v+AmjT#XL)@;UJO}2zit>^KEh>Hc0oV_R54?RV= zP5cRH$Z`nyzqAA^;!MlzkF&o_jWUV1jejOrgvCv{LFrYt_b^f~mRn<)$41G0IY}nK zCQP0-=Sfi$4CCOf8n2XpUI5Mpl3^|W!s-*&b(d)KCm^`&dBx(VZZmY7UZU}?#3g>v zx)pkLtczWOvKb)=6LM^qRZ2s0-LxxPFww+Y+n?lEP=eCMT)nu{OUU|2Ih$rJ`bRd4 zl$H=lhA3?e!<7+L&Et0yR=@8PN#&qo#7xx6_A|G$)Od4uKbTFR{Vy!YQGTY9_PpAg zw<%S^hk8?>(&W@sHo`&vOk!bB6lznIcyKDuG>-utD4}M_6&XxwG}6m1pvwS>HWn>> zAiYa^Z{<4GBzh`xNkoJtfL?Q+ORgX%2qzm8i7lFuLn9DMamPA0g_y+0tj`F&F~A#S zkVT#d9*9Mge59O^{NTN0)&45U0i_$Lvj5`9cNX8@{iwY9SUhv4L6-PMRcb*R5M_@1 zjFATy4wu@kfV3pPV@bLzbq_7XDg^odw}U_*Ch;?o=;4%K06S>)eLp>K9Wb;Y8FF)N zcOH;!&=BrZtCWr{b@8IJh4V*Wb{F*wN`~J{`N6G`K7~g#B4%tK^Sq+I79QTHk(;~b zKa4+)MTBAJ6W?lRApVU=@Sn*oe=KyEbv*h=tsjlNw8PwV!ZXo_nO=0Qy!gPw&wvtt zdpmDlx}OS)bu%hSYPW#()a8rHEx--&eTnrR{d4qA17Trms*g!F$YRj!Zm+C-<9|G@zu~UW zanowtG2bzSrSh%ruN8UTSSC5(C>sx@#IYgmJleOTiGuaXk#sTZR%8eBf*cD9Dl}PG zzAy0c)@n$%H5D9~mXQ<N3KDvE3jo&Di2{gN0WrCt-_GO+)3yiAQE!Iw@geQbK z5KEss^%vGn$k+m?Vn*!$u19>U@TnyY{s96am3{NvL_4Fz=boEDba{SFfc@eh7jUFil3BWG2#KNV1OOzFbxlFxE&$mHN`m3k1P|< z5a;=oMBnq@1IEAEnk`!>7uX{bcTOqBHWCoa15dUX39l*7@zSM4^-@7 zJ{4h8*$Bn`NxnVCM>j_w>L}tD)`b;>_Z3uh3&cqCkQtN!H4-`3JIm?3PY2AUh_x#C zJMVgFe0H7b2K3p1v2@Sgl{&9t1R?N)xTAahBhkJ@54s=&o%hn-Fgv^()U%q3^CoPB z?aM-TxJlYyz**EiAT;iv8-7W&z(NHf!>tyS%b)V>8V^{)^2$*0c1=H;^Xz5dcEDs# zP89}-ZIt} z#>^5Rq7umyy*-nZlbA3e3%^byc0x@A(s*MBWYw8wZ)t-sXJYOI_TdB<6>X|{yf1FP zmA5m1bH7K%W>$MB;{I4Q`=lM_c{Fq&BHeQ_xsWKHun?+|5JZh<5dVf8ovYrx(Npm*GPKazjHM5Gqb zIF4#*6`oU7KIxW0F(o3_u%{$O^w(ExH4`itkXx>C*MnbYtXYoTWuVZ0Il%A8Q$+xa zy1sDO%b~dWgwS0poFmuDIdRjK84C(sf4Jm?EKcVt6!kD+V=2ZzL2Evz%IY#SaRFR3 z_Lnu`KDiH&AGUz%N}IdYGWzaJpAqO8qw)){Ke zw3^5#<@3$=`$pUy>|Z{rb_4Yr(N5Q#y%DOeM!&rQ(fGx+EqEMTzrq?$eQ+4HmwC0qF`r+$&fVXrLYK=Z=Ph6F z2ZPwMHi+2g&qm7|L1sp~Eh~gEXc@Y3adayvF)a%H;_fp1Ip-tD&i&cNXnezssjOpK zVe^!a1?``HK4Bd-V%IgG475C;hfw&s-?VkgHC5om$e1KIr^uO9-|NA=aH-D=-@Gvrne9)&k!R9&1uJ76B zmF|@W;2l{3*X~Z>+DL$S|9g*j?D}oQ@x8|n{t0=3c$mk#}QzPLC3M}u0G-4 z+yp-auRDSN_YGJyZoUBNWP{9(f&5!>?N4ri9k9YYgTkEc^aFU3@tWK13vw1l`C1Dj z&s2HnGZwY91 zE;U;3hWgdu%|E+La0ai=t9bA4f+Lgv0(`AkYrJ1DgP@mJKldYSIok&gI`X7%oa}7V zK=i5z)~3-p>{FLGRYkpCI;i|0BI_1%toE~CWh>^!`@!1&G5Lz41=#ueTC?Dxl({Se zTr;wG)Wr7m!Ta&GMt=p~NW`DMJMl$T_sQYN+bE(RRC}gt`1|b?lj^mU!B-5mjF*H@ zRSQ$;@GbVrmShp?s7si2pV7B@7%sUqrL@czlV->iYw zX*>cN2>s7R>nbvpnQTjXkBF>hs3_`tJZj_onDtt35SC9t3YhR9*eS>bzMGyz-emCg zCJo=}H39kk$;Zx`%_&l{^F!ED|;{}?(jf~^&gY@~A z1<-f~m<&scqF0-3lENwep4KGGB}T9V4D>tsl*65?no~D1;9hCl)(g@@y8Eq;YiQK1 z^z2@u2vkXwsX13%_Qysc`vajbEHg@~?jtRVqLV6&ZH zFt4@(GEltFVdZ6w{LZ}8&>ekqi^iLYwRES30T7j~!uLACnArz6WcjbDAqr_uh*UU z7m(rVwrT9lP~(7Ai4&Ks+Czh>3LlTT^|g8t4r5NMEg1EDAL@N_^TNWy%v$|mz%YEj z1wPZKp&I;`Fo-8+F!TWQ9Q_4)4tV4cm#rf!*dLO0K=N^XK=Z zsoun&fRJ^h_$jh`bx>o2tcIRlJ`_iwkp9aRq5SAHK}`b9Mgy|uITmt-bvl<1c*i%gaDmm$TWy}bp7&3{!JhUYXto6w(t;%zuvdwet1?d04gfv; zN~cOA7f3PK%aXRF%RdOK+L6watH*M>))96e}-S9FqonHD8pHXgHjF-duDt4j>_Rp!&$ zy+)Z|s*o}(5d@H7t{?~2sUqec5O#Vlc9QEN447RbCJK8Syln-&Y0pa>%FFV=gFPwo z`atv_m&QBEsH9=AuvfMK0(w_1emwP@tY#%XB7&(2K=U3bq%9sns?G6eVnAy4UjrpJ z0rRoA-CPhP{lgZ9QlSF+NPOlO9)DjjR1Vfa*^!GxUR}4rwB?Ps94e$8!;$Eub5Z6T zWxUYXQX_u_LH2}|{|Kgpt{gW6g&tyGaG{Rm1%DiTNJkw9ktvv%EU90LYI)rAi^|mDDL=ZWbbPz(eh=+6u#lwGE z9m~1hu)_Ed-KZBW3pqs&^CGPONR05>BCiv`^hUvSLn?r#A+ISOEjj6MsJF~`m$1#1 zPhpiOBrO)m#_X4;_?BFWqeS(A!wR)a9^$z!hvXD`Jp}~E1iEEFOetrFX!cJ=RvqeWMpS(kDel>tM<&b?hvm>5`g_3NSi)2&n7uCe#N{@&Q@9&>{DxXV4` znsWB{jU#<@HD)G4-c5}NE*8*Laj~!>NlHF--UCEe_(R1VM8`hp#FqdMOZOLV^Toh< zmrNkX=QUT*QQd;BwHR)`2?KO6o5AY7F1B*nw!%kaxB4_-I?F;sZM*Eey*&1r_dvWQ zWAoN-bNsgI*ITrJ-j2_&0QFKFt-`B~!wrn)| zwsOET-ulo`6D+^1J$QuI=wQ`xm-%u5{QJJZ%uJg;E4hj~TYoP?KR zX-kFf&+uLaR@XoL&=Ct~E1NT6@%RIf?(v*F^TZCZqOG?^P1M*b!V4$M7;>N{hFuKR zzF#vR=jE(0R@f8c^MuU+UVSqrS|xGp*zPzXcHLWHJ%mAy9%3R`V7dV!NES=S77K3d zVRZVA_i31Kj>olGoX(FBn~y-Tu@LKC(MlepxZ!>{As>X3dG6UU54262u1uHtiIgd zcXFH{XtS<@SQ0azXN{1iGe++x38)&Z?*jTi+I#Kn_EBKo&K-me#3#riAFj8Qi2-Xb zH0?Eca7UIqUg6O3hCj0mb+OI$4~L_9E0^08#x8bKCOXR^NN;AsD?e<{itTG-D`4Kx zN!a>r$bO)}42-(yeG`si+~}0|q6jq(B87Bo@Mt;C(#FXd69y5WRSsc{H#5wiJU4w7 z8g`0d=MI`(Vtvq{VUnzCn}pcrwyJ8!r?EY7iz;uC2lBE!T<0E| z7=yv?yNus-eBMD*u^YGHgqF{XHxtErco@}bR)vvAHX#NNSx=(_YbM=0JSwhJ&3NIW zqyXOUJ5-ooPmZtov$Vazk+cwk=|lNsT7O_Q-2myb;Zd>HQhCE&AkphvTWc!J3A^g; ze5)LBGsfJeVu9|}V_?>PLEn$xQ2EbVl6#0{&ZT6MdM$pv#(K&8D5?Zw=i7_5xQLP> zhjPx6Yoxd?F2UC4Ms;a_Bh88}RdV21^RkbCIr9tcg_FY^6+ekAUm#FelRbhQ0I2X5 z-1k0=u9a26{334cl=(*C$DOBx+N6=wZyB5|7k!GPq*$uw#=xYk94e2uYi0+sOKZH= zLHLSv2p^4Wqb++lrm@2SZC3VhAJ-vCVDWdbZEa4Ib_k%-&O;8ZkLlC5ww7s_5t+nX z=yP|wN}H#Pb7He~v|}H0K?Kt7k;yy)Q|2@o`SW>JKGe~}j=OzyY$a&A%vaI?`C-j0 z)}U~K2L3Q_*9}3EvWSt#ri#rsO36ey(9myH>daz#(FK}i?^&eaMVcuYQEpGes` z`XyPqHJ+{&po(klg=Dg~Dkl^SO0?;t>m4f&izW?_`7J0cJ0BIA?VI>q21LqdM?oP$ zz?1JU!ikpTT2woPv+^Mpr9V8L%#xY?k@fWv8PRk$-a5K{pz?F)i`{AyNdp| zI{)`TafF9f^NO(y2t^*D2(dYw?HRajRSV3D&djJ2;SX_~I|TN;Ge>$p(3{kfi3h8D z9G)LWUx8Zx_l%b_@K`H~b?A*Ok_R&K!{nyhN-B&&+6e`ybP7@f$lL#2{Ql3*KFE1c zlGNJk>C}F#F{U3yA8hSHuHq}qb2x(kY>CJp{#A4RFMR~E=Aw_Y9KBzIKmvB3902l? zxoJLCPAowf%h*ko5D8=t;p5&goG=6jRgYEP|FeIPus?C~6)42(1&TyFS71IFfE=t4 z$)$|yC9Sqraw*d;U|NBx1+k$o@mzy^@#OO`?hPRGWiC@3J6SjWTdmB_x5wlaq#FX_ z`J=AQHsz!j%Yy~?P64kg;m;UHg+ds9!(VGBo^2lLU|eeNiy)JSbibmupmeHgw37du zx-CH3i{Co@6b!+?n^mzrROU3>(~&cznb+BXNC3}U<4~J_I?(2odk+a_vuj)PB9(G# zmnfT#F2}N1v@?u=zzp3mgZ&SiiWM=Lu89PRB=DDB_YM`XkR%TeQYf;CIrcMbemy}0 zlG-r>sj^&#@?87Q7shGQ7v-CkyPNluL}ICR0y z3cS2I;V6Z}?ZbO{EXKdnFyO>BPnuG4>cFEyI~NEWhU(0Z?0bWE2?pUdx-t2RAiqc4 z?-z)tjVN;WO~9|J@Jo_%BswUFjsw-WxS3EyY!h)Vb$7vQg>V)`Di0_Xz^IAO@5e+d zDG2)0)uLOYl+e+k#P9I=QXD+0daHAt(1x1rx4(20OsL1d=pK%EyB`foU@*LpaW>@~ z`NqRZ8Zihymaz|``{UaQmBrGuzSySOqDB~x4u6fHJE2=_W6;9aqtFvv{d|GU-V@`R zP4|s2`(p16weA zz}m&`Sx~p`N5;QE*5r$MYfcXq$gk!fEYs@4G@)2P88NPs08ur#xCJ@-+rCSH6Bprg zo4u-`|8ky#CBO#@{3RDuARY>r`EPOOd-fMP0g)Eo{8K!EagpPD|5&W0AxzvL4d(Vaf7OWm?|tb1Fjbu^CS1MddLS2UR=)x{s)Hpj z{x(14W&anRAvolJSuXroHOZkVNc>_Ps62ra3Qp|GKz6&fu5yL|DTpMe1N`djKtB4v zlIy?Qhd;8&xG)r~bak=}48X)dIl)V=l8S1$c%CMARgDa|5@G89GnGqR1qsOka7gPVyfT}h}=#GCJzd99s#=w{QsZ@4z>GRjz%pox;o^F*O)#Q zu_dywvcCEM3O0t^Aj3v{!$XvTtg)g;n3_7)^-uZu*&|A>y_ef^dFNpP}X#=8Rj z-^BX(FJ(7GSE}XZ4wUNT&l=cr$?})1bY|(~8`;}_DH%vjwav=CmaAy^KEpQaTHuM( z@iwQGN@FGFH}EEx%~d#lkA66@;|XD&50ij9n}5uq;>h=gfTv!|da4#&?yqg)!f%iN z^ctj5pE^n|rtxcg{@amXUIqDsTQC1K_~duYcK~btPh038z;^y=^OOIboWcET`_t)u zUVR$mNM+VOxnDLG+CPRc(<|iVSvfquvD|<0V28*4yIuQVp04(ZMUcWs88445l9RV> zXZ>UH?aq=J4cyeNeirgKlC!AB$eR$=eogrbidbxlKLK)^Q-W6Lo%n zlW_l?Z`zMF*3V3UYTZY6_4ibb;NzVDHjd89@^4h1%s_9UxkBrCX5Rk zN6CktcqaRgG^uWf(wU6jtN9L+!?0Cml1Y{at2!w1|Dg=fUrLFCt{y-@lFJuKZ*Ov} zpo@63+aL#fuyFjH{IkRB`CHA8X%s*OpT9h8x@dwe3!m9of$7DQ6*X2edc3Zt9@aIBqrxae&0X)u@v$&*@cDSf1%rIMgEGT`_~6D?{Mjn|BKFf z4K=l}yPrRRe|QJ@!t%1FIO70ztZG&~L{Uje>(Qf6+uLrgE-o3lxyp?{!$AZAYywvg zz*X(l)|M7E5|Ka?aNl&KG`Twi9|@Vn;b~6&cIn)S5*Xg?P2H2(nVIVX0s;~Uv$o4a zr7H-YgCmG59Bs15G}Kn;Y}ZHJxyq5p4^L^x=^aElo|fw!%vR_b;9IkC zXUA3@+`eDRl|vrj{2d=3AE&w1Fz%Z?5;8K-km>7;=Q*2fN3`wi^6>lzrE{;zN(K*8jDcUdu>kx1=lM;Q_|}T#`bbZ*6U5<>tCl)xG(%C-g~2L|8Z@ zGn30UJ3HGM{`N1tyiYnmVuj?Dm6i1?oKmy0vU*B;delWkL@HLVDS$(*Tnv&AVa&Ab zO>?D#3t5EVv14)I7d<`wXkGZ1%F4Xp;QWn(X__6;!x0Kt!BY-@p$p z@#L4BoQIPRgVNr&_oGvNqBSr4%xtw^e9ef=B1FI4Bedca)D)yrLPRA)#)Ifl2p#Z3>SVQREz-V}q!si5xTg8-u!+(^i|p98egM19mvJODwCi~=Q4i=+HOo5QE9AYH z%ayfn$P22hM`{=cri~r1saz)`(bLm2 zgD`->YCy}^JkbBJib{ctG(OevK4QLaU|@R>&vgJu9b6>llJ(+#&SGd5P^y7q3{7E@ z2KuIq@*&jkUo_T-(ph%mt+%F7`CU5(J~@vqD-t42S~e1PY*%WShAQr{+;XUrMCCim z1Vf@CB2qFn(yc&bmj2fBulq0j+)9g|_0F|>PVUkcTlL3dt2VRlQPv)ZD9z98xym*7 zEIhj10D<2P=T(rCQ)AuDsc93VV=bYV=TlR%A5kOJ)OE{9+79J4wZEqDp2&-iavzmc3+oJbw1F3%=Zrl9G}v z&7wAgpXh|lT~5~m@wN<&IaLnYQ3Yt{=!UuFdH(b<0dtmTGuEmJtM7<=MmMc?M zw3My+#SeyxuJ%#ShoTlkt24T46(!c3FU}8f%~v(KA&NCIz78dL%guoGb*J`3DV^SQ zRUKm=M9|GVWx>V;0uHqlgUsm%FB50Y*sK-{bk4Yt ziU@^*Ra*`on>sAd47Z4oLjTaP&1D%U5q#qj>^=W6;xPvs@wKK?Ei95uxq{spIp42I zZ~M`in8?uTRx z;V#43`_Gk%WDN#z;y%7(ttoBjsggRjPAM*15kZnq{Cv0M_+6`w`HV3Z^*+h+M=R)( zJNJA@7jR_Ow2Kvg_A_1*fz&G}54(_!*VFD~S)-#r6C|8n>L|rr0=|Rila-y_3rb%0 zcXfSgY-}{mu(PsS5heE)z%Yvh}Qdh+jmDJ5i|}J z$K7MP;2oX1b`@#IcYg5)W6E8+T|S=6(Lrjr3qINgT@qEVuTOJhP`J> zq%*s-xx4QdIDJH71mSe&{fU@CZa#;~u@jd^;+#A9VL0azt;m>Eb+;=)bdC;dV%>^V zk?f0`0ZiCQNP!qpG4M4F42QPzUAnNcyTW8e!rv*ZJKqglc!T z>}Yrx(9c0B?`{gNW!MI()n3^Rp1G3p&T&R#`FZ^niM7@%>jss=P3f5RWAsyCbsGvy&Oa*RBYZJ$B$F8IeVE` z{L>K9|LOPFr!Ctwb+okD%RrMb>&fqLjP7o~K204yPi|vpec>bfCon_&QkpFo23mBr z1(!LV+FC8UuFA)`FDbC2A2d~WmYs9i8l7UsnZ5;LA~8NVmrk6$RJ)-Wq*VI3?0oSNqX_Ff!EYhE*&1W z^rE+VwqP!FTiuGdt|w)k?4MvhErq7~?v|a$NN`Ew_J^ZQ2^rNz0#W(ZcV9d)>D#L! zX^p^rxOq5r$ZuDb&>9Xl!KOjHaAaqUAG4HXGN;e(xA7MbCq;X8(+KCvaw7}E;5nL? zwG(34a%&`K-#6)o+b+&-UFb)mx#*O5q*S}(JFdv)_+5*JUVuZNKyRyopFE%535d?Q zh;e?}yK6bIQ+$<#4W?hO>g@rXb*(?@6&2*VLY#t>y8NjRz^QoPk9`YI z3b&^5zL5Zv?&w6%xrk|z#m`aeIF?8^IIIC`@+AZ}-t{(Kz(poFXJ>{}CX-Y%pEM)l z!{W1WReJwtU7<#r8prp1FW=i96?ynp9TBU|1>N7q_g_HV7cGh{aMeHDKG7*(n~kxUhFt^hXm#9?5ZgoQCMm0md*`H3VGnB z$g3@IV!{k+IK0ST#S-14j6ulk*Q0=f(`HeR(FcN){U*lc3;^p&+OC6 zfDtzR1I??GR0C!)&?Li--2!=*UeE^VQ%3ezwyCdPzL;pfz5XeD-_E#~6JrWMCq{0& zG?ut_Nw~1h{Uo`|dzUtM0iGo8xcZpDBX;ml^_&zHBfaMIxc8P&{iJA?4ARThtW5^! zqm~%e9zThOC7cIRF>f=I6y>vp6#Nvgf4E zo!`?Haqz#ZD}o=@MJ<#6nX{t@{LcPNZEm&jIyURpqB^C_Zf|Q_XVf)=)Ss8Rs3gARHtEv~YPpbAhG<2F$E^bqgzw^S^7Sy|lRlUmrYT6$WV95ttk3zgS+B$q}{w62Ox zaB#4Gsf}LD8t}rH8_?Kl;vR;Zk53DrD5o5-dunQ`=VrHjZ^w#?o?dKRd_21Xxjj@& zQ^Xgt%O)zC7QA)h(37~N@K#TXC@L~uSz2Fk|D)iG1iNW_D_)i0Hkd2r1eZqIvz{*+ zv*L2u+BK=1NzZT5c~XaoY3wL78H@~Oq$llp30~{0To#<2pXUs)_G-Xy>Y~V;chEwUqFvxY zmppAaldE6CUBT|N=m8qgVeEbJ@p7TeE1tK>iL)QY9h1#F5;7U=tJTEDpQq%NPn}70 z9nj@De8S}xfcy9IUkZ+00 zY&&mC=&c6n4>Del19xFpv!$IG-vn-1!^Ffyd%TI4APF=SSYP?!T($Ja-S|E2@C1kX zBMs0hDhmp@$6TaoIc&4jcL2YN6ks=593Kwn+D{AVm)QuSrzf&ET{(XAP9hBJ(Xvt4 z&V9a>IUyYlS5Fo@G248TLjr>mm1}L$nzYD&H0eA3rEzN7WnQSqSGwWHj~^&Coe8zet7T(X_^V zu1OG;(=X%CfD)5+<3*Vjgal1oh4#iVfp*@i>w4<)@sdz4j_o54I+jHW*iqAXM7Wb4 z`>d0jU4-OFFLQxvMal|d%66$Ba>U4-z){Y^WAOb57i0W!n+A)c25WS+@nZG^)gBw0 zJxT(LaL|O)4zX*#5+VR&Id?)!T|L}z53EOLlxS^hizpD=^87qIJ4=2VWH}0E5aVBg zz&-5 z9DwkqZ|2K8qjk}t?N4mvR!L_bBfQ=SM?k?Byg{EXMz3|~lk{zMe%WcUO z7Gbc2z$6f)RianMXL}=5FFnIy>u9?Ms+oE;d^>f7Jzw+20y@j(@r?LxVCzh=O+;_0 z!RIxL=Jj1R>MCrpX#)~HWiaKhJ{8w5f5yFU#cmYF%Riliepsflif+qsxUDVzF$j6) zWVn!@fxiCc#4D;LG>KR??up?e%!wh@yzmz;&46_AyPDeC%omDSX{h|+yFV;|3Bp1m zBLUlUmcRT{Cw#*!#wcxW&b)tMAgi=gyS=@=a=EZ=G<~b`@r{h`6nP%NRvMJrbT9R1 zmpD$#$zHpF%M84KZMfVqMLXX(7c{)M4)#cq4~5K}N_dCN*3Rv5?v$Q~cn`9flhPD_ z+$MCmBYN4B((FQIh~;GXX%R+zAnHrp=SR&cKL{Sc?npiP{<`?4`-Dm`GPa{dd!ObI zmR7P&*$QGCV_vF+q`sas?Fx1mtV)qK*;kgrohm=!pw)i^7-pNM?n)dQ1@Lb~(>9F{ zwF#C$i9vB%P~!x6l*R={a$ZyvdWV}9dp>@U4U|Un^*>rRd9+((;c6ycFR;Fddl>h@ zz~KVA@9N7i#~`)AXl>h|rO^EQeU~$$MO@r$xQtCq_2e1@+Jj1FGQK>LoS(6YDu15f z+PNgMW|pA5|DM~G!#?IK1H3jW3S!Chh?xgYv$ZU{pAo-%SsTeXTAa3bCKTa(*S*y(uKim z++OKlrInA`De28Flf|JjR!@^xeAyXt z-}djQug8_kaUc>3!%{SwOu53{7`!#i*VFjM60RtnMp%Z4xxRT00#{RMUifHI zC;8-VI%2=yoK9Zx;Uis~&!g2E21QcS-p2yoH;oC&6E``zEA2{_ZR1V#q8|zu;=F!@ zG>?Ck>j-HNw0o}8k#zZZs5CHz<9bBwr*dShdXt8I6Rzqt8jFozOyIQ~UJNxNiLoDD zT^=Q|l+Db{xa`u!2B5{US3x2p>rHDR;Ol#McvMb@NEI@_*x1-`?Nt^dld7%l?NMwc zrKQ|rVmfAKX7plq2`A27nLxy|S=PV1AW7Qa7^~B}2}F&OPVhb`2HP2KLjEai+WaBM z=bU`dm8A+_2E+}q7eRhS~cuvRuUnkFVGAjsp|K%?`lJx-(&^s-Cc z37R19zpE=9Ri1|d`vXFRUK;cUqnplWvmN|;r^uoc>jWDdDzdPydrN6KkL^sCAz0P` zkUWflRYeNo%hFjkLPE~teuuCf1Vw7q*ltdjwf#Ux@_DEzE=PTNW`F@$Wh5-2bh(qF zl$Qr$f@*e4;QyAKJ}Fi}b9r0CLY&tmNK$goj!RSHQh0!XtSv)|4)@09{!edLeRXU- z{mQ%7o2y%;$!pUEpWvQSYaWi9-}vPPkhEHTGLKqw9~xX95)8Ta#K6ghNsL!1Ot>P* z`PvV+q9Erbi59*KK1O)UQ0kE&>L|zL@Bn0cVW0IDqJ;a41zGkdhAQv)|I}W)RmwgV65{h z#J%A1=1cQmp96kGCBm z2bRhmrz7F;d?Eplsi#)$17Rl-*CkER8C}(vfPromgu;HnP{v!koxaBLqPB_#Q*I4` zG~gH!5YldEdg90k;PXEOA(dkI`@!FCt+xqasy8}%`!Y2|tOt0394Tp}tMq%!C#Hk` zT6#hj9ese-N`3y@I5-4G4VPP7tVt!k`C;xyY>I^Q+yYQJ?(lG7U!pgkakV(z3+grZ zwW)@dp(<$++hJicBv*_jR6XlXhVj#3MZre^lZALCeS<|V{{e_IO z*9xpD44gF8KM)x`Rj*BPARI=8JjQN{o25CV4Iwj&UIp_-=&no9y`=suQFSd08)FH< zz0{taksL;hYcw5F&hyUNeUR^u3ooZdOj&& zg|MuYj1~y99OJXVbCk&J`pulZKD=3a&6=1w+9EW=;$vt-x5#?u+RwBT=spw2%t=(K ziBOSLow}EQU-t#Ck#S~U1{TahkZs~*jZj5VYC(JSwKcukFh94F^B-tPZW$RFU7%Ap zHEfC+-UZq+XM=`Qv~f3{yad&#S1o6n!{Ws3lS*xdrhJ-(uQqAtF{#y>R@fY)=z2f8 z=1$z-ZFvy0a?1PLaoTeK%6Ip#Wr4#17%O7ZcrKV;L~+tVS7l$I^URquE&%gdh#UyRF;I6M4&+TPyX?K+)*L+ zwuc6xXOV=|-jby$?ixZYcW$g+s=Gk0`t*F(CNYOw#7H}JD@Mn1I!bHUTPv#6=dP+($WatccM97RJf=<+Nk19QFxOXw^3_R62FsqBj(3-?HJDW6Hh zh{b*-BHo$cxmo|zb@<6~f>%|n0ws>i;MV)rutTtbq2_nrdpFA6@?furu(#r9p#8ZXO;D zSJx8a9txR8Nch2Kn%r7c*ZST~kQ&sxIvqP@e;0axqQ0;*c4l_ga&w_u5;Tw&u^Sbq zWRlbbi3C|WIhuFwppe-8@3e>s<|P{E`3@~h%S<28@wyt= zMXJ`ghj2?j0ozic+;2_fMq*Vcch(cR_xg0$6kg5AB)`~TQQIwJQ5z~_RwLO%lEdR! z)YgF4Gh;vB?b9|H^IB*a7{o{Od8vm?Hy3(K5_bw( zOt8)ImOq$YaVEH^uMcMD=R6$m5Vh91-{?3aUK$kfJR~GKn5)k^F6H97c-Hw*(LqyV(3$gcr;(HuW$N8 z8N6dasolonnEO2|+ah6~yXhw=Lzen=ocfFTGvLJX`|+Z?Q4tLI{R9`M^sKiQ9`u$} zY@F-*5E?`8#8&KHd?1p@`bH&*n>F)itH+rT2@o)~xQHIMwHXN!kcWHlwAiCcENW6u(?}IbE_xWH=Q_wQ?;%yZ@?K637Pk8< zHHT#VDWD{N`Nd)_2>$dT4utM;8DIbbIiLchU?4*+<&p#8i4mYFKizpH?6UCa_^WR- zJK%Ls2Zqlg$s-L^-An}xQx%mZVQ)*n#44)e*2Y61b0uyo`bIvxv-;%@pD)1!_Ji%c z?~$FzmC_NH5!*6Lz&Ta!EoDat#nAE_X0!<)Z%sd(tmAVXn(v$aL^S{cykt7!y#Qhm zmLU&PX|_N&?uvibhw75M)Ijs4DR#zYhVN*5cRZv?6wx4b#ASZZ6w(3~>`dAZO=7H2 zl$b}Flj?iIQC8tJxzE!oI*)%Wo@qqyg$COqOjKe7hyz(6w)C({O;{zK%T$)IZV}#g z8}2nOtfj+J)Y&{THYhQ#-1{ypg-s#XYkOg6wv#Q?EZ#Dp^?neW^{O-F11SQ8;Arv6 zoA^$JfhMxkV!LD0m2WL^Fl!Gl{8{i1o@%|Yu~kK(e6)0*YVhju zt#~NSBBA7th!}pW=j`s@Y^Tzu=e>~2sLPlaP+H5Oo}+xQ>f7;RCpW*%`4NBOeTEC_ z@<$C*&dLcI1^R z3=ata^#McLuF9R@Jk}AOB1rX{BBB#}tD+@AFd#+F%3I@OLvV2wm@$+Sp zFIG>YF(WxkQKM5r{>AM-OlDT>a`rx&xHiskwG{aK;2GZ3P0siX*itsdn7f5v)oE=0 zE!fzx^x15*nCrJ4zs7Utn=Mw1j_O+~sI*e*$BFWPQ9H&I%ZJps&DV0>EJ*G8vrEDB zLm?@9ZzHz?y)@jviFpt}Noa4}xXMtt5GP}Gb@FR!hYF8JBDO#4V=4Sz=A&w&H;^Q*`5^ zTFfA3{4EZh*#_B5YNQ;?d|Ycva7N8NsA7%oqx+EGn|`Zm zfpS$)C@jMPlUue_iOB=VLiwYNFCwoBD>>$g$pvXCT7VM>ks&@$bZn#pp5!Pb<~3FY z*u4|y88ZOqR8Ga@hB9;x1_~nzu-|~x3^D+jbl|OPy9la$HAw_Oeq~U8d9?<&H14$; zHKinDQR%k!f{YN^*wOQ$uw@gFPvQ*cPyjG+VO{=Yz$rtJUFc?~y19ym`tDD&^bZbZ zG&afs+Fnr=vik*J9CUsTb9VeOkWS`10xe`#d%10=L4f;_@epjk-Jxo_owk4fm6C|5 zV@i-f*YplXJiLfVxww6HOqG>KC09b(eblwg8=tuF!N%~Q&&L!}NEc-5wKgya;X}UGEyG&+} zX7_ta@l4cLB2i9v#DGbH!%g4rQP%P*YIoYnrJF0{j6O!Q9ILGt7H!%dD3|)UIoxz} zoMUmAw36N~wJkRRfXd29nNs-r#>Q+Yv`f@=|FN*NThDl4+F;K>2-Ewn(v|BH=@LG- zwnd4u8M>!b?wdqhjNp@4#|P~r23KYz)<#nD76^JptI}}94Xdq+g@XQf1*YJO?E_&o(Oj4$Fe-hI&8^OEDTt8-`N{m&6;4-kVWIbMy` z_W{0FR|)+u9U1kAev-z|A2MzEhR;%cVUn3mUH-wrB*mSaDx*+=EyI_waN)Z%`iA*! z?W6N*y!3}zqOVXJ1lL|knfA9srE}N~6dZHo5i>Q_3-7dWX>5N*Bi)?;=9ow`ZJ)sV zERk>A(bs(F6v{-9x%NIk<3LXRCCT&$xpy!*fP$L@_6S?$y4FC830LBmn7}hxUGS&)|MbAXfEDnFElpw}qBSoLQal-D8^>|UM~`v$f(T!2`&V?uHf71E)8`ZY z2+rxV+qZ~ux)j@E-C{>{!}IpOGZLC;^A+Siidc`U5rkARyB3(#bCd41eoo3sf?6zz zg0gSk5ZDwF6BG4`n;LtQREQWi>|{?bh0Wec8iHx2_Zx}Amw`r)`#;W@Dj+-474C69 z8>fS6%Mu-GO8K);1G1ar+6EPOl+w>pS$Uh?)-nqrZV^-H3wK4eVqFVUH zpICa;=Ija>>;ACyK2HG(_{YM8A~j*F?3!NfHtf4$sgyuvm501GiSKF)1n#p+NmvVe z7|2CCUi!&EGov888-4c(C-VyvoQRX~UMr!Y<=*`HTJ>f8G{9|@tK%1QpL6MS9C2Gn zFid$bQ)D1yzO1(U=~>K9Hsn+-2a#YpOWV@g9_q`izT@4}sS(%53HSU_XgX{Fs8`T1V$qU`F{TQCCu^vq~|^r{hJex|nC*27v~Xo#DK2mtnC& zT0gv=4}zdh zRczXF(a3$wl^hEm^Y48KhZxE1wy1hC&Uh-79{s9*?JJw@cy)!+z7!+ySGGpbL{YxH zZA~w)D&R&;GPnE5Tmt#3WZh~0<73z;6x0A3=3M~Rx%h!GKyM&fwU_|fI*II-Xn?n2 ztnz7Z2H(CtF$QwETFjcfxNmAmt?dJfw|{grVKhHCw;zNEV!TK9_6AoOJlA(0QletN zJK5Uiwzjs0le9%IkaNR9meLy1Ta5@>8z$8Q2JX9kO@>jKQPw&%Cv3WN(PQ704QSV0 zQu^xAuWYczVa(=kTmFX#L5BPa5B~vCQL8b$b&2)73MHNX=Sfz%46DJP#Xp~nlzKyu zyb3aeHR-*&RTc%W<+{)5M|7{k6Sx`*n=Uoazwi85{FH~GO+XI<65J^HuA@>-Wb!uT z6Ek~8iD&dYoJ_NO$5YyK4K`h-&j#9L^wTPhtL1fS3tv0_s$e_%oy~}T&>R~2g;r;_ zS;3xJ6jj5?SsWijb82X821#wqEP9@6LTitutP(rTJ(KO+Cb1+(TO`x&f zc3S)lSB~YIHrI`JCq>e{L+=s?mnQ}b>qF$AQG%~ZVocA}29|Xs^7)Lp+ZPbmbtipT zznUpDG=#|M_=`+WNlTWb8A(WtAsIXMDMUG5ZfM%$H${a3*`Cni{$EGVjE`T__$Bc>E~ zVTkARLza_bmwnwAdO2+e7VdaO(mFjA^5ttOe5!O?HBO4n`iS^ry*;&#E3jLSq8XKb zn*aeM3<8hEY}2+--TLWA_A!AR3w7+LsnGc*r_mC$-Fabp_BL%j>gxb^y>rHmxnq`# zII_A~=81z@|S0py9}zyCDjCdqYf)8dLc<)prPD#dxHE=1?a(>~y_3 z&o&!TGQ?E0`tyVljKPoHvQ^IlV=XqC0j9(A{SjoYL1{+ytY!=T$mNQce1AAlY$Esf2El(kRkkD6W+eC8Ek7#BuH=map9vIJYchA>& zF_t{yk4UF>GN3u9A1D`mv>=4DEs)O)kMo^d81TnunyKzJD0uNvkUVUvcj#o3OGWKh z`$RDIJ#C59+l|JYj_v3l1@5a7UQHJZo)6S=x-{+JH9w>b@=oj&cK1UU2pBzAT0eHK zi=~_I;V}!i(E6wGW(u>%Y-wmDhHKh5eQPs(eGQJa+A=vmywCY?p=-h9duw|zA5*n} z-r3r~ew*yC_dh$bg!%q-kVPR=nvu{C0WOLV_(QL3C##N_-b#ZoEz$>?RwWw@307k-M0 zij_GbAG*fJ^Q67D%l&%|eTj5&?)oVweiOx*_+H5nD?K@u4zvta0FX0j!e(zJhzgAP z3rco9KDVk!Svz*TAAHf@-|s4QPeNpeRG$c`mD3ZIExK+_~7FYyV7V-cFgzW?<*#z|O_i z(xWeQe^-9pooFjZB^{BTm^IT=&J);orOB0mqqcWLFcIK9Z@GJc3_QP#;-HJ=bxxav9{Tn7QtvMRQYFCx8i zinvxNj4X|JT@+M?<;(aW_e6aVwPlXN@fV zl1m7;5K~zvggYk58pcKFVk{+>7?CAraAg}6BE}YyeNT^z33HlR2D77?R=#+g!LhAY%Zioah$&*oPBZ z(uqo*zQht6+Tt=iDf zx`~SEFOHnSQBIu4e^^Faj4IHS{>rP6B(fHvLT&51V;@{*)zs7E-B^N$p;*sceMj}o zOvk4f-vD_xfz!`DNG?OwoYbUBmx{Mvr_?FO!ylG`$Ojl(#rFt~v z{n;j}ty>anj355QP`$I}c}FKo$0{z)7fDlaLa{N>d$OeA_UsAHf&ZccXx zl4~0Pk^})QMh*yx8z|a8ejIor`Yf8kXm=mE5&$i|1~Hnus@Z5dSZdktym#e(wkoe_ z9dVH7G?5WOdh@0YmN0pJ8J%0UMd*37+^(_=*J5)eH*9lupojj29bLgbF;!;F**!XR zCi*gN4su|o-lsXcuQZW^qXtNm$86-+UIGSFLc?Eai@WgfOuUXUNIWF3l&aG7~D zFshZ9^A@LZN@5D1fY)P~jtw2Zohnl`kNrIfCH10rjVvmT#Jsb2Cpz7Gsjr5z?Ro5b z_mE751v2d#(dy$K9V=}H6D3_BfXVZCumxOuZKbf$QpB0j%GU%Rdp9?n@mfNxM;~w| ztLX&m+C)8z?Aj5XU{+pJe2M8Rumi%rzR5LLbun{=biye;TUL@_Z%8fP)WAcZRD9E- z^_g9K_b`^+XilMyYnr{IRUM#*vly;v68F!=Pjwt*vCZcEa}R` z@zccH#~7`Hl~}}TRY>=o$kOwfqds3wBt7)8vdyeKEmPkA$b2cdq{rKndv<#>raITv z$hF{PNSvl5w3r2*Bt{p|b6Z2Mpeywu&sSt4-ediJTnyTDKptSnA|N1FYcT%SnCM-W zp{tg}j0kOau^ zvWd3JO3meJ;n2`EpzW&-r`@v5)$WVJI<6Vt15M_uO8V2xFEGyXv0$ht-zl#H&4eZ8 zUFED(MkN1ZiWKyc%`$^t6)Ems40W_Fi@ow?geRS#3iU)xfRxvtac<$neNL zKC*r{=-_NdR==i3Hcac+P#T}vqkX-ai&frjOb46vae0XR1T}j#(&O}W3#&-{? z{F`%L91?3wo|V0>1n-L(6+Wm&k;X+Jp6@Lps9?&{u<|(=h=#=rtP%77JRqC{Y)6=q1vIoo z@RNR1$v&SiN|0)&(v|tTYm5F|_P+Dz^MGRzozC93ka|Ys`MLh- ze;4{d6MzRd`Pj5BQhExjaXh8FaznDtgUVd)d^y<}K7%3BX5UZUut4nyn5geDU&c-@ z@7jGz7}`(^x*ax{d;emQ&HNhjiK+Ym0_iv}vtp=>tBt9`UMozT!@74p;qlR0X|Jvo zLm8!Y_?&PQXaT*(w=+2W5AkDlCdvbHUL&DSjRJOF2_pOPqd2OxY;Wzd!~ATy&>`uP zw`=6v6tQlj1Sgyi8op&H#=TK``D;Lc3ym*wWAn15L>=^EwED_+`fDV)9wx`kN=V9F z4nx%YEng>iwhLmg>r^Y?trB>bM;dK4Gah4LJX;v)o<{jE`en}yQc{I2zI@!-xf!*@ zva{wK{TbZ*KOBLJ1BB#`E)Voowe2SnA=| zH}kJ%vdN{ujD=HRNy4wUu{G}+rxZB=X?p7~T(PLx&2zN@6YTB9IyesiVAt~7IXILC zg7sm?f1){Q2^i^_m?SyGi&PxK3jt?~{&UO&@IN!H-WCQVS zDKABCIbe&fLVR$kaQ5IVn1Zm#gAULh;qC{YR3rrBK`Eu#)Ny`t< zrEa~b-}pmO-mv=RSG=-npV~x+xHzOjYrCYy zvTfOKz_ZM7td$3AnAmE0+&M&V+lmy8i z{H;jziYJ{t>o{BNN*)o7hVoaQO}}?aEXHI@TiS;6%Vj*P=N5%qw*`NC+r@{w>pNN9 zVHjz1M33(jQ#~g}Np#yo_=t+WJl3KSp2gYj!rDs=kP5eqdOsUG%q_;-3y_AsLC^cr zRXEC<4t$K7Uw_r7Jh0lC!@zPwE|tZ#5HVY|&d%%Mu`4_N#{T0o#(xo(+OO=rDXswL z$_eGI9d(LVs^R=(=Fs*G+@JJFqa5!Wu@^f$L`Bp%t8XB|qT>Z!uRee27INn?lJx;ors(E}&LQ|g37M$M~H_~Fyd zmQ%u2gF+G6@9^s(9-y~{JHudk%2t?pnXKa4UtQqv0!#{+DUPa7$O12!u%Mb)EP< zqg>k8-BwHl72nXL{Ug?zeWTePTZP4@YZG;MvLlTOfPf{Pj3Rpz@(n8^Hc>nXChnl7 z4TwG%?5_74dj`xKmzIVru1X39t}&6k7#$je0JGfS;j~DlhD?DK)WIfI!Z9;5t8WnG9f8l# zJsD8+_JGd$o;GLbdPIM{-I;>Yx804qwN=P}Y?70YGu(uk)g!J+)~jCyxQS7Lb#vHi z7U=5nm%yu!25SzbGg&f63___kW@hm~A~Dci52`-iwex1S|9$NZ`*=P}KB;}+C_vcA z6S<4yqBM>rsz{_f2ba)&5_nqFfa(zlgr)o1`sPorY%(^mu|-W2d#rs*Z=?k literal 0 HcmV?d00001