From 2369f801af5e2ab85d1f9ea54c7fd5b488a2f153 Mon Sep 17 00:00:00 2001 From: nihonium Date: Thu, 1 Sep 2022 16:37:41 +0300 Subject: [PATCH] initial commit --- .gitignore | 53 ++ .../classroom_tasks_overload.pdf | Bin 0 -> 116557 bytes .../classroom_tasks_overload.tex | 180 +++++++ .../code/00namespace/00hello.cpp | 33 ++ .../code/00namespace/01namespace.cpp | 48 ++ .../code/00namespace/01namespace_solution.cpp | 25 + .../code/00namespace/02struct_type_name.cpp | 24 + .../code/00namespace/03namespace.cpp | 40 ++ .../code/00namespace/03namespace_solution.cpp | 36 ++ .../code/00namespace/04name_collision.cpp | 60 +++ .../code/00namespace/05using.cpp | 78 +++ .../code/00namespace/06std_cout.cpp | 65 +++ .../code/00namespace/06std_cout_solution.cpp | 16 + .../code/00namespace/07std_using_one_name.cpp | 32 ++ .../code/00namespace/08std_cin.cpp | 41 ++ .../code/00namespace/08std_cin_solution.cpp | 10 + .../code/00namespace/09cprog.cpp | 42 ++ .../code/00namespace/10cprog_with_std.cpp | 37 ++ .../classroom_tasks/code/01ref/00ref.cpp | 60 +++ .../classroom_tasks/code/01ref/01ref.cpp | 39 ++ .../classroom_tasks/code/01ref/02ref.cpp | 43 ++ .../code/01ref/03ref_pointer_diff_init.cpp | 49 ++ .../code/01ref/04ref_pointer_diff_assign.cpp | 52 ++ .../code/01ref/05ref_pointer_diff_arith.cpp | 44 ++ .../code/01ref/06ref_restrictions.cpp | 46 ++ .../classroom_tasks/code/01ref/07func_ref.cpp | 69 +++ .../code/01ref/07func_ref_solution.cpp | 50 ++ .../code/01ref/08func_ref_struct.cpp | 81 +++ .../code/01ref/08func_ref_struct_solution.cpp | 41 ++ .../code/01ref/09by_value_pointer_ref.cpp | 73 +++ .../01ref/09by_value_pointer_ref_solution.cpp | 54 ++ .../code/01ref/10const_ref.cpp | 97 ++++ .../code/01ref/10const_ref2.cpp | 63 +++ .../code/01ref/11return_ref.cpp | 50 ++ .../code/01ref/12return_ref_local.cpp | 51 ++ .../code/01ref/13return_ref_argument.cpp | 39 ++ .../code/01ref/14problem_1.cpp | 17 + .../code/01ref/14problem_1_solution.cpp | 16 + .../code/01ref/15problem_2.cpp | 22 + .../code/01ref/15problem_2_solution.cpp | 36 ++ .../code/01ref/15problem_3.cpp | 28 + .../code/01ref/15problem_3_solution.cpp | 23 + .../code/02function_overload/00c_functions.c | 61 +++ .../02function_overload/01cpp_functions.cpp | 66 +++ .../code/02function_overload/02problem.cpp | 30 ++ .../02problem_solution.cpp | 53 ++ .../code/02function_overload/03problem.cpp | 42 ++ .../03problem_solution.cpp | 66 +++ .../code/02function_overload/04std.cpp | 17 + .../02function_overload/05ref_overload.cpp | 67 +++ .../code/02function_overload/animals.cpp | 30 ++ .../00no_operator_overload.cpp | 48 ++ .../00no_operator_overload_solution.cpp | 44 ++ .../01_operator_overload.cpp | 63 +++ .../01_operator_overload_solution.cpp | 50 ++ .../03operator_overload/02_operator_unary.cpp | 71 +++ .../code/03operator_overload/03bool.cpp | 38 ++ .../04_comparison_operators.cpp | 68 +++ .../04_comparison_operators_solution.cpp | 110 ++++ .../05iostream_overload.cpp | 49 ++ .../05iostream_overload_solution.cpp | 63 +++ .../06operator_overload.cpp | 52 ++ .../code/03operator_overload/setw.cpp | 52 ++ .../code/04other/00pointer_cast.cpp | 52 ++ .../code/04other/00pointer_cast_solution1.cpp | 13 + .../code/04other/00pointer_cast_solution2.cpp | 17 + .../classroom_tasks/code/04other/01nulptr.cpp | 50 ++ .../code/04other/02default_arguments.cpp | 42 ++ seminar01_overload/homework/code/complex.h | 189 +++++++ .../homework/code/complex_image.cpp | 56 ++ .../homework/code/complex_movie.cpp | 63 +++ .../homework/code/complex_test.cpp | 38 ++ .../homework/homework_overload.pdf | Bin 0 -> 191583 bytes .../homework/homework_overload.tex | 160 ++++++ seminar01_overload/images/complexplane.png | Bin 0 -> 52616 bytes seminar01_overload/images/complexplane.svg | 490 ++++++++++++++++++ 76 files changed, 4273 insertions(+) create mode 100644 .gitignore create mode 100644 seminar01_overload/classroom_tasks/classroom_tasks_overload.pdf create mode 100644 seminar01_overload/classroom_tasks/classroom_tasks_overload.tex create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/00hello.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/01namespace.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/01namespace_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/02struct_type_name.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/03namespace.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/03namespace_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/04name_collision.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/05using.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/06std_cout.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/06std_cout_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/07std_using_one_name.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/08std_cin.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/08std_cin_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/09cprog.cpp create mode 100644 seminar01_overload/classroom_tasks/code/00namespace/10cprog_with_std.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/00ref.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/01ref.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/02ref.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/03ref_pointer_diff_init.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/04ref_pointer_diff_assign.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/05ref_pointer_diff_arith.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/06ref_restrictions.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/07func_ref.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/07func_ref_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/10const_ref.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/10const_ref2.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/11return_ref.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/12return_ref_local.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/13return_ref_argument.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/14problem_1.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/14problem_1_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/15problem_2.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/15problem_2_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/15problem_3.cpp create mode 100644 seminar01_overload/classroom_tasks/code/01ref/15problem_3_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/00c_functions.c create mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/01cpp_functions.cpp create mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/02problem.cpp create mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/02problem_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/03problem.cpp create mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/03problem_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/04std.cpp create mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/05ref_overload.cpp create mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/animals.cpp create mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload.cpp create mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload.cpp create mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/02_operator_unary.cpp create mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/03bool.cpp create mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators.cpp create mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload.cpp create mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload_solution.cpp create mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/06operator_overload.cpp create mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/setw.cpp create mode 100644 seminar01_overload/classroom_tasks/code/04other/00pointer_cast.cpp create mode 100644 seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution1.cpp create mode 100644 seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution2.cpp create mode 100644 seminar01_overload/classroom_tasks/code/04other/01nulptr.cpp create mode 100644 seminar01_overload/classroom_tasks/code/04other/02default_arguments.cpp create mode 100644 seminar01_overload/homework/code/complex.h create mode 100644 seminar01_overload/homework/code/complex_image.cpp create mode 100644 seminar01_overload/homework/code/complex_movie.cpp create mode 100644 seminar01_overload/homework/code/complex_test.cpp create mode 100644 seminar01_overload/homework/homework_overload.pdf create mode 100644 seminar01_overload/homework/homework_overload.tex create mode 100644 seminar01_overload/images/complexplane.png create mode 100644 seminar01_overload/images/complexplane.svg diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c749891 --- /dev/null +++ b/.gitignore @@ -0,0 +1,53 @@ +# ---> C +# Prerequisites +*.d + +# Object files +*.o +*.ko +*.obj +*.elf + +# Linker output +*.ilk +*.map +*.exp + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb + +# Kernel Module Compile Results +*.mod* +*.cmd +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf diff --git a/seminar01_overload/classroom_tasks/classroom_tasks_overload.pdf b/seminar01_overload/classroom_tasks/classroom_tasks_overload.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3cfca38d0305af35edab6d3a5035e584a3865fd0 GIT binary patch literal 116557 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 UWDI4{~)7$Qw%7Z__3(J=Ep1 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�o#DB52k6J6HDR$55JVDreqwAs|#mH5k5_ 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

|0I*8%e(c%=5*h;f$-Kze` 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 +int main() { + printf("Hello World++\n"); +} +\end{lstlisting} +Все библиотеки из языка \texttt{C} можно использовать и в языке \texttt{C++}. Только название библиотеки без \texttt{.h} на конце и с символом \texttt{c} в начале: +\begin{verbatim} + -------> +\end{verbatim} + +Для компиляции используйте компилятор \texttt{g++}. Вот так: +\begin{verbatim} +g++ helloworld.cpp +./a.out +\end{verbatim} +Или, если вы хотите установить у исполняемого файла своё имя за место \texttt{a.out}: +\begin{verbatim} +g++ -o hello helloworld.cpp +./hello +\end{verbatim} + +\begin{itemize} +\item \textbf{Задача 1:} Скомпилируйте и запустите простейшую программу \texttt{00helloworld.cpp}. +\item \textbf{Задача 2:} Разберитесь в программе \texttt{01structnaming.cpp}. Скомпилируйте и запустите. +\end{itemize} + +\section*{Тип bool} +В прошлом семестре, для хранения результатов логических операций, мы использовали целочисленные типы.\\ +В языке \texttt{C++} есть встроенный тип \texttt{bool}, который может принимать 2 значения (\texttt{true} и \texttt{false}). +\begin{lstlisting} +#include +int main() { + bool a = true; + bool b = false; + bool c = a || b; + + if (c) + printf("Yes\n"); + else + printf("No\n"); +} +\end{lstlisting} +\begin{itemize} +\item \textbf{Задача 3:} Что напечатает эта программа? Скомпилируйте её и запустите (\texttt{02bool.cpp}) +\item \textbf{Задача 4:} Напишите функцию, которая будет принимать на вход целое число и возвращать \texttt{true}, если число оканчивается на \texttt{0} и \texttt{false} иначе. Вызовите эту функцию из \texttt{main}. +\end{itemize} + +\newpage +\section*{Пространство имён} +\begin{lstlisting} +#include +// Определяем переменные, структуры, функции внутри пространства имён foo +namespace foo { + int a = 5; + int square(int x) { + return x * x; + } +} +// Чтобы получить доступ к ним вне пространства имён, нужно добавить к именам foo:: +int main() { + printf("%d\n", foo::a); +} +\end{lstlisting} +\begin{itemize} +\item \textbf{Задача 5:} Возведите \texttt{foo::a} в квадрат с помощью функции \texttt{foo::square}. +\item \textbf{Задача 6:} Создайте своё пространство имён по имени \texttt{bar} и определите в нём переменную \texttt{a = 7}. Напечатайте значение этой переменной в \texttt{main}. +\item \textbf{Задача 7:} Сделайте задание в программе \texttt{03namespace.cpp}. +\end{itemize} + +\section*{Ссылки} +Ссылка -- это переменная, которая является новым именем для существующего участка памяти. +\begin{lstlisting} +#include + +int main() { + int a = 10; + // Создадим ссылку r на переменную a + int& r = a; + // Теперь, если изменить r, то поменяется и a + r += 5; + printf("%d\n", a); +} +\end{lstlisting} +Ссылки часто используются для тех же целей, что и указатели (только со ссылкам работать удобнее). +В отличии от указателей, ссылки: +\begin{enumerate} +\item Должны всегда инициализироваться при создании +\item Не могут никуда не ссылаться (т.е. не могут равняться \texttt{NULL}) +\item Их нельзя переприсвоить. При использовании оператора \texttt{=} со ссылками изменяется та переменная, на которую ссылка ссылается, а не сама ссылка. +\end{enumerate} +\begin{itemize} +\item \textbf{Задача 8:} Сделайте задание в файлах \texttt{04ref.cpp}, \texttt{05ref.cpp} и \texttt{06ref.cpp}. +\end{itemize} +\section*{Перегрузка функций} +\begin{itemize} +\item \textbf{Задача 9:} Сделайте задание в файлах \texttt{07function\_overload.cpp}, \texttt{08nulptr.cpp} и \texttt{09default\_arguments.cpp}. +\end{itemize} +\section*{Перегрузка операторов} +\begin{itemize} +\item \textbf{Задача 10:} Сделайте задание в файлах \texttt{10operator\_overload.cpp}, \texttt{11iostream.cpp} и \texttt{12iostream\_overload.cpp}. +\end{itemize} +\end{document} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/00hello.cpp b/seminar01_overload/classroom_tasks/code/00namespace/00hello.cpp new file mode 100644 index 0000000..eef258d --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/00hello.cpp @@ -0,0 +1,33 @@ +#include + +/* + Здравствуйте, это первый файл семестра по языку C++ (для тех, кто знаком с языком C) + + Язык C++ создан на основе языка C и одним из приоритетов C++ является обратная совместимость с C + Поэтому почти любая программа на языке C будет работать и на языке C++ + + Однако, нужно помнить, что это разные языки. В C++ было добавлено огромное количество новых возможностей, + что сделало C++ возможно самым объёмным и мощным языком программирования. + + C++ содержит в себе во много раз больше всего, чем язык C и пройти его за один семестр не представляется возможным, + но мы пройдём ключевые части этого языка. + + + Для компиляции программ на C++ будем использовать компилятор g++. + Скомпилируйте эту программу вот так: + g++ 00hello.cpp + + И запустите вот так (для Windows): + a.exe + + И запустите вот так (для Linux): + ./a.out + +*/ + + +int main() +{ + printf("Hello World of C++\n"); +} + diff --git a/seminar01_overload/classroom_tasks/code/00namespace/01namespace.cpp b/seminar01_overload/classroom_tasks/code/00namespace/01namespace.cpp new file mode 100644 index 0000000..7b6c2b6 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/01namespace.cpp @@ -0,0 +1,48 @@ +#include + +/* + Пространства имён - namespace + + Определяем переменные/структуры/функции внутри пространства имён. + Давайте назовём его mipt + + Чтобы получить доступ к этим переменным/структурам/функциям + вне пространства имён, нужно добавить к имени название пространства имён и оператор :: + В данном случае нужно добавить mipt:: +*/ + + +namespace mipt +{ + int a = 5; + float b = 1.2; + + int square(int x) + { + return x * x; + } +} + + +int main() +{ + printf("%i\n", mipt::square(4)); +} + + +/* + Задание: + + 1) Скомпилируйте программу и запустите, что она напечатает? + + 2) Что будет, если забыть написать mipt:: у названия функции square? + + 3) Передайте в функцию mipt::square переменную a из пространства имён mipt + + 4) Напишите функцию float average(float x, float y), которая будет принимать 2 числа + и возвращать их среднее арифметическое. + Поместите эту функцию в пространство имён mipt и вызовите эту функцию из main + + 5) Напечатайте среднее арифметическое от a и b, используя функцию average + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/01namespace_solution.cpp b/seminar01_overload/classroom_tasks/code/00namespace/01namespace_solution.cpp new file mode 100644 index 0000000..b6d9059 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/01namespace_solution.cpp @@ -0,0 +1,25 @@ +#include + + +namespace mipt +{ + int a = 5; + float b = 1.2; + + int square(int x) + { + return x * x; + } + + float average(float x, float y) + { + return (x + y) / 2; + } +} + + +int main() +{ + printf("%i\n", mipt::square(mipt::a)); + printf("%f\n", mipt::average(mipt::a, mipt::b)); +} diff --git a/seminar01_overload/classroom_tasks/code/00namespace/02struct_type_name.cpp b/seminar01_overload/classroom_tasks/code/00namespace/02struct_type_name.cpp new file mode 100644 index 0000000..f965277 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/02struct_type_name.cpp @@ -0,0 +1,24 @@ +#include + +/* + В языке C при объявлении структуры struct Book создаётся тип по имени struct Book. + + В языке C++ при объявлении структуры struct Book создаётся тип к которому + можно обращаться как по имени struct Book так и по имени Book +*/ + + +struct Book +{ + char title[50]; + int pages; + float price; +}; + + +int main() +{ + struct Book a = {"Tom Sawyer", 280, 500}; + + Book b = {"War and Peace", 1200, 900}; +} diff --git a/seminar01_overload/classroom_tasks/code/00namespace/03namespace.cpp b/seminar01_overload/classroom_tasks/code/00namespace/03namespace.cpp new file mode 100644 index 0000000..4ece511 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/03namespace.cpp @@ -0,0 +1,40 @@ +#include + +/* + Определяем переменные/структуры/функции внутри пространства имён mipt + Затем к ним можно будет доступиться используя префикс mipt:: +*/ + + +namespace mipt +{ + struct Book + { + char title[50]; + int pages; + float price; + }; + + void printBook(Book b) + { + printf("%s, pages: %d, price: %.2f\n", b.title, b.pages, b.price); + } +} + + + +int main() +{ + +} + +/* + Задание: + + Структура Book и функция printBook определены в пространстве имён mipt + + 1) Создайте переменную типа структура Book и иницилизируйте + её значениями: "War and Peace", 1200, 900 + + 2) Напечатайте созданную переменную с помощью функции printBook +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/03namespace_solution.cpp b/seminar01_overload/classroom_tasks/code/00namespace/03namespace_solution.cpp new file mode 100644 index 0000000..7c0d26f --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/03namespace_solution.cpp @@ -0,0 +1,36 @@ +#include + + +namespace mipt +{ + struct Book + { + char title[50]; + int pages; + float price; + }; + + void printBook(Book b) + { + printf("%s, pages: %d, price: %.2f\n", b.title, b.pages, b.price); + } +} + + + +int main() +{ + mipt::Book b = {"War and Peace", 1200, 900}; + mipt::printBook(b); +} + +/* + Задание: + + Структура Book и функция printBook определены в пространстве имён mipt + + 1) Создайте переменную типа структура Book и иницилизируйте + её значениями: "War and Peace", 1200, 900 + + 2) Напечатайте созданную переменную с помощью функции printBook +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/04name_collision.cpp b/seminar01_overload/classroom_tasks/code/00namespace/04name_collision.cpp new file mode 100644 index 0000000..e65a429 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/04name_collision.cpp @@ -0,0 +1,60 @@ +#include + +/* + Зачем вообще нужны пространства имён? + + Представьте, что вы создаёте большую программу, исходный код который + содержит миллионы строк кода. Конечно, большая часть кода написана не вами, + так как вы используете библиотеки, написанные другими программистами. + + Библиотекой можно назвать совокупность файлов исходного кода, нацеленных + на решение какой-либо задачи. Например, есть библиотека для работы с графикой + в которой содержатся функции/структуры/классы для работы с графикой. + + Если вы подключаете несколько библиотек, то существует высокая вероятность, + что название чего-либо из одной библиотеки совпадёт с названием чего-то из другой библиотеки. + Это, конечно, приведёт к ошибке. + + Чтобы этого избежать и используются пространства имён. +*/ + + + +namespace audio +{ + int a = 10; + + int calculate(int x) + { + return x + 1; + } +} + + +namespace graphics +{ + int a = 20; + + int calculate(int x) + { + return x * 2; + } +} + + + +int main() +{ + printf("%i\n", audio::a); + printf("%i\n", graphics::a); + + + printf("%i\n", graphics::calculate(audio::calculate(graphics::a))); +} + + +/* + Задание: + + 1) Что напечатает данная программа? +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/05using.cpp b/seminar01_overload/classroom_tasks/code/00namespace/05using.cpp new file mode 100644 index 0000000..d3833db --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/05using.cpp @@ -0,0 +1,78 @@ +#include + +/* + Если вам очень не хочется постоянно писать названия пространства имён, + то вы можете использовать ключевое слово using + + using namespace audio; + + Это говорит о том, что начиная с этой строки audio:: перед именами писать больше не нужно + + Это, конечно, полностью уничтожают всю пользу, которую приносят пространства имён. + То есть в больших проектах могут возникнуть ошибки, связанные с одинаковыми именами. + + Так что так лучше не делать, а если и делать, то только в маленьких программах. +*/ + + +namespace audio +{ + int a = 10; + + int calculate(int x) + { + return x + 1; + } +} + + +namespace graphics +{ + int a = 20; + + int calculate(int x) + { + return x * 2; + } +} + +namespace network +{ + int b = 20; + + int solve(int x) + { + return x * 2; + } +} + +using namespace audio; + +int main() +{ + printf("%i\n", calculate(a)); +} + + +/* + Задание: + + 1) Что напечатает данная программа? + + 2) Если заменить using namespace audio на using namespace graphics, то что напечатает программа? + + 3) Что если одновременно использовать пространство имён audio и пространство имён graphics? + + using namespace audio; + using namespace graphics; + + Приведёт ли это к ошибке и, если да, то почему? + + + 4) Что если одновременно использовать пространство имён audio и пространство имён network? + + using namespace audio; + using namespace network; + + Приведёт ли это к ошибке и, если да, то почему? +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/06std_cout.cpp b/seminar01_overload/classroom_tasks/code/00namespace/06std_cout.cpp new file mode 100644 index 0000000..436f140 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/06std_cout.cpp @@ -0,0 +1,65 @@ +#include + +/* + Все переменные/функции/структуры/классы стандартной библиотеки языка C++ содержатся в пространстве имён std + Рассмотрим, например, глобальную переменную cout, определённую в библиотеке iostream в пространстве имён std. + + К этой переменной можно применять оператор << + cout << объект + В результате этой операции объект напечатается на экран (если он может напечататься) + Результат оператора << также является cout, поэтому можно применять << несколько раз: + + + + Например это выражение: cout << "Hello " << "World" << "\n"; + + 1) Сначала напечатается "Hello " и на место cout << "Hello " подставится cout + Получтся cout << "World" << "\n"; + + 2) Потом напечатется "World" и на место cout << "World" подставится cout + Получтся cout << "\n"; + + 3) В конце напечатается перенос строки +*/ + + + +int main() +{ + std::cout << "Hello World\n"; + std::cout << 5 << "\n"; + + int x = 10; + std::cout << 5 << "\n"; +} + + +/* + Задачи: + + 1) Напечатайте на экран число 1.4, используя cout (количество печатаемых знаков после запятой неважно) + Обратите внимание, что при печати с cout не нужно указывать спецификатор типа как в printf. + cout сам понимает объект какого типа ему передаётся + + 2) Напечатайте фразу "I am x years old", только за место x нужно подставить значение + переменной x. В данной задаче получится "I am 10 years old". Используйте cout. + + 3) Напечатайте на экран числа от 1 до 20, разделённые пробелом. Используйте cout + + 4) Вместо \n для переноса строки можно использовать endl - специальный объект из + пространства имён std. + Если мы передаём его объекту cout через оператор << то печатается перенос строки + + Замените все переносы строк с \n на endl + std::cout << 5 << "\n"; --> std::cout << 5 << std::endl; + + + На самом деле std::endl работает медленней, чем \n, так как он помимо печати делает flush + Поэтому, если важна скорость печати в буфер, то лучше использовать \n + + + 5) Что будет если не написать std:: перед одним из cout? + + 6) Используйте using namespace std; и избавьтесь от надоедливых std:: перед cout и endl + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/06std_cout_solution.cpp b/seminar01_overload/classroom_tasks/code/00namespace/06std_cout_solution.cpp new file mode 100644 index 0000000..744d55c --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/06std_cout_solution.cpp @@ -0,0 +1,16 @@ +#include +using namespace std; + + +int main() +{ + cout << 1.4 << endl; + + int x = 10; + cout << "I am " << x << " years old" << endl; + + for (int i = 1; i <= 20; ++i) + cout << i << " "; + cout << endl; + +} diff --git a/seminar01_overload/classroom_tasks/code/00namespace/07std_using_one_name.cpp b/seminar01_overload/classroom_tasks/code/00namespace/07std_using_one_name.cpp new file mode 100644 index 0000000..5d1277c --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/07std_using_one_name.cpp @@ -0,0 +1,32 @@ +#include + +/* + В пространстве имён std очень много разных имён. Если мы добавим их всех, используя + using namespace std; + то это может привести к проблеме. + Одно из имён из std может совпасть с названием нашего объекта и это может привести к ошибке. + + Так что лучше такую возможность не использовать. + + Но можно добавить только одно имя так: + using std::cout; + Начиная с этого момента можно писать просто cout. + Но для всех остальных объектов из std вы должны продолжать писать std:: +*/ + +using std::cout; + + +int main() +{ + cout << "Hello World" << std::endl; + cout << 5 << std::endl; +} + + +/* + Задачи: + + 1) Добавить endl в нашу область видимости, также как и cout + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/08std_cin.cpp b/seminar01_overload/classroom_tasks/code/00namespace/08std_cin.cpp new file mode 100644 index 0000000..9547de5 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/08std_cin.cpp @@ -0,0 +1,41 @@ +#include + +/* + Счтиывание из стандартного входа + + Рассмотрим глобальную переменную cin, определённую в библиотеке iostream в пространстве имён std. + + К этой переменной можно применять оператор >> + cin >> объект + В результате этой операции объект считается с экрана (если он может быть считан) + Результат оператора >> также является cin, поэтому можно применять >> несколько раз: + + + + Например это выражение: cin >> a >> b; + + 1) Сначала считается переменная a и на место cin >> a подставится cin + Получтся cin >> b; + + 2) Потом считается переменная b +*/ + + + +int main() +{ + int a, b; + std::cin >> a >> b; + std::cout << a + b; +} + + +/* + Задачи: + + 1) Что напечатает данная программа, если на вход передать числа 10 и 20? + + 2) Напишите программу, которая будет считывать два вещественных числа и печатать их среднее геометрическое + Функция корня sqrt есть в библиотеке + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/08std_cin_solution.cpp b/seminar01_overload/classroom_tasks/code/00namespace/08std_cin_solution.cpp new file mode 100644 index 0000000..56b5d96 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/08std_cin_solution.cpp @@ -0,0 +1,10 @@ +#include +#include + + +int main() +{ + float a, b; + std::cin >> a >> b; + std::cout << sqrt(a * b); +} diff --git a/seminar01_overload/classroom_tasks/code/00namespace/09cprog.cpp b/seminar01_overload/classroom_tasks/code/00namespace/09cprog.cpp new file mode 100644 index 0000000..23dcdee --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/09cprog.cpp @@ -0,0 +1,42 @@ +#include +#include + +/* + Язык C++ обратно совместим с языком C. То есть почти любая программа на C будет работать на C++ + Эта программа будет работать. + + Обратите внимания, для имён, пришедших из языка C использовать std:: не обязательно + + Программа работает, несмотря на то, что мы используем библиотечные + функции printf и sqrt без указания пространства имён std. +*/ + + + +int main() +{ + printf("%f", sqrt(3)); +} + + +/* Задача: + + 1) Что напечатает данная программа? + + 2) Использование библиотечных функций без std опасно, так как может привести к ошибкам, + связанных с совпадением имён. Помните, что большая программа может иметь миллионы + строк кода и совпадение ваших имен и библиотечных имён очень вероятно. + + + Напишите следующую функцию перед функцией main + + int sqrt(int x) + { + return x + 1; + } + + Что теперь напечатает программа? Объясните результат. +*/ + + + diff --git a/seminar01_overload/classroom_tasks/code/00namespace/10cprog_with_std.cpp b/seminar01_overload/classroom_tasks/code/00namespace/10cprog_with_std.cpp new file mode 100644 index 0000000..675de5c --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/00namespace/10cprog_with_std.cpp @@ -0,0 +1,37 @@ +#include +#include + +/* + Желательно всё равно использовать std даже для имён пришедших из языка C + + Также были изменены названия библиотек: + stdio.h --> cstdio + math.h --> cmath + cmath означает, что это библиотека языка C под названием math, поэтому и cmath + + Они почти не отличаются от предыдущих, но при программировании на C++ + желательно использовать именно эти библиотеки. +*/ + + +int main() +{ + std::printf("%f", std::sqrt(3)); +} + + +/* Задача: + + 1) Что напечатает данная программа? + + 2) Напишите следующую функцию перед функцией main + + int sqrt(int x) + { + return x + 1; + } + + Что теперь напечатает программа? Объясните результат. +*/ + + diff --git a/seminar01_overload/classroom_tasks/code/01ref/00ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/00ref.cpp new file mode 100644 index 0000000..e5ec010 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/00ref.cpp @@ -0,0 +1,60 @@ +#include +using std::cout, std::endl; + + +/* + В C++ вводится понятие нового типа под названием Ссылка + + Ссылку можно рассматривать как новое имя для объекта. + Ссылку также можно рассматривать как удобный указатель, который автоматически разыменовывается + (На самом деле под капотом ссылка и является указателем) + + Ссылка объявляется с помощью значка & после имени типа. + Не стоит путать & используемый при объявлении ссылки с & используемым для нахождения адреса переменной. + Это разные & + + + Пусть есть переменная a + int a = 10; + Давайте создадим указатель и ссылку на эту переменную и увеличим её на 1 с помощью указателя/ссылки + + Используем указатель: Используем ссылку: + int* p = &a; int& r = a; + *p += 1; r += 1; + + + Ссылкой пользоваться удобно, так как: + + 1) При создании ссылки нам не нужно передавать ей адрес + Просто передаём ей саму переменную, а ссылка уже сама находит её адрес + + 2) Не нужно её разыменовывать, она всегда разыменовывается сама + +*/ + +int main() +{ + int a = 10; + + int& r = a; + r += 1; + + cout << a << endl; +} + + +/* + Задачи: + + 1) Используйте ссылку r, чтобы увеличить a в 2 раза + Проверьте, как изменилась a, напечатав её + + + 2) Используйте ссылку r, чтобы присвоить a число 100 + Проверьте, как изменилась a, напечатав её + + + 3) Создайте переменную b типа float, равную 1.5 + Создайте ссылку на b и используйте эту ссылку, чтобы возвести b в квадрат + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/01ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/01ref.cpp new file mode 100644 index 0000000..d1af855 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/01ref.cpp @@ -0,0 +1,39 @@ +#include +using std::cout, std::endl; + + +/* + Пусть у нас есть некоторый объект, например + int a = 10; + + После того как мы создали ссылку на этот объект + int& r = a; + + Все (почти) операции применяемые к ссылке r применяются на самом деле к объекту a + Как будто у одного объекта теперь два имени a и r + Поэтому можно сказать, что ссылка это новое имя для объекта + + При этом изменить саму ссылку (например, чтобы она начала указывать на другое имя) нельзя +*/ + +int main() +{ + int a = 10; + int& r = a; + + + r += 5; // Прибавим к a число 5 + r *= 2; // Умножим a на 2 + cout << r << endl; // Напечатаем a + cout << sizeof(r) << endl; // Напечатаем размер a + cout << &r << endl; // Напечатаем адрес a +} + + +/* + Задачи: + + 1) Чему будет равно значение a в конце этой программы + + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/02ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/02ref.cpp new file mode 100644 index 0000000..106b64e --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/02ref.cpp @@ -0,0 +1,43 @@ +#include +using std::cout, std::endl; + + +/* + Пусть у нас есть некоторый объект, например + int a = 10; + + После того как мы создали ссылку на этот объект + int& r = a; + + Все (почти) операции применяемые к ссылке r применяются на самом деле к объекту a + Как будто у одного объекта теперь два имени a и r + Поэтому можно сказать, что ссылка это новое имя для объекта + + При этом изменить саму ссылку (например, чтобы она начала указывать на другое имя) нельзя +*/ + +int main() +{ + int a[5] = {10, 20, 30, 40, 50}; + + int& b = a[1]; + b += 1; + + for (int i = 0; i < 5; ++i) + { + cout << a[i] << " "; + } + cout << endl; +} + + +/* + Задачи: + + 1) Что будет содержать массив a в конце данной программы? + + 2) Создайте ссылку, которая будет указывать на последний элемент массива a + Используйте эту ссылку, чтобы умножить последний элемент массива на 2 + Напечатайте этот массив + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/03ref_pointer_diff_init.cpp b/seminar01_overload/classroom_tasks/code/01ref/03ref_pointer_diff_init.cpp new file mode 100644 index 0000000..b6142bb --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/03ref_pointer_diff_init.cpp @@ -0,0 +1,49 @@ +#include +using std::cout, std::endl; + + +/* + Несмотря на то, что ссылки и указатели во многом похожи, у них есть и много больших отличий. + (помимо разной инициализации и того, что ссылку не нужно постоянно разыменовывать) + + + Различие 1) + Указатель можно создать без инициализации вот так: + int* p; + В этом случае в p будет храниться произвольный адрес. + Разыменовывать такой указатель, не задав его значение адресом какого-либо объекта, + очень опасно, это может привести к сложновыявляемым ошибкам. + + Ссылку нельзя создать без инициализации, то есть так нельзя: + int& r; + При создании ссылки нужно указать на что она будет указывать + + + Различие 2) + Указатель можно приравнять нулевому значению + В C++ вводится специальное нулевое значение для указателя nullptr + Вместо NULL, который был просто равен числу 0. В C++ лучше использовать nullptr + Разыменование нулевого указателя также приведёт к ошибке. + + Ссылку нельзя присвоить никакому нулевому значению + +*/ + +int main() +{ + +} + + +/* + Задачи: + + 1) Попробуйте создать: + a) Указатель без инициализации + б) Ссылку без инициализации + + в) Указатель, равнуй нулевому значению nullptr + г) Ссылку, равную нулю + + Скомпилируется ли программа в этих 4-х случаях? +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/04ref_pointer_diff_assign.cpp b/seminar01_overload/classroom_tasks/code/01ref/04ref_pointer_diff_assign.cpp new file mode 100644 index 0000000..46a707a --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/04ref_pointer_diff_assign.cpp @@ -0,0 +1,52 @@ +#include +using std::cout, std::endl; + + +/* + Несмотря на то, что ссылки и указатели во многом похожи, у них есть и много больших отличий. + (помимо разной инициализации и того, что ссылку не нужно постоянно разыменовывать) + + + Различие 3) Указатель можно переприсвоить. Если указатель сначала указывал в одно место, + например, на переменную a, то можно просто написать + p = &b; + и указатель станет указывать на переменную b. + + Со ссылками такое не пройдёт, они всегда указывают на тот объект, который был указан при создании ссылки + При попытке изменить это и написать что-то вроде + r = b; + ссылка автоматически разыменуется и присваивание произойдёт к тому, на что указывала ссылка + + +*/ + +int main() +{ + int a = 10; + int b = 20; + + int* p = &a; + *p += 1; + p = &b; + *p += 1; + + cout << a << " " << b << endl; + + + int& r = a; + r += 1; + r = b; + r += 1; + + cout << a << " " << b << endl; +} + + +/* + Задачи: + + 1) Попробуйте понять, что напечатает программа без её запуска + + 2) Запустите программу, проверьте ваши догадки и объясните результат + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/05ref_pointer_diff_arith.cpp b/seminar01_overload/classroom_tasks/code/01ref/05ref_pointer_diff_arith.cpp new file mode 100644 index 0000000..a4804a8 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/05ref_pointer_diff_arith.cpp @@ -0,0 +1,44 @@ +#include +using std::cout, std::endl; + + +/* + Несмотря на то, что ссылки и указатели во многом похожи, у них есть и много больших отличий. + (помимо разной инициализации и того, что ссылку не нужно постоянно разыменовывать) + + Различие 4) + Арифметика указателей. + К указателю можно прибавлять/отнимать целые числа. Можно вычесть 2 указателя. + Можно применить [] к указателю. При всём этом, желательно, чтобы указатель указывал на элемент массива. + Неаккуратное использование арифметики указателей может привести к ошибкам. + Например, можно прибавить к указателю не то число и выйти за пределы массива. + + + Ничего такого со ссылками сделать нельзя. + При попытке прибавить к ссылке число, оно прибавится к той переменной, на которую указывает ссылка. + Так как ссылка автоматически разыменуется. + +*/ + +int main() +{ + int a[5] = {10, 20, 30, 40, 50}; + + int* p = &a[0]; + + p += 1; // Увеличиваем указатель + *p += 1; // Увеличиваем то, на что указывает указатель + + + int& r = a[0]; + + r += 1; // Увеличиваем то, на что указывает ссылка (она автоматически разыменовывается) +} + + +/* + Задачи: + + 1) Чему будет равен массив a в конце данной программы + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/06ref_restrictions.cpp b/seminar01_overload/classroom_tasks/code/01ref/06ref_restrictions.cpp new file mode 100644 index 0000000..5857823 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/06ref_restrictions.cpp @@ -0,0 +1,46 @@ +#include +using std::cout, std::endl; + + +/* + Несмотря на то, что ссылки и указатели во многом похожи, у них есть и много больших отличий. + + Различие 5) + Ссылки это не совсем обычный объект, некоторые операции с ними запрещены: + + Ссылку нельзя сделать элементом массива + + Нельзя получить адрес ссылки (если применим & то вернётся адрес того объекта на который указывет ссылка) + Нельзя создать укатель на ссылку + Нельзя создать ссылку на ссылку +*/ + +int main() +{ + + int x = 1; + int y = 2; + int z = 2; + + int& a[3] = {x, y, z}; // Ошибка, создать массив из ссылок не получится + +} + + +/* + Задачи: + + 1) Можно ли инициализировать ссылку на int простым числом вот так: + int& r = 5; + + + 2) Ссылку на ссылку создать нельзя, но код ниже почему-то работает. + Объясните почему этот код работает + + int a = 10; + int& r1 = a; + int& r2 = r1; + + r2 += 1; + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/07func_ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/07func_ref.cpp new file mode 100644 index 0000000..55ec344 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/07func_ref.cpp @@ -0,0 +1,69 @@ +#include +using std::cout, std::endl; + + +/* + В 90% случаях ссылки используются для того чтобы передать что либо в функцию + Часто нам хочется передать переменную в функцию и изменить её там (внутри функции) + Это можно делать и с помощью указателей, но с помощью ссылок это делать гораздо удобней + Рассмотрим два эквивалентных участка кода: + + Передаём по указателю: Передаём по ссылке: + + void sqr(int* p) void sqr(int& r) + { { + *p = *p * *p; r = r * r; + } } + + int main() int main() + { { + int a = 5; int a = 5; + sqr(&a); sqr(a); + cout << a << endl; cout << a << endl; + } } + + + Обратите внимание на 2 вещи: + 1) Ссылку не нужно разыменовывать внутри функции, это происходит автоматически + + 2) При передаче в функцию, не нужно передавать адрес переменной + Нужно передать саму переменную, компилятор сам вычислит её адрес + + При этом копирования объекта a в функцию не происходит, + ссылки работают также быстро как и указатели +*/ + +void sqr(int& r) +{ + r = r * r; +} + +int main() +{ + int a = 5; + sqr(a); + + cout << a << endl; +} + + +/* + Задачи: + + 1) Напишите функцию void inc(int& x), которая должна принимать объект типа int + и увеличивать его на 1 + Вызовите эту функцию из main и протестируйте её работу + + 2) Напишите функцию void normalize(float& x, float& y), которая должна принимать + 2 объекта типа float и нормализировать их. То есть делить их на некоторое число, + так чтобы было x*x + y*y == 1 + + Для этого x и y нужно разделить на sqrt(x*x + y*y) + + + 3) Можно ли передать в функцию sqr не переменную, а число? + То есть, можно ли написать так: + sqr(5) + + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/07func_ref_solution.cpp b/seminar01_overload/classroom_tasks/code/01ref/07func_ref_solution.cpp new file mode 100644 index 0000000..9fcb592 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/07func_ref_solution.cpp @@ -0,0 +1,50 @@ +#include +#include +using std::cout, std::endl; + + +void inc(int& x) +{ + x += 1; +} + +void normalize(float& x, float& y) +{ + float norm = std::sqrt(x * x + y * y); + x /= norm; + y /= norm; +} + + +int main() +{ + int a = 5; + inc(a); + cout << a << endl; + + float x = 9, y = 6; + normalize(x, y); + cout << x << " " << y << endl; +} + + +/* + Задачи: + + 1) Напишите функцию void inc(int& x), которая должна принимать объект типа int + и увеличивать его на 1 + Вызовите эту функцию из main и протестируйте её работу + + 2) Напишите функцию void normalize(float& x, float& y), которая должна принимать + 2 объекта типа float и нормализировать их. То есть делить их на некоторое число, + так чтобы было x*x + y*y == 1 + + Для этого x и y нужно разделить на sqrt(x*x + y*y) + + + 3) Можно ли передать в функцию sqr не переменную, а число? + То есть, можно ли написать так: + sqr(5) + + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct.cpp b/seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct.cpp new file mode 100644 index 0000000..78ae781 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct.cpp @@ -0,0 +1,81 @@ +#include +using std::cout, std::endl; + + +/* + Чаще всего по ссылке в функцию передаются объекты структур и классов + + Даже если мы не хотим менять объект внутри функции, мы всё-равно можем + захотеть передать его по ссылке, так как передача по ссылке не копирует объект, + следовательно это гораздо более эффективно + + В этом случае передаём по константной ссылке (по аналогии с константным указателем) + +*/ + + +struct Book +{ + char title[100]; + int pages; + float price; +}; + + +void increasePrice(Book& b, float value) +{ + b.price += value; +} + +void printBook(Book& b) +{ + cout << b.title << ", pages = " << b.pages << ", price = " << b.price << endl; +} + + +int main() +{ + Book b = {"War and Peace", 1200, 900}; + + printBook(b); + increasePrice(b, 100); + printBook(b); +} + + +/* +// Тот же самый код с использованием указателей выглядел бы так: + +void increasePrice(Book* b, float value) +{ + b->price += value; +} + +void printBook(const Book* b) +{ + cout << b->title << ", pages = " << b->pages << ", price = " << b->price << endl; +} + +int main() +{ + Book b = {"War and Peace", 1200, 900}; + + printBook(&b); + increasePrice(b, 100); + printBook(&b); +} + +*/ + + +/* + Задачи: + + 1) Напишите функцию addPage, которая бы принимала структуру Book по ссылке + и увеличивала количество страниц на 1 + Протестируйте эту функцию в main + + 2) Напишите функцию changeFirstLetter, которая бы принимала структуру Book по ссылке + и изменяла первую букву в названии на букву A + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct_solution.cpp b/seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct_solution.cpp new file mode 100644 index 0000000..ebfceef --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct_solution.cpp @@ -0,0 +1,41 @@ +#include +using std::cout, std::endl; + + + +struct Book +{ + char title[100]; + int pages; + float price; +}; + +void addPage(Book& b) +{ + b.pages++; +} + +void changeFirstLetter(Book& b) +{ + b.title[0] = 'A'; +} + +void printBook(const Book& b) +{ + cout << b.title << ", pages = " << b.pages << ", price = " << b.price << endl; +} + + +int main() +{ + Book b = {"War and Peace", 1200, 900}; + + printBook(b); + + addPage(b); + printBook(b); + + changeFirstLetter(b); + printBook(b); +} + diff --git a/seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref.cpp new file mode 100644 index 0000000..baac9d3 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref.cpp @@ -0,0 +1,73 @@ +#include +using std::cout, std::endl; + +/* + Ссылки, как и указатели используются для передачи объектов в функции + + Рассмотрим три функции + + incByValue - принимаем объект по значению + В этом случае объект копируется и функция работает с копией + + incByPointer - принимаем объект по адресу + В этом случае внутри функции создаётся указатель, и в этот указатель + мы передаём адрес нашего объекта + + incByReference - принимаем объект по ссылке + В этом случае происходит всё примерно то же самое, что и в случае incByPointer + Только с гораздо более приятным синтаксисом + +*/ + + +void incByValue(int a) +{ + a += 1; +} + +void incByPointer(int* p) +{ + *p += 1; +} + +void incByReference(int& a) +{ + a += 1; +} + +int main() +{ + int a = 10; + + cout << "1) Initial a = " << a << endl + + incByValue(a); + cout << "2) After incByValue a = " << a << endl; + + incByPointer(&a); + cout << "3) After incByPointer a = " << a << endl + + incByReference(a); + cout << "4) After incByReference a = " << a << endl; +} + + +/* + Задание: + + 1) Напишите функции: + + cubeByPointer(int* p) - принимет число по указателю и возводит это число в куб + cubeByReference(int& a) - принимет число по ссылке и возводит это число в куб + + Протестируйте эти функции в main + + + 2) Написать функции: + + swapByPointer(int* pa, int* pb) - принимает 2 числа по указателю и обменивает их значения + swap(int& pa, int& pb) - принимает 2 числа по ссылке и обменивает их значения + + Протестируйте эти функции в main + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref_solution.cpp b/seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref_solution.cpp new file mode 100644 index 0000000..899e1c7 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref_solution.cpp @@ -0,0 +1,54 @@ +#include +using std::cout, std::endl; + + +void cubeByPointer(int* p) +{ + *p = *p * *p * *p; +} + +void cubeByReference(int& a) +{ + a = a * a * a; +} + + +void swapByPointer(int* pa, int* pb) +{ + int temp = *pa; + *pa = *pb; + *pb = temp; +} + +void swapByReference(int& a, int& b) +{ + int temp = a; + a = b; + b = temp; +} + + + +int main() +{ + int a = 5; + cubeByPointer(&a); + cout << a << endl; + + a = 5; + cubeByReference(a); + cout << a << endl; + + + + int x = 10, y = 20; + swapByPointer(&x, &y); + cout << x << " " << y << endl; + + + x = 10; + y = 20; + swapByReference(x, y); + cout << x << " " << y << endl; + +} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/10const_ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/10const_ref.cpp new file mode 100644 index 0000000..3df3a6a --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/10const_ref.cpp @@ -0,0 +1,97 @@ +#include +#include +using std::cout, std::endl; + +/* + Константные ссылки можно создать, используя ключевое слово const + + int a = 10; + const int& r = a; + + Это означает, что a нельзя будет изменить по этой ссылке + То есть поменять a, используя ссылку r будет нельзя: + r += 1; // Ошибка! + a += 1; // OK + + + Важным неочевидным отличием константных ссылок от обычных ссылок является то, что обычные ссылки + можно инициализировать только объектами, которые уже храняться в памяти (например, переменными). + + int& r1 = a; // OK + int& r2 = 5; // Ошибка + + Константные ссылки можно инициализировать чем угодно (нужно только чтобы тип совпадал) + + const int& cr1 = a; // OK + const int& cr2 = 5; // OK + + +*/ + + +int main() +{ + int a = 10; + const int& r = a; + + + int& r1 = 20; // Это не будет компилироваться + const int& r2 = 20 // Тут всё ОК + +} + + +/* + Задание: + + 1) Можно ли инициализировать ссылку таким образом? + float& r = std::sqrt(2); + + Можно ли инициализировать константную ссылку таким образом? + const float& r = std::sqrt(2); + + + 2) Пусть есть функция: + + void printAgeV(int x) + { + cout << "My age is " << x << " years" << endl; + } + + Можно ли вызвать её так? + int a = 10; + printAgeV(a) + + Можно ли вызвать её так? + printAgeV(20) + + + 3) Пусть есть функция: + + void printAgeR(int& x) + { + cout << "My age is " << x << " years" << endl; + } + + Можно ли вызвать её так? + int a = 10; + printAgeR(a) + + Можно ли вызвать её так? + printAgeR(20) + + + 4) Пусть есть функция: + + void printAgeCR(const int& x) + { + cout << "My age is " << x << " years" << endl; + } + + Можно ли вызвать её так? + int a = 10; + printAgeCR(a) + + Можно ли вызвать её так? + printAgeCR(20) +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/10const_ref2.cpp b/seminar01_overload/classroom_tasks/code/01ref/10const_ref2.cpp new file mode 100644 index 0000000..9d1f484 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/10const_ref2.cpp @@ -0,0 +1,63 @@ +#include +#include +using std::cout, std::endl; + +/* + Константные ссылки нужны прежде всего, чтобы передавать большие объекты в функции, внутри которых они не должны меняться + + Рассмотрим структуру Book, чей размер более 100 байт + + + 1) При передаче такой структуры в функцию по значению, как это происходит в функции printBookV, + вся структура будет копироваться внутрь функции и это очень медленно. Так делать не стоит. + + + 2) При передаче такой структуры в функцию по обычной ссылке, как это происходит в функции printBookR, структура не копируется + На самом деле, под капотом внутрь функции копируется адрес структуры. + Адрес намного меньше самой структуры, поэтому это копирование работает намного быстрее. + + Но возникает проблема с тем, что структура внутри такой функции может поменяться. + В реальной ситуации, если функций много и они большие, уследить за тем меняется ли аргументы внутри функций становится проблематично. + + + 3) При передаче такой структуры в функцию по константной ссылке, как это происходит в функции printBookCR, структура не копируется. + Плюс к этому мы можем быть уверены, что внутри функции наша структура не поменяется и это сильно упрощает понимание программы. + +*/ + +struct Book +{ + char title[100]; + int pages; + float price; +}; + + +void printBookV(Book b) +{ + cout << b.title << ", pages = " << b.pages << ", price = " << b.price << endl; +} + + +void printBookR(Book& b) +{ + cout << b.title << ", pages = " << b.pages << ", price = " << b.price << endl; +} + + +void printBookCR(const Book& b) +{ + cout << b.title << ", pages = " << b.pages << ", price = " << b.price << endl; +} + + +int main() +{ + Book b = {"War and Peace", 1200, 900}; + + printBookV(b); + printBookR(b); + printBookCR(b); +} + + diff --git a/seminar01_overload/classroom_tasks/code/01ref/11return_ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/11return_ref.cpp new file mode 100644 index 0000000..8436ff0 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/11return_ref.cpp @@ -0,0 +1,50 @@ +#include +using std::cout, std::endl; + + +/* + Ссылки можно и возвращать из функции + Например, функция get возвращает ссылку на глобальную переменную x + +*/ + +int x = 10; + + +int& get() +{ + return x; +} + +int main() +{ + cout << x << endl; + cout << get() << endl; + + get() += 1; + cout << x << endl; +} + + + +/* + С указателями аналогичный код выглядел бы так: + + +int x = 10; + +int* get() +{ + return &x; +} + +int main() +{ + cout << x << endl; + cout << *get() << endl; + + *get() += 1; + cout << x << endl; +} + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/12return_ref_local.cpp b/seminar01_overload/classroom_tasks/code/01ref/12return_ref_local.cpp new file mode 100644 index 0000000..8b15dbc --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/12return_ref_local.cpp @@ -0,0 +1,51 @@ +#include +using std::cout, std::endl; + + +/* + Ссылки можно и возвращать из функции + + Но при этом нужно следить за тем, чтобы функция не вернула ссылку на локальную переменную, как это происходит в данном примере. + После завершения функции, переменная x удалится, так как она была определена внутри функции. + + В результате, внутри функции main мы попробуем доступиться к области памяти, в которой раньше лежала переменная x. + Это приведёт к ошибке + +*/ + +int& get() +{ + int x = 10; + return x; +} + + +int main() +{ + cout << get() << endl; + + get() += 1; + cout << get() << endl; + +} + + + +/* + Аналогичная ошибка может произойти и при работе с обычными указателями: + + int* get() + { + int x = 10; + return &x; + } + + int main() + { + cout << *get() << endl; + + *get() += 1; + cout << *get() << endl; + } + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/13return_ref_argument.cpp b/seminar01_overload/classroom_tasks/code/01ref/13return_ref_argument.cpp new file mode 100644 index 0000000..ce7b9e3 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/13return_ref_argument.cpp @@ -0,0 +1,39 @@ +#include +using std::cout, std::endl; + + +/* + Ссылки можно и возвращать из функции + Например, функция increase принимает ссылку, увеличивет то, на что указывает эта ссылка на 1 + и возвращает эту ссылку + + При этом никакого копирование самой переменной a в функцию и из функции не происходит +*/ + +int& increase(int& r) +{ + r += 1; + return r; +} + +int main() +{ + int a = 10; + + cout << "1) a = " << a << endl; + + increase(a); + cout << "2) a = " << a << endl; + + increase(a) += 7; + cout << "3) a = " << a << endl; + + increase(increase(increase(a))); + cout << "4) a = " << a << endl; +} + + + +/* + Что напечатает данная программа? +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/14problem_1.cpp b/seminar01_overload/classroom_tasks/code/01ref/14problem_1.cpp new file mode 100644 index 0000000..8458de8 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/14problem_1.cpp @@ -0,0 +1,17 @@ +#include +using std::cout, std::endl; + + +/* + Задача: + + Напишите функцию multiplyBy2, которая принимает число по ссылке и увеличивает его в 2 раза + Вызовите эту функцию из функции main + +*/ + +int main() +{ + +} + diff --git a/seminar01_overload/classroom_tasks/code/01ref/14problem_1_solution.cpp b/seminar01_overload/classroom_tasks/code/01ref/14problem_1_solution.cpp new file mode 100644 index 0000000..8a264b1 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/14problem_1_solution.cpp @@ -0,0 +1,16 @@ +#include +using std::cout, std::endl; + + +void multiplyBy2(int& a) +{ + a *= 2; +} + +int main() +{ + int x = 10; + multiplyBy2(x); + cout << x << endl; +} + diff --git a/seminar01_overload/classroom_tasks/code/01ref/15problem_2.cpp b/seminar01_overload/classroom_tasks/code/01ref/15problem_2.cpp new file mode 100644 index 0000000..39c5515 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/15problem_2.cpp @@ -0,0 +1,22 @@ +#include +using std::cout, std::endl; + + +/* + Задача: + + Напишите функцию sumAndSave, которая должна принимать 3 аргумента + Первые два аргумента по значению + Третий аргумент по ссылке + + Функция должна складывать первые 2 аргумента и сохранять результат по третей ссылке + + Вызовите эту функцию из функции main + +*/ + +int main() +{ + +} + diff --git a/seminar01_overload/classroom_tasks/code/01ref/15problem_2_solution.cpp b/seminar01_overload/classroom_tasks/code/01ref/15problem_2_solution.cpp new file mode 100644 index 0000000..dffaf64 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/15problem_2_solution.cpp @@ -0,0 +1,36 @@ +#include +using std::cout, std::endl; + + +/* + Задача: + + Напишите функцию sumAndSave, которая должна принимать 3 аргумента + Первые два аргумента по значению + Третий аргумент по ссылке + + Функция должна складывать первые 2 аргумента и сохранять результат по третей ссылке + + Вызовите эту функцию из функции main + +*/ + +void sumAndSave(int a, int b, int& c) +{ + c = a + b; +} + + +int main() +{ + int x = 10, y = 20; + int z; + + sumAndSave(x, y, z); + cout << z << endl; + + + sumAndSave(70, 80, z); + cout << z << endl; +} + diff --git a/seminar01_overload/classroom_tasks/code/01ref/15problem_3.cpp b/seminar01_overload/classroom_tasks/code/01ref/15problem_3.cpp new file mode 100644 index 0000000..844c8cc --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/15problem_3.cpp @@ -0,0 +1,28 @@ +#include +using std::cout, std::endl; + + +/* + Задача: + + Напишите функцию + + void calculateLetters(char str[], int& numLetters) + + Которая будет принимать на вход строку и считать количество строчных букв в этой строке + Строчные буквы - это символы от 'a' и до 'z' + + Например, вызов calculateLetters("ab54AB,gd1:e", x) должен сохранить число 5 в переменную x + + +*/ + +int main() +{ + + int x; + calculateLetters("ab54AB,gd1:e", x); + cout << x << endl; + +} + diff --git a/seminar01_overload/classroom_tasks/code/01ref/15problem_3_solution.cpp b/seminar01_overload/classroom_tasks/code/01ref/15problem_3_solution.cpp new file mode 100644 index 0000000..7cf9e5c --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/01ref/15problem_3_solution.cpp @@ -0,0 +1,23 @@ +#include +using std::cout, std::endl; + + + + +void calculateLetters(char str[], int& numLetters) +{ + numLetters = 0; + for (int i = 0; str[i] != '\0'; ++i) + { + if (str[i] >= 'a' && str[i] <= 'z') + numLetters += 1; + } +} + +int main() +{ + int x; + calculateLetters("ab54AB,gd1:e", x); + cout << x << endl; +} + diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/00c_functions.c b/seminar01_overload/classroom_tasks/code/02function_overload/00c_functions.c new file mode 100644 index 0000000..b478e0b --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/02function_overload/00c_functions.c @@ -0,0 +1,61 @@ +#include + +/* + Это программа на языке C и компилировать её надо так: + gcc 00cfunctions.c + + + Известно, что в языке C нельзя создать две функции с одинаковым названием + Но часто требуется написать функции, которые будут делать похожие вещи, но для разных типов данных. + Простейший пример -- математические функции для разных численных типов данных + + В языке C эта проблема решается так, что функциям даются немного различающиеся имена + + + В данном примере мы создали функции для вычисления абсолютного значения для типов int и double + Всё работает хорошо, пока мы соблюдаем типы данных и функции + + Но стоит ошибиться и произойдёт сложно выявляемая ошибка + +*/ + +int abs(int a) +{ + if (a < 0) + return -a; + else + return a; +} + +double fabs(double a) +{ + if (a < 0) + return -a; + else + return a; +} + + + + +int main() +{ + printf("%i\n", abs(-5)); + printf("%lf\n", fabs(-5.9)); + + + double x = abs(-5.9); + printf("%lf\n", x); +} + + + + +/* + Задача: + + 1) В данном примере переменная x равна ровно 5. Почему так происходит? + + 2) Что будет, если всё-таки назвать 2 функции одинаковым именем и скомпилировать программу с помощью gcc? + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/01cpp_functions.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/01cpp_functions.cpp new file mode 100644 index 0000000..ecd9016 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/02function_overload/01cpp_functions.cpp @@ -0,0 +1,66 @@ +#include +using std::cout, std::endl; + +/* + Это программа на языке C++ и компилировать её надо так: + g++ 01cppfunctions.c + + + В отличии от языка C в языке C++ есть возможность создать 2 и больше разных функции с одним и тем же названием, + но с разным количеством и/или типами аргументов. + + Компилятор сам догадается, какую функцию следует вызвать в зависимости от типа аргумента. + +*/ + +int abs(int a) +{ + if (a < 0) + return -a; + else + return a; +} + +double abs(double a) +{ + if (a < 0) + return -a; + else + return a; +} + + + + +int main() +{ + cout << abs(-5) << endl; + cout << abs(-5.9) << endl; + + + double x = abs(-5.9); + cout << x << endl; +} + + + + +/* + Задачи: + + 1) Протестируйте, что компилятор действительно вызывает нужные функции + Для этого просто сделайте так, чтобы функция, которая принимает int печатала на экран слово int, + а функция, которая принимает double, печатала бы на экран слово double + + + 2) Что если на вход функции abs передать тип float? + Например, вот так: + abs(1.5f) + + Какая из функций вызовется? + + + 3) Напишите ещё одну перегрузку функции abs для типа float + Протестируйте её в функции main + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/02problem.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/02problem.cpp new file mode 100644 index 0000000..a748b3d --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/02function_overload/02problem.cpp @@ -0,0 +1,30 @@ +#include +using std::cout, std::endl; + +/* + Задача: + + Напишите несколько перегруженных функций под названием max + + 1) max, который вычисляет максимум от двух чисел типа int + 2) max, который вычисляет максимум от двух чисел типа double + 3) max, который вычисляет максимум от трёх чисел типа int + 4) max, который вычисляет максимум от трёх чисел типа double + +*/ + +int max(int a, int b) +{ + if (a > b) + return a; + else + return b; +} + + + + +int main() +{ + cout << max(4.2, 2.8) << endl; // Выводит число 4 -- неправильно +} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/02problem_solution.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/02problem_solution.cpp new file mode 100644 index 0000000..26ae5aa --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/02function_overload/02problem_solution.cpp @@ -0,0 +1,53 @@ +#include +using std::cout, std::endl; + + +int max(int a, int b) +{ + if (a > b) + return a; + else + return b; +} + +double max(double a, double b) +{ + if (a > b) + return a; + else + return b; +} + +int max(int a, int b, int c) +{ + int result = a; + if (b > result) + result = b; + if (c > result) + result = c; + return result; +} + +double max(double a, double b, double c) +{ + double result = a; + if (b > result) + result = b; + if (c > result) + result = c; + return result; +} + + + + +int main() +{ + cout << max(4.2, 2.8) << endl; + + cout << max(1, 2) << endl; + + cout << max(4, 2, 5) << endl; + + cout << max(1.2, 2.1, 0.5) << endl; +} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/03problem.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/03problem.cpp new file mode 100644 index 0000000..740f833 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/02function_overload/03problem.cpp @@ -0,0 +1,42 @@ +#include +using std::cout, std::endl; + +/* + Задача: + + Напишите несколько перегруженных функций под названием printType + + Эти функции должны печатать тип переменной, которая поступает на вход + + + printType(15) должен напечатать int + printType(1.5) должен напечатать double + printType(1.5f); должен напечатать float + printType("Hello"); должен напечатать char[] + + book b = {"War and Peace", 900, 1200}; + printType(b); должен напечатать book + +*/ + +struct book +{ + char title[50]; + float price; + int pages; +}; + + + + + +int main() +{ + printType(15); + printType(1.5); + printType(1.5f); + printType("Hello"); + + book b = {"War and Peace", 900, 1200}; + printType(b); +} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/03problem_solution.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/03problem_solution.cpp new file mode 100644 index 0000000..a8e3098 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/02function_overload/03problem_solution.cpp @@ -0,0 +1,66 @@ +#include +using std::cout, std::endl; + +/* + Задача: + + Напишите несколько перегруженных функций под названием printType + + Эти функции должны печатать тип переменной, которая поступает на вход + + + printType(15) должен напечатать int + printType(1.5) должен напечатать double + printType(1.5f); должен напечатать float + printType("Hello"); должен напечатать char[] + + book b = {"War and Peace", 900, 1200}; + printType(b); должен напечатать book + +*/ + +struct book +{ + char title[50]; + float price; + int pages; +}; + + +void printType(int a) +{ + cout << "int" << endl; +} + +void printType(double a) +{ + cout << "double" << endl; +} + +void printType(float a) +{ + cout << "float" << endl; +} + +void printType(const char a[]) +{ + cout << "char[]" << endl; +} + +void printType(const book& a) +{ + cout << "book" << endl; +} + + + +int main() +{ + printType(15); + printType(1.5); + printType(1.5f); + printType("Hello"); + + book b = {"War and Peace", 900, 1200}; + printType(b); +} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/04std.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/04std.cpp new file mode 100644 index 0000000..136311a --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/02function_overload/04std.cpp @@ -0,0 +1,17 @@ +#include +#include +using std::cout, std::endl; + +/* + В отличии от языка C в языке C++ стандартные математические функции уже перегружены и могут + работать с разными типами данных +*/ + + + +int main() +{ + cout << std::abs(-4) << endl; + cout << std::abs(-4.2) << endl; + cout << std::abs(-4.2f) << endl; +} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/05ref_overload.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/05ref_overload.cpp new file mode 100644 index 0000000..65c2f55 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/02function_overload/05ref_overload.cpp @@ -0,0 +1,67 @@ +#include +using std::cout, std::endl; + +/* + Функции можно перегружать и по указателю и ссылке + + Но в случае с перегрузкой по ссылке могут возникнуть ситуации при которых невозможно выбрать правильный + + Например, при вызове + + int a = 10; + func(a); + + Можно выбрать функцию void func(int x) или void func(int& x) + Определить более правильную функцию в этом случае невозможно, это приведёт к ошибке +*/ + + +void func(int x) +{ + cout << "int x" << endl; +} + +void func(int* x) +{ + cout << "int* x" << endl; +} + + +void func(int& x) +{ + cout << "int& x" << endl; +} + + +int main() +{ + int a = 10; + int* p = &a; + int& r = a; + + func(a); +} + + +/* + Задачи: + + 1) Определите какая функция вызовется при следующих вызовах функции func или произойдёт ошибка + + 1) func(a) + 2) func(p) + 3) func(&a) + 4) func(20) + 5) func(r) + 6) func(&r) + + + 2) Если добавить перегрузку, принимающую по константной ссылке, то что изменится + + void func(const int& x) + { + cout << "const int& x" << endl; + } + + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/animals.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/animals.cpp new file mode 100644 index 0000000..6b80feb --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/02function_overload/animals.cpp @@ -0,0 +1,30 @@ +#include +using std::cout, std::endl; + +struct Cat {}; +struct Dog {}; +struct Cow {}; + + + +void say(Cat a) +{ + cout << "Meow" << endl; +} + +void say(Dog a) +{ + cout << "Woof" << endl; +} + +void say(Cow a) +{ + cout << "Mooo" << endl; +} + + +int main() +{ + Cow x; + say(x); +} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload.cpp new file mode 100644 index 0000000..923d93b --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload.cpp @@ -0,0 +1,48 @@ +#include +using std::cout, std::endl; + + +/* + Предположим, что мы захотели создать структуру, который будет хранить время (для простоты, только минуты и секунды) + + Нам может понадобиться функция, которая будет добавлять ко времени, некоторое количество секунд + +*/ + + +struct Time +{ + int minutes; + int seconds; +}; + +Time add(Time t, int x) +{ + Time result = t; + result.seconds += x; + + result.minutes += (result.seconds / 60); + result.seconds %= 60; + + return result; +} + + +int main() +{ + Time a = {20, 10}; + Time b = add(a, 90); + + cout << b.minutes << " " << b.seconds << endl; +} + + +/* + + Задача: + + 1) Напишите функцию, которая будет складывать не время и число, а два времени + + Time add(Time ta, Time tb) + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload_solution.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload_solution.cpp new file mode 100644 index 0000000..07d04d3 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload_solution.cpp @@ -0,0 +1,44 @@ +#include +using std::cout, std::endl; + + +struct Time +{ + int minutes; + int seconds; +}; + +Time add(Time t, int x) +{ + Time result = t; + result.seconds += x; + + result.minutes += (result.seconds / 60); + result.seconds %= 60; + + return result; +} + + +Time add(Time ta, Time tb) +{ + Time result = ta; + result.seconds += 60 * tb.minutes + tb.seconds; + + result.minutes += (result.seconds / 60); + result.seconds %= 60; + + return result; +} + + +int main() +{ + Time a = {20, 10}; + Time b = add(a, 90); + Time c = add(a, b); + + cout << b.minutes << " " << b.seconds << endl; + cout << c.minutes << " " << c.seconds << endl; +} + diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload.cpp new file mode 100644 index 0000000..2b7275f --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload.cpp @@ -0,0 +1,63 @@ +#include +using std::cout, std::endl; + + +/* + Использовать функции может быть не так удобно как операторы. + Возможно было бы удобней для добавления времени использовать не функцию add, а оператор + + + Можно перегрузить оператор функцией, для этого нужно назвать функцию так: operator@ + где за место @ нужно подставить оператор, который вы хотите перегрузить + + Например, функция Time operator+(Time t, int x) перегружает оператор + для типов Time и int соответственно (обязательно в таком порядке) + Теперь, когда компилятор встретит в коде сложение с таким операндами он вызовет эту функцию + + В этом примере a + 90 при компиляции преобразуется в вызов функции operator+(a, 90) + +*/ + + +struct Time +{ + int minutes; + int seconds; +}; + +Time operator+(Time t, int x) +{ + Time result = t; + result.seconds += x; + + result.minutes += (result.seconds / 60); + result.seconds %= 60; + + return result; +} + + +int main() +{ + Time a = {20, 10}; + Time b = a + 90; + + cout << b.minutes << " " << b.seconds << endl; +} + + +/* + + Задача: + + 1) Что если операторы сложения поменяются местами + Time b = 90 + a; + Сработает ли в этом случае наша функция operator+ и, если нет, что нужно добавить, чтобы такое сложение сработало? + + + 2) Напишите перегруженный оператор, который будет складывать не время и число, а два времени + + Time operator+(Time ta, Time tb) + + + + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload_solution.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload_solution.cpp new file mode 100644 index 0000000..1b5d7af --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload_solution.cpp @@ -0,0 +1,50 @@ +#include +using std::cout, std::endl; + + +struct Time +{ + int minutes; + int seconds; +}; + +Time operator+(Time t, int x) +{ + Time result = t; + result.seconds += x; + + result.minutes += (result.seconds / 60); + result.seconds %= 60; + + return result; +} + +Time operator+(int x, Time t) +{ + return t + x; +} + +Time operator+(Time ta, Time tb) +{ + Time result = ta; + result.seconds += 60 * tb.minutes + tb.seconds; + + result.minutes += (result.seconds / 60); + result.seconds %= 60; + + return result; +} + + +int main() +{ + Time a = {20, 10}; + Time b = a + 90; + Time c = 90 + a; + Time d = a + b; + + cout << b.minutes << " " << b.seconds << endl; + cout << c.minutes << " " << c.seconds << endl; + cout << d.minutes << " " << d.seconds << endl; + +} diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/02_operator_unary.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/02_operator_unary.cpp new file mode 100644 index 0000000..2c8dac3 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/03operator_overload/02_operator_unary.cpp @@ -0,0 +1,71 @@ +#include +using std::cout, std::endl; + + +/* + Помимо перегрузки операторов, принимающих 2 аргумента (бинарных) + можно перегружать и унарные операторы - принимающие один аргумент + + При этом, так как operator+ это функция, то работает перегрузка функций + + +*/ + + +struct Time +{ + int minutes; + int seconds; +}; + +Time operator+(Time ta, Time tb) +{ + cout << "binary operator +" << endl; + + Time result = ta; + result.seconds += 60 * tb.minutes + tb.seconds; + + result.minutes += (result.seconds / 60); + result.seconds %= 60; + + return result; +} + +Time operator+(Time t) +{ + cout << "unary operator +" << endl; + + return t; +} + + +int main() +{ + Time a = {20, 10}; + Time b = {40, 30}; + + Time c = a + b; + Time d = +a; + + cout << c.minutes << " " << c.seconds << endl; + cout << d.minutes << " " << d.seconds << endl; +} + + +/* + + Задача: + + 1) Что если операторы сложения поменяются местами + Time b = 90 + a; + Сработает ли в этом случае наша функция operator+ и, если нет, что нужно добавить, чтобы такое сложение сработало? + + + 2) Напишите перегруженный оператор, который будет складывать не время и число, а два времени + + Time operator+(Time ta, Time tb) + + + + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/03bool.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/03bool.cpp new file mode 100644 index 0000000..3925c8f --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/03operator_overload/03bool.cpp @@ -0,0 +1,38 @@ +#include +using std::cout, std::endl; + +/* + В прошлом семестре, для хранения результатов логических операций, мы использовали целочисленные типы (например int). + + В языке C++ есть встроенный тип bool, который может принимать 2 значения (true и false). + Для хранения значения логических переменных желательно использовать этот тип + + + При печати на экран с помощью std::cout переменных типа bool печатается либо 0 либо 1 + Чтобы на экран печаталось false или true нужно в std::cout передать специальный объект std::boolalpha + +*/ + + +bool isEven(int a) +{ + return a % 2 == 0; +} + +int main() +{ + bool a = isEven(10); + bool b = isEven(15); + bool c = a || b; + + + if (c) + cout << "Yes" << endl; + else + cout << "No" << endl; + + cout << c << endl; + cout << std::boolalpha << c << endl; +} + + diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators.cpp new file mode 100644 index 0000000..6d8204a --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators.cpp @@ -0,0 +1,68 @@ +#include +using std::cout, std::endl; + + +/* + Помимо арифметических операторов можно перегружать и операторы сравнения (и многие другие операторы) + Желательно, чтобы операторы сравнения возвращали bool +*/ + + +struct Time +{ + int minutes; + int seconds; +}; + +Time operator+(Time ta, Time tb) +{ + Time result = ta; + result.seconds += 60 * tb.minutes + tb.seconds; + + result.minutes += (result.seconds / 60); + result.seconds %= 60; + + return result; +} + + +bool operator>(Time ta, Time tb) +{ + bool result = false; + + if (ta.minutes > tb.minutes) + result = true; + else if (ta.minutes == tb.minutes && ta.seconds > tb.seconds) + result = true; + + return result; +} + + +int main() +{ + Time a = {10, 20}; + Time b = {10, 40}; + Time c = {0, 20}; + + cout << std::boolalpha; + cout << (a > b) << endl; + cout << (b > a) << endl; + cout << (a + c > b) << endl; +} + + +/* + + Задача: + + 1) Заметьте, что при выводе на экран сравнение было взято в скобки + cout << (a > b) << endl; + + Что будет, если эти скобки не писать и почему + cout << a > b << endl; + + + 2) Напишите перегруженные операторы < >= <= == != для сравнения объектов структур типа Time друг с другом + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators_solution.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators_solution.cpp new file mode 100644 index 0000000..d0d2431 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators_solution.cpp @@ -0,0 +1,110 @@ +#include +using std::cout, std::endl; + + +/* + Помимо арифметических операторов можно перегружать и операторы сравнения (и многие другие операторы) + Желательно, чтобы операторы сравнения возвращали bool +*/ + + +struct Time +{ + int minutes; + int seconds; +}; + +Time operator+(Time ta, Time tb) +{ + Time result = ta; + result.seconds += 60 * tb.minutes + tb.seconds; + + result.minutes += (result.seconds / 60); + result.seconds %= 60; + + return result; +} + + +bool operator>(Time ta, Time tb) +{ + bool result = false; + + if (ta.minutes > tb.minutes) + result = true; + else if (ta.minutes == tb.minutes && ta.seconds > tb.seconds) + result = true; + + return result; +} + + +bool operator==(Time ta, Time tb) +{ + bool result = false; + if (ta.minutes == tb.minutes && ta.seconds == tb.seconds) + result = true; + + return result; +} + +bool operator!=(Time ta, Time tb) +{ + return !(ta == tb); +} + + +bool operator>=(Time ta, Time tb) +{ + return ta > tb || ta == tb; +} + + +bool operator<(Time ta, Time tb) +{ + return !(ta >= tb); +} + + +bool operator<=(Time ta, Time tb) +{ + return !(ta > tb); +} + + + + + +int main() +{ + Time a = {10, 20}; + Time b = {10, 40}; + Time c = {0, 20}; + + cout << std::boolalpha; + cout << (a == b) << endl; + cout << (a != b) << endl; + + cout << (a < b) << endl; + cout << (a <= b) << endl; + cout << (a > b) << endl; + cout << (a >= b) << endl; + cout << (a + c >= b) << endl; +} + + +/* + + Задача: + + 1) Заметьте, что при выводе на экран сравнение было взято в скобки + cout << (a > b) << endl; + + Что будет, если эти скобки не писать и почему + cout << a > b << endl; + + Ошибка происходит из-за того, что приоритет операции << выше, чем у операций сравнения + В результате сначала проводится + cout << a + затем получившийся объект сравнивается с b. Это и приводит к ошибке. +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload.cpp new file mode 100644 index 0000000..05fd9eb --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload.cpp @@ -0,0 +1,49 @@ +#include +using std::cout, std::endl; + +/* + Перегрузка оператора << для вывода на экран + + Напомним, что объект под названием cout имеет тип ostream (сокращение от output stream - выходной поток) + и хранится в библиотеке iostream в пространстве имён std + + То есть где-то внутри библиотеки iostream объявлена глобальная переменная по имени cout типа ostream + ostream cout; + + + Мы можем перегрузить оператор << с первым аргументом типа std::ostream, а вторым аргументом - нашим типом, + чтобы удобно выводить на экран объекты нашего типа. + +*/ + + + +struct Time +{ + int minutes; + int seconds; +}; + + +void operator<<(std::ostream& out, Time t) +{ + out << t.minutes << ":" << t.seconds; +} + + +int main() +{ + Time a = {10, 20}; + cout << a; +} + + +/* + Задача: + + cout << a; работает, но + cout << a << endl; выдаёт ошибку в данной программе. + + Из-за чего это происходит и как исправить эту ошибку? + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload_solution.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload_solution.cpp new file mode 100644 index 0000000..c035ba0 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload_solution.cpp @@ -0,0 +1,63 @@ +#include +using std::cout, std::endl; + + + +struct Time +{ + int minutes; + int seconds; +}; + + +Time operator+(Time ta, Time tb) +{ + Time result = ta; + result.seconds += 60 * tb.minutes + tb.seconds; + + result.minutes += (result.seconds / 60); + result.seconds %= 60; + + return result; +} + + +std::ostream& operator<<(std::ostream& out, Time t) +{ + out << t.minutes << ":" << t.seconds; + return out; +} + + +int main() +{ + Time a = {10, 20}; + Time b = {15, 50}; + + cout << a << endl << b << endl; + cout << a + b << endl; +} + + +/* + Задача: + + cout << a; работает, но + cout << a << endl; выдаёт ошибку в данной программе. + + Из-за чего это происходит и как исправить эту ошибку? + + + Решение: + + Ошибка происходила из-за того, что оператор << ничего не возвращал. + + В строке cout << a << endl; + результат cout << a был void и к нему нельзя применить оператор << ещё раз. + + + Результат cout << a должен быть тоже быть равен cout + Но, поскольку глобальный объект cout копировать мы не можем, у нас остаётся единственный выход: + принимать и возвращать объект cout по ссылке. + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/06operator_overload.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/06operator_overload.cpp new file mode 100644 index 0000000..bdfcbfe --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/03operator_overload/06operator_overload.cpp @@ -0,0 +1,52 @@ +#include +using std::cout, std::endl; + +struct Complex +{ + float re, im; +}; + +Complex operator+(Complex first, Complex second) +{ + Complex result = {first.re + second.re, first.im + second.im}; + return result; +} + +int main() +{ + Complex z1 = {3, 7}; + Complex z2 = {2, -4}; + + Complex z = z1 + z2; + cout << z.re << " + " << z.im << "i" << endl; +} + +/* + Задачи: + + 1) Перегрузите следующие операторы: + - Вычитание + - Умножение + - Деление + - Унарный минус + - Унарный плюс + - Сравнение == + - Сопряжение - это операция, которая меняет знак мнимой части комплексного числа + Для сопряжения используйте оператор унарная звёздочка * + + 2) Перегрузите оператор вывода << + + 3) Напишите функцию exp(z) + + + + /* + cout << z1 - z2 << endl; + cout << z1 * z2 << endl; + cout << z1 / z2 << endl; + cout << -z1 << endl; + cout << *z1 << endl; // (Комплексно-сопряжённое) + + z = exp(z1 + z2)/(z1 * z2); + cout << z << endl; + */ diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/setw.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/setw.cpp new file mode 100644 index 0000000..27afe6a --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/03operator_overload/setw.cpp @@ -0,0 +1,52 @@ +#include +#include +using std::cout, std::endl; + + +/* + В библиотеки iomanip содержатся специальные функции, для работы с потоками ostream + + setw - установить минимальный размер в символах для печати следующего объекта + setfill - если размер печати меньше минимального, то замостить оставшееся соответствующим символом + + setprecision - установить точность (для вещественных чисел) +*/ + + +struct Time +{ + int minutes; + int seconds; +}; + + +Time operator+(Time ta, Time tb) +{ + Time result = ta; + result.seconds += 60 * tb.minutes + tb.seconds; + + result.minutes += (result.seconds / 60); + result.seconds %= 60; + + return result; +} + + +std::ostream& operator<<(std::ostream& out, Time t) +{ + out << std::setfill('0') << std::setw(2) << t.minutes << ":" << + std::setfill('0') << std::setw(2) << t.seconds; + return out; +} + + +int main() +{ + Time a = {1, 5}; + Time b = {4, 20}; + + cout << a << endl << b << endl; + cout << a + b << endl; +} + + diff --git a/seminar01_overload/classroom_tasks/code/04other/00pointer_cast.cpp b/seminar01_overload/classroom_tasks/code/04other/00pointer_cast.cpp new file mode 100644 index 0000000..8d17b7a --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/04other/00pointer_cast.cpp @@ -0,0 +1,52 @@ +#include +#include +using std::cout, std::endl; + + +/* + В отличии от языка C, язык C++ не делает неявное преобразование типов указателей. + + Рассмотрим, например, код: + + int a = 10; + char* p = &a; + + В языке C такой код сработает, несмотря на то, что в строке char* p = &a; слева стоит указатель типа char* + а справа объект типа int*. Будет произведено неявное преобразование типов указателей. + + В языке C++ такой код приведёт к ошибке, так как C++ не преобразует указатели неявно. + + + + Рассмотрим, например, код: + + int* q = malloc(10 * sizeof(int)); + + В языке C такой код сработает, несмотря на то, что слева стоит указатель типа int* + а справа объект типа void* (malloc возвращает указатель типа void*). + Будет произведено неявное преобразование типов указателей. + + В языке C++ такой код приведёт к ошибке, так как C++ не преобразует указатели неявно. +*/ + + + +int main() +{ + int a = 10; + char* p = &a; + + + int* q = malloc(10 * sizeof(int)); +} + + + + +/* + + Задача: + + Исправьте ошибки компиляции, явно приведя указатель к правильным типам. + +*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution1.cpp b/seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution1.cpp new file mode 100644 index 0000000..af90543 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution1.cpp @@ -0,0 +1,13 @@ +#include +#include +using std::cout, std::endl; + + +int main() +{ + int a = 10; + char* p = (char*)&a; + + + int* q = (int*)malloc(10 * sizeof(int)); +} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution2.cpp b/seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution2.cpp new file mode 100644 index 0000000..1ab4b63 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution2.cpp @@ -0,0 +1,17 @@ +#include +#include +using std::cout, std::endl; + + +/* + В языке C++ желательно использовать более безопасное приведение типов static_cast +*/ + +int main() +{ + int a = 10; + char* p = static_cast(&a); + + + int* q = static_cast(malloc(10 * sizeof(int))); +} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/04other/01nulptr.cpp b/seminar01_overload/classroom_tasks/code/04other/01nulptr.cpp new file mode 100644 index 0000000..7230ba4 --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/04other/01nulptr.cpp @@ -0,0 +1,50 @@ +#include + +/* + Новое специальное нулевое значение для указателя: nullptr + В языке C для этой цели использовался NULL, который был просто числом 0 + + Если определить NULL так: + + #define NULL (void*)0 + + То, в отличии от языка C, в языке C++ простая строка вида: + + int* p = NULL; + + не сработает, так как слева стоит int* а справа void* + + + Если определить NULL так: + + #define NULL 0 + + то в C++ могут возникнуть проблемы с перегрузкой, как это показано ниже. + +*/ + +void print(int value) +{ + printf("Int: %d\n", value); +} + +void print(void* pointer) +{ + printf("Pointer: %p\n", pointer); +} + +int main() +{ + void* p1 = NULL; + void* p2 = nullptr; + + // Всё ОК (компилятор может выбрать функцию): + print(p1); + print(p2); + + // Тут неверно (компилятор не может выбрать перегруженную функцию, произойдёт ошибка): + print(NULL); + + // Тут всё OK: + print(nullptr); +} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/04other/02default_arguments.cpp b/seminar01_overload/classroom_tasks/code/04other/02default_arguments.cpp new file mode 100644 index 0000000..fcbc7bc --- /dev/null +++ b/seminar01_overload/classroom_tasks/code/04other/02default_arguments.cpp @@ -0,0 +1,42 @@ +#include +using std::cout, std::endl; + +/* + В отличии от языка C, в C++ можно задавать значения по умолчанию + для аргументов функций + + Функцию printSquare можно вызвать с одним, двумя или тремя + параметрами. Аргументы width и height будут заданы аргументами по умолчанию. + Если передаваемых аргументов будет меньше трёх. +*/ + +void printSquare(char c, int width = 10, int height = 5) +{ + for (int i = 0; i < width; i++) + { + for (int j = 0; j < height; j++) + { + cout << c; + } + cout << endl; + } +} + +int main() +{ + printSquare('+', 6, 4); + printSquare('#', 15); + printSquare('O'); + + +} + + +/* + Задание: + + 1) Написать функцию: + void print(char str[], bool isCapitalized = false) + Которая будет просто печатать строку str, если isCapitalized = false, + а если isCapitalized = true, то будет печатать всю строку в верхнем регистре +*/ \ No newline at end of file diff --git a/seminar01_overload/homework/code/complex.h b/seminar01_overload/homework/code/complex.h new file mode 100644 index 0000000..d1ea7a9 --- /dev/null +++ b/seminar01_overload/homework/code/complex.h @@ -0,0 +1,189 @@ +#pragma once +#include +#include + +struct Complex { + float re; + float im; +}; + + +// Передаёмм аргументы через ссылки +// В данном случае можно было передавать по значению +// (так как Complex имеет малый размер) +// Но в общем случае лучше для структур лучше +// всегда использовать ссылки + +Complex operator+(const Complex& a, const Complex& b) { + Complex result = {a.re + b.re, a.im + b.im}; + return result; +} + +Complex operator-(const Complex& a, const Complex& b) { + Complex result = {a.re - b.re, a.im - b.im}; + return result; +} + +Complex operator*(const Complex& a, const Complex& b) { + Complex result = {a.re * b.re - a.im * b.im, a.re * b.im + a.im * b.re}; + return result; +} + +Complex operator/(const Complex& a, const Complex& b) { + float b_squared = b.re * b.re + b.im * b.im; + + Complex result; + result.re = (a.re * b.re + a.im * b.im) / b_squared; + result.im = (a.im * b.re - a.re * b.im) / b_squared; + return result; +} + +Complex& operator+=(Complex &a, const Complex &b) { + a.re += b.re; + a.im += b.im; + return a; +} + + +// Унарный оператор - +// То есть если z - комплексное число x + iy, то -z = - x - iy +Complex operator-(const Complex& a) { + Complex result; + result.re = -a.re; + result.im = -a.im; + return result; +} + +// Унарный оператор + +// Ничего не меняет +Complex operator+(const Complex& a) { + Complex result = a; + return result; +} + +// Унарный оператор * +// То есть если z - комплексное число x + iy, то *z = x - iy +// Оператор сопряжения +Complex operator*(const Complex& a) { + Complex result; + result.re = a.re; + result.im = -a.im; + return result; +} + + +// Число + комплексное число (в таком порядке) +Complex operator+(float a, const Complex& b) { + Complex result = b; + result.re += a; + return result; +} + +// Комплексное число + число +Complex operator+(const Complex& a, float b) { + Complex result = a; + result.re += b; + return result; +} + +// Число - комплексное число (в таком порядке) +Complex operator-(float a, const Complex& b) { + Complex result = -b; + result.re += a; + return result; +} + +// Комплексное число - число +Complex operator-(const Complex& a, float b) { + Complex result = a; + result.re -= b; + return result; +} + + + +// Комплексное число * число +Complex operator*(const Complex& a, float b) { + Complex result = a; + result.re *= b; + result.im *= b; + return result; +} + +// Число * комплексное число +Complex operator*(float a, const Complex& b) { + Complex result = b; + result.re *= a; + result.im *= a; + return result; +} + + +// Комплексное число / число +Complex operator/(const Complex& a, float b) { + Complex result = a; + result.re /= b; + result.im /= b; + return result; +} + +// Число / комплексное число +Complex operator/(float a, const Complex& b) { + float b_squared = b.re * b.re + b.im * b.im; + return (a * (*b)) / b_squared; +} + + +// Перегружаем оператор<< между типами +// std::ostream (такой тип имеет std::cout) и Complex +// Обратите внимание, что мы возвращаем ссылку на ostream +// Таким образом результатом выражения cout << a будет cout +// Поэтому можно делать так: cout << a << b << c ... +std::ostream& operator<<(std::ostream& out, const Complex& a) { + if (a.re != 0) + out << a.re; + + if (a.im > 0) { + if (a.im != 1.0) + out << " + " << a.im << "i"; + else + out << " + i"; + } + else if (a.im < 0) { + if (a.im != -1.0) + out << " - " << -a.im << "i"; + else + out << " - i"; + } + return out; +} + +std::istream& operator>>(std::istream& in, Complex& c) { + in >> c.re >> c.im; + return in; +} + +float abs(const Complex& a) { + return sqrtf(a.re * a.re + a.im * a.im); +} + +Complex exp(const Complex& a) { + Complex result; + result.re = expf(a.re) * cosf(a.im); + result.im = expf(a.re) * sinf(a.im); + return result; +} + +Complex sin(const Complex& a) { + Complex result; + result.re = sinf(a.re) * coshf(a.im); + result.im = cosf(a.re) * sinhf(a.im); + return result; +} + +Complex cos(const Complex& a) { + Complex result; + result.re = cosf(a.re) * coshf(a.im); + result.im = sinf(a.re) * sinhf(a.im); + return result; +} \ No newline at end of file diff --git a/seminar01_overload/homework/code/complex_image.cpp b/seminar01_overload/homework/code/complex_image.cpp new file mode 100644 index 0000000..f8b6166 --- /dev/null +++ b/seminar01_overload/homework/code/complex_image.cpp @@ -0,0 +1,56 @@ +#include +#include +#include +#include "complex.h" +using namespace std; + +// В этой программе мы рисуем в картинку комплексную функцию, +// которая задаётся в функции func + +struct Color { + unsigned char r, g, b; +}; + +Complex func(Complex z) { + Complex f = 100/(z - 1)*exp(z); + f.re = fabs(f.re); + f.im = fabs(f.im); + if (f.re > 255) + f.re = 255; + if (f.im > 255) + f.im = 255; + return f; +} + + +int main() { + int width = 800, height = 800; + float x0 = -2.0f, x1 = 2.0f; + float y0 = -2.0f, y1 = 2.0f; + + // Выделяем память под пиксели + Color* data = (Color*)malloc(sizeof(Color) * width * height); + + // data - это массив цветов размером width * height + // Задаём значения этого массива так, чтобы + // реальная часть функции func соответствовала зелёному цвету, + // а мнимая часть -- синей компоненте цвета + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + Complex z = {x0 + (x1-x0) / width * i, y0 + (y1-y0) / width * j}; + Complex f = func(z); + data[i + width * j].r = 0; + data[i + width * j].g = f.re; + data[i + width * j].b = f.im; + } + } + + // Сохраняем массив цветов data как картинку в формате .ppm + FILE* file = fopen("complex_image.ppm", "wb"); + fprintf(file, "P6\n%d %d\n255\n", width, height); + fwrite(data, sizeof(Color), height * width, file); + fclose(file); + + // Освобождаем память + free(data); +} \ No newline at end of file diff --git a/seminar01_overload/homework/code/complex_movie.cpp b/seminar01_overload/homework/code/complex_movie.cpp new file mode 100644 index 0000000..8470887 --- /dev/null +++ b/seminar01_overload/homework/code/complex_movie.cpp @@ -0,0 +1,63 @@ +#include +#include +#include +#include "complex.h" +using namespace std; + +// Это программа создаёт анимацию (набор картинок) +// которая задаётся как меняющееся во времени +// комплексная функция (описана в функции func) + + +struct Color { + unsigned char r, g, b; +}; + +Complex func(Complex z, int time) { + Complex f = 100/(z - (0.02f*time))*exp(z*sin(z)); + f.re = fabs(f.re); + f.im = fabs(f.im); + if (f.re > 255) + f.re = 255; + if (f.im > 255) + f.im = 255; + return f; +} + + +int main() { + int width = 800, height = 800; + float x0 = -2.0f, x1 = 2.0f; + float y0 = -2.0f, y1 = 2.0f; + Color* data = (Color*)malloc(sizeof(Color) * width * height); + + // Повторяем 200 раз + int max_time_steps = 200; + for (int time = 0; time < max_time_steps; time++) + { + // Задаём изображение в массиве data + for (int j = 0; j < height; j++) + { + for (int i = 0; i < width; i++) + { + Complex z = {x0 + (x1-x0) / width * i, y0 + (y1-y0) / width * j}; + Complex f = func(z, time); + data[i + width * j].r = 0; + data[i + width * j].g = f.re; + data[i + width * j].b = f.im; + } + } + + // Создаём в строке filename имя изображения + // Папка animation должна существовать! + char filename[100]; + sprintf(filename, "animation/complex_%03d.ppm", time); + + // Сохраняем изображение в картинке по имени filename + FILE* file = fopen(filename, "wb"); + fprintf(file, "P6\n%d %d\n255\n", width, height); + fwrite(data, sizeof(Color), height * width, file); + fclose(file); + } + free(data); +} \ No newline at end of file diff --git a/seminar01_overload/homework/code/complex_test.cpp b/seminar01_overload/homework/code/complex_test.cpp new file mode 100644 index 0000000..6dd99c1 --- /dev/null +++ b/seminar01_overload/homework/code/complex_test.cpp @@ -0,0 +1,38 @@ +#include +#include "complex.h" + +using namespace std; + +// Тут мы тестируем нашу реализацию комплексных чисел + +int main() { + Complex a; + Complex b; + + cin >> a >> b; + + cout << "a = " << a << endl + << "b = " << b << endl + << "a + b = " << a + b << endl + << "a - b = " << a - b << endl + << "a * b = " << a * b << endl + << "a / b = " << a / b << endl + << "-a = " << -a << endl + << "+a = " << +a << endl + << "*a = " << *a << endl + << "a + 5 = " << a + 5 << endl + << "5 + a = " << 5 + a << endl + << "a * 5 = " << a * 5 << endl + << "5 * a = " << 5 * a << endl + << "Exp(a) = " << exp(a) << endl + << "Sin(a) = " << sin(a) << endl + << "Cos(a) = " << cos(a) << endl + << "Exp((a + b) / a) * Cos(a - b) = " << exp((a + b) / a) * cos(a - b) << endl; + + a += b; + cout << "a += b; a = " << a << endl; + + // Оператор = мы не перегружали, но это всё равно работает + b = a; + cout << "b = a; b = " << b << endl; +} \ No newline at end of file diff --git a/seminar01_overload/homework/homework_overload.pdf b/seminar01_overload/homework/homework_overload.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f95dc88008edf39077d9956b8b64d9a5641827f8 GIT binary patch literal 191583 zcmeFYWmsIz_bu2!2$EnSxVyVM3GUhu+#x`48iIRp2oNN=OXKd65FmJPcXxN2Zu0*A zbMM^waOcCwo##EzbCRlEd#_r1Rn_S_)eV)hxFi!BGZ!+|pYg6~WL{EMQafWSWI;h> z7I`yU3+Iod?7W=Zq|X;Ji=^czXER4q7RgUW&Sv6fCU&M~$il+NPR@>IMmETwXEz9X zZ3(0<%gUE2J4Bra9GS|w74|y;aWI<+qQARPUrT1&z{D2*cKo`&r#4rd*PN`Nn&6cL z_rul&)aq3#)%3YNGyEz2&-WvrjEt6RzasdtKn|qvGuKyLp~j!G@F*n1x^6aBFLnri z%n-nwMt)ru9`~B(YOs??WccxGr+%MN|5sk0SB-uDeej*;u_Y*PEg`Ji4*f*C(eBS< zE0tyevAnk!%HnCU+x^1Qo!#<_L^bJhQC%>`(eV!;@i!l2%XkAaI9b!1{+lQLdw}Q4 zXQRCJbRh;AMvn0K%)kK2OIAJB;~I|=bg_1_$CofV2-^K)zob8R)=H_TyV+~8qn3U6 zV2q_n%m`=vj#*;>-3Xo0!uc3AZbD$CPpD8Fmp7Ne7=vXP)lZc#~8BSzRILH z7qYzKeNeKZP1-EkD36bKi;lsk)uu1pSs~fJdx$?X3E4*9fJ}M??SB^%iyC$%F#Cax zb{xC1n_l`dF47a*t|=0?`4_JG!4uboHCs;@^@MRqbl`2$7iNa7Ken|t>6TF@7Pww% z)}z_kEeZ3IYVxE++ZE>GkW5~k?DPcRO|=U~Puc3VG+Y?i-?A^V?dls5y>v1UUDfiM zXZA<9wc5S?4 zxlU83XJ+s=AC5$~1wGp&hV6~7Pf z`|tVD-$s~gv`Y@J|5*vxP0llv`Kq4sQL@VDsZI4m=b4G`N-IhHQ8o!b*wyv zPI9LYO2W%i>LSl4VmO~pF8e}h!%?tr6o(jiu%N!;F?%QP80Zc zBceLgjg9$>rs^m8au5+(K^SfsD$g1nfphAFxEhHZ(@17UH!`2dG&1}McK~hW!i^iw zTse<$oyey{*PctC{AK;pBf*vycb^MZPr%`i%azVeZ*olZ1Wa@B6TrKbjvLA14cgy> zjqsiH^_gF6$pjbrnQ+yq4T$Z<;@;7R9w+K%beAv+FNnmm4#{w66ui-^2L#ddGMVmM zYoagj_ECj=(}^nFX{wUOle_&DHy84ieWTFe-4Q#rnVHNN6J!3am|q++#}eJ)cSr!% zS60QonHYZIKH`Z^*nFa0*rXY*|Ic!hY%Jx>{I^J<6wp#$}6vh;0q>CwgW!T*2JAJ0q zADjo+t-x6oQu+xEnG3djH`NwkVO?2vrIlRrfEA(oYAhOaj1yb$257^LaI5AOZC6E{ zgnuA=5meEw#Gv1$v1 zxqfM&KRE#}_!I7szXzkBl#?4(hx+%e#5pYqsNQSZwbX)vq#) zgn=2PMIrG0=q@sNVzy=$WJiJObUj2><7%}7d=yr?Ojoxaq7L<+?3&NkJ5bADn92^f z$B}M+dl^#Z#$*WvPg#BkqLhU&Cv%S<1b%D@^-G>asdSf^OB5IEJ}4!_%1cpkET$cL zpjVg6Wmg(CT-QdaLLGRePVc*F_aKX9T9=f;gM&8baZ-je>?<9IQ-)5fZWEQQ@>tX@ zPDhS|@ybS+O2;94;yUx~l0Z#-$mJMd&Ka-lnD9e3ZTlKDxO>Ct%a9+K-s!2;?Y&eHYng)tf%5cSlgguw#DBkY_ zT{6(sHS1O)_jgVECd9Otg{PVN8MdN`YdYd1OQmQ(#*~apn0Yyuxv0vh?67}#eqp#C zpJnEA-qtKCTKm)B`^-K0i#0HfURP9Tg2bNp#5kP_ztZP)oJl;Bp=?n@uc_;EFcl^v z;$DTWncy&b=2+#s2mJG#I8>L{63DRriGO_VDy`|mSii<8AkT2p=}N3#i+ohQrgROa za1nl|#&P^BJKqOAdFQLOntP%N`GJLS*zu_IW7$+fnRey0VG?CJn_@#b5#pf! zK!@C*-j0%(fV>J7mkJ1dM-_-4Ty1Lk?rpF*wuowOl1y(;7*{@3wp9kDSpSVdn5>O9 z+nfUMu>;q<^9xm`X&3*jjc3Faj=z2K+G4f7wgM$5SrN%uWkO%Cmd^q%oaQU_ElCeU z)_iLXVBo9bzNDTVQVf8a+md#T$W@UGuu~s}{4+J>7A9j4_^O}O)IH`4|*ZFn z#n$3zD&u04%7f=zJ=R=I1B-(dl*!cN>f~|RHnUo2hZ}-;)QPM@n2CNSvUm*IYqEUv zC&Od;#)v*v?%#L3&q#t%q2FI}okZ+Epe6G25!Bq8eqcQ~*JK`Le#48xuOZ8u<(yiR z^ooRAZja;%XOw+lQv@s$T_v%wgFvATZstd4n4P>&_2g;T*z1!?0E zp{I?E;GJOX=aXNtpX;J2qojf9`pC5=9cKfMtNbyD_`z7ie2A!Tg32a}HCrRZ-*jE4 zDn=>kQ%kbR8rL?n(&`zeevuaX^7sd@R+*u*kc7vfa50_w&=!d|nou@_h4N2=pIc$2 z8k!8b+}Ro!d;4lh3F+G)_D2EWT!vPjP=7NMk?Ple7dTZ-g6N^$Jl2g->G`#%R-**2k2{=7=b;e zz)SXFa-yr2Pk-9mD{kl3M-&mTJ?QncI28ZcP>p`URhmVi2}GKR4titf?lwE3b# zJj!yfvB~|)GdV!w^>pXf*ascZ`jenKmKXuNHMtljF}@m_lMPq-9L7Kucex5Mqt;4z zVvNZ9u<$kWx9Z!&Z4#<{%6IKFW;?`x&;r781AIuniTftD<%_JVH1%Nj-hEU=30Dze z%-?Ga3l)1>@jPc%0Bjb>P3LgEL&xVq3AofFw-kaVwjbu^YB zk|)AZ+k=VN^Tu}U-9$YKT2FJJ%yRgiQeukv$|^|y)98zqwa&rf0HnIqW151=?y>wH zbh*$oOG?T;Z&2eM9mi@4oWAHQ7kLlY-`4A2yGT&A=8b(q5NoN%Z?%*oAZ7`+1=cjL^iWE z{b!>LDM2^c9PIxmyKNp0uK(HH_JPiV9br9&&y+#s!I)lN&JElBhc0)^l$V16e!1@r zN-}x-W3wcy-oASo@%Cm(;2t-&xkq3@#)CZ-JE*C?dHpL#>dl~?Inkom_UEew7$r?V z&5?#Dcpr!RjBWS9+qNUd^8x>zAv@H2r;0E?%rs^Bk0T2P&WQ*jg7gK3LXLLE+;b`y944&?; z;Y|@f{Sp+sQNpcLOte!X*p;3aDSM&>Y4EUoGgFj#YyI8PYyMG$Wr)P~DCgzC^#$Gw ziuDwdRz(gjRYw=RTJ7%s(00*Lha6Hi>|ewgojp!b#A%o=R0UcLzqJL0L9rX&cjm4l z7^%Jb3WqeXN$Qw4z0G^+%Z|a85DDbf^v8MOOSBwz4x)m%QCWBz+$EE%Q`R zLZ5IZ`dqt+eF(Sf++bmc>H_L9aqmw|-Lp(;N5yJnBU79`PEH;`uOo%NA1nxSdb(A& z_DlAed%P#)4btQT5#m~CmG4gxA_U*@{#gp$W7_H!2MK%RQ)mwnhV&ARz*Y~ne5GK1 zL>Td?L|$@Y^9V!u*e@^A2#5P4!krG`y65H;zt&*!Xbt!9&~C|x-)A~_d#>M0TJKPT z_I8RGcIzr|!2Pm-jtL zb&F?1!;{sYpxS&o-SRcUBflnW#`oh- zZOR&JY22S_wufkaf_?Cx#&vtO2=}(M2rWCC8`~$$Vk3-O44Kx*S#v!a^neJ|6~xZ< z9p{CGC+^hnB!d`D+>uW~EV1UWI2?ipZ)?Z6ZQnEaq{(gZtQFGbS{we37KY_W$^hJ1Jh zK65G+;1LxY;aK3ZSD}1?2}BH99LiMUKl@_F*jaG|e&=l?QlhEC2W@*o}=eJT%-omjZ=TD zP@)q120b~_Mum6vMH_smm~s_9ChTjmnVf4+Kkkd)qU&NBw0)SUDY05YnE*|^{G zxIBf78j`1kDdUK2V2$Xvo-H{F>2tDM9f;6b>i;a1J9T?>0W1>IzW` zm8#1xl7FQY$gRtHi@l#6ruYL}Fh)J?5QH7XscAZz%s61JWXu^@-XH0uaM6Mk5Dt{W zbTl3&U^Z6|&qoS~m{V9bF6{o(CHYCPQG4)Lt4fqKopJF=CV@_^P<8gw8)HKN8|+J+ z3(o@la|8oqTG&fJ?KhT@jzRSn8l$tB>tsXMw|O2KNt5}&7=!oSYx{4>i98~b-Uq-o z&TMO8zu9)^Dv4#VmB*;w{Pnw3j1GP6^&3DSjk%b^pO@Uj-Ho1sk>Lw7*D8xqsRCRk z`Z$uq&XUD1u*K<$`H>2nkU2!Vd5i+7H%zXnF4L;SBfkh!u6>L<{oVKaXOOt$9ABA~ z&ld~KGd8|nYOv?`w>oOyUSlQG%Df0x4>Lh2l|uc_!R2s?yb-5_sv4w#Xdrp?qR$%} z?Xk4@lwX6472Lzs8VQstl98T+L1pOUwQLD{eDh~u)SxO}q(?ASbH0lRthYN_ zU`@!HFKIMx&f@ooMAePCV2YugMj>1;hL1nVh>fJ47KBQ`V9W&Dh|OoWTJy&3YLQ5t zmy&B3iN}RX6OoW3@1>v}e>L3*s5_5(h6`qKJUq6~W+5E^GHaE;*o#*3{l@kLdIkc4 zo|xz8CU?+^=!^}oBD)t6l1dCHhV&yzKw-)2m*7bYTo%Us_oh!D;-ZSQB8PY_G-!&* zv0X(cd5Ro^jH?DPIz9C!^t0flE^vSNGk4QgzXTGf6DbmFx~BScx97AV16`|>5y=tM z0l%n;4u~(%t54`q-9a&&5p8^#`SK^PU)kZDet10R)7Q3<{UM8MZY-HnM*qV`SMcgh zU^l?W3&N(8o|*>)%M=b(t)?*?%p3bH=d4(enx9Oewx&~3 zU$~F5{V5Gj_{MC)>Y?JMQ?$@19+ovkx0@o{7O!oX_gAogo8 z9M}#<@s#4eTMhcuj$eCRGB}7F5ga=a3*S930vuunmDI%AXx}I_+i3H>=Ph}<%GMtZ zw#_)v%ypZ-%(E;7Q2 zo!+3b_&e_6kG9wJ#5nVQPakybskz!r6A-b~zBCY7sB$BX7iiPRI;)xB!@0Ua}*Tp&*}2U`Xtvs-0TyEpPHJqyc-O+TwO~i zD@@920JvOY;tI^WE+}7xoZ!p=t5}u{8QxMQu6bl-<6-G2MDYA6OicAYci70*8CV~> z<*I|Yp5puK3vQO?5NW>u0dx3k;XGn?7@#Jhu#8a&!Y)?-iP%azihy^))Nj4Li`;&6 z_c#{2IC9v&HJE!cU;iJszwH0*VY9lMy%{OX2PI=GGZSZI7B!Hu^Rq?9#>m19nMKpm z6mk^J#>2{k%pz@OY4OpSl#PRj8=2+3rL&W=nWLDUjlG?%nXNM^FEWdm-6uOoHG3ly z2%@-|i=~N~s?>W3rh<`^H7OStWYewsU#Hu=ylia$v-|D+g#$Tt9Rh^q%Y7ls*jTbw z(l3D|HSgiDvX#im!~^3m$o#*Ckt2^JOZ#)GI;4IVx#de0Tj4t!<<+q+ztF`=$$Tw& zIFsRhKiQ;|1`GK2`d5K}75Gk}d+*#h_{1o1a zHfX+CQZwL&wyjtzp83Bzd6YK)d|i$l3^mk zj293iFN_d^7q;lvvr@Uac5SHJd1ify(w`nX4~{1{X#F~GeOmzkg%`A}EV_ds=jAU9 zEz{TgxAXxuJtq2|oxDEzC3izf~>I7rQRwKvK!mPh5_ zxneA^tF7~Vi<&T3~)6*y3@_c28`&rEc^wT{)! zo(Wbsqdtt^Lt9B1ce401lAoc)GgJO34WdEKu(2)n~!y)4WCabJL5hLH;fzp2i zV|MK8cq)HG$pK&~&!0*DMtp!)Nrexvuk*_;o^7lk+B>AbX7TsWB7`V4W48U%DoS_v zOwaTm79=#D&lK7F{<6wYz1vp$+acNR*XxH13v*Fu7wDvBf3XIJ2Z@;apPfZRzWwco zJeKqIkFZr1N0B?F1{R6z|{g0CU z^Gbic-xvHJyx0Gs^|$|DG(sSH%j$(^SrEVdg~=XgKacwh{zv!Zzwc~T?<5fq&yX?PlD{42-^XJ-BA>3=>uMI=_uZ=eJ@i|U- z@RjgCdBVg$_Zy<>bZGJ8xnsf<$41YC+1mK{_^EOOP5StYiwhhU{rOf8*H51qWn$y* z*Pr$;6+EBE!#<*lQRl;l>6sbJ8kHjT{QUf=I}^S0XCN9|Q`7aa0;Nc1L66H4U1pLV zi+twWXL3u1&d%p|S4WX$rKP11{Ef#CI1kVX+!0EEkAHi6VZ9cjp{eO)fb`+k;qkdA zUOE5;j#Ezm)A--I5^lq z0%&S#Mq)r+!gl)N86rLF>g)eg?~WwkgX?f_P0ydaexBYKgM))yjs&>4tTNCD+RWbG z-qf9?A3xs3Qc@#9P4Lb)ryHp-%ZV%o5r0wXWMUzi2*NDK(J1{jAzPc7Q7Hj! z;kE@K$IH9T^l*2)67UKDO*eBnAu-WI`f2y#_Sdh#o#!R}!%XY)@!>A#rLUZvoaA$= z?{EnT=clK)g&#c5w_`fnp&Zb^IyT;)?~EBp`rO^!)!Qv`GegaYBiGm0DLi&owc1YS z_4V~v*C%UPS!8O@&&td+ArBYGWocr=K&@|=wzs#3 z_a2+BZqBwiEQXSZpRHQ4lzV%7k?D*qECi&_mYIP8`5es&E70f9)32Y0vO>Sred4!~ zgTu(*deZIfEqKBz9bj)`Gl=`_lGNSZjeoO$bVNY$3^I1HH$~7m1OKdk7pIU=nh1c9 zkdX7Ad3SPhlDcD1s=*L1`_H`N4SAl;O z_*a2{75G#1^!jwUj_ajQ6La^N)R4}2DMfrq|y`hulnOb zC>E%tZhRKh*V99Kew8MhJ8d+wCpXKW+wQVlAEj>JS9Jm^UP zseI>3#X4a6=;|LZ5Pur`o(C z`5r&A+qm-g**(eF($&?~M^4B&h2yh3R_)xujprle%%JD|>g0rtIJ&&Noa*`T2rL)7 zzPXt{wI?Jf=-j-(sgOe(3q1z@_xe|Xe--%utpdJr_pnp%ic;gwq|R^%X{Z8SXpy7vsME#?j=)`zj~E zikDq)Dvi2An6Tfzy@|k57Vq%qgcnCwW;~~6a(?r^>WZhDjcW7qe>Bzl&3Ps0p zlaFI-=x`_%^X-dF!N_8^w9|kZG0>)BxS60q3I~2gt ztbT9(5tOys-@vTsGBdpy#?I$tG+jHB=K~Ov`9@GlHv%j3sDE4RWZ#>;~mwgFf zr2;E1GI_Zd-Knm;e3E^|?Eb6m29F93kn{$aA%`jE4<@X#ZKGu>#d>S%L)!2q76u?6 zN^jZxFzg~sq$-KCx4Abt7{O`&L{tUagY`}w1`u)n-epx#7E+Rb+r%f}@QC!>|E?>g zV-wcxazadcOb!tqb~lGY<>KW80FYF$=|`bb+l+hx z0N`%r&l~VdsG$LT9lQsKfN@0#fDXswe@T*LZUt;Q<6T9yN1~qt`N;&P`qB|pg0z!m;a#uGe4p8^uJx_|DpR|R52jS`@bsxZ}I+bmeYSH zgzvmnpoemJ6NI&41pKMtD-anNk`8pqJtzA}03;}S1z}J44 zZ9Uf0r2j(2FYWuenxQCN!DrY{b_sPBLDzbe`x3G1RqdI*QYX&j+*RI_Jt`2ANe7>6 z15HunrTuVZbCrdTtHTfIFh=bpTcI_xxHW7!+?8}#BC!nDk=Vn=#_vZKsaLDEVQnO#4M{GnXd~G=d<31#39E>0nG;J6D<%V zcEf2!_C^+`aaYE-%K|F#(K2$@vNUJ6of&POU} z%|EG73bdhWGtdK*3FV2PVozuxJpw@yl1J%t~tJNVEej|%i`rly%#bsvX5 zL*wGCRP=Ts3(B|1{euiwJv9h2$2-(54&uz64oM&g-NkMZCJp!pC>{H3qtFw96yVo6XhlH;ms3Dhv5gRFWaM`W|)#R&QJYP@uiy%K$;0f06hwRq!453uO93J_K$ z{gN8RtR0}-V6`$xK~An18L^KaU)1ciVY?Ob^4-?q1#jI)m@Q3opg5MVqxwU`*igIq z_V1}~YOlMoY+#Bjg9u4o?^T;!XCZ|OL{VBDtYlEL=k^(ice}G1ILzwj(#_HpI~5hU zj~4vc;|=qo$tsPx)ovgcK7|9hKks~feZ5qx-=##ZF7FZeXYEc|CmY-V7GEE^G-xLD znKEt%z-pv1Yl_@2Dy0Z@50tfU`EVU}(X85rheqwX$chKd5*uWx`JL492I6A^^Um`1 zBEJp2g+&yvZR(;Pn0J(~+rNI;t0xI>t+BZKB5|K?sr|#Q^QD?)Hdy^-<5kWc-3xR> zddbD>`xqA-+OPY0H@@A88AWo&& zobs2XL}0=>))5OOSa-0HUj^vM_2_JH*>TY>>WgTLbJo`~PgiU4IM!kAn@2Xb=bXcFn~9-j*T* z_-Inldw0k1s0C|Akj&;d&a}Fpy=Q4omcT&=Qcc`d=!JephPke_!ijhk+R{Be&oc>j zX4)IRAExC5KV}hxfZtfHw}ly-)5ZhtH9nfoN2Joxpbp@1W$IF|Hy8dXoRxwMFBRsd z{s(g}As56BC5ic4OGg)tPj{>79Q5C&Sa$V3s@vr9gn(n+dYQ$vc`gw;Se6toK3@*+ zr%FGb*Ku#$_A4@Sg0V*_#DSr@`&Iq+I>J|90)wYam0CtyNnswwkW@UehdEj|Vp z?{juv@dp*sj~Kl3KnA}bw;M&ieA|J;)qIe$Z&#qv;`t6#em^u3Brzd<3vu(a>OUZ7 zEZ#gBB0jXM459D18V^rf>vI?2qB*22f0!MCI9fWRKqm9rKK{PV-cA{_TGb=538ZVe zv?RLV>b5l5u%d&(CEaN^ECT->qHOT>q4RJbC@9!t*30%urVfOu0)PEMae-6FdMLz4 zfB)bBRCz(X#U;;YIXUWSdc z(j;mMDWrciFgO(P-E-tLsHAM=TsL+jOsOteQNzq1tj7nu8!rC z;mG2DX@EI=wYd67olpqtxuG;X-KEt}78UJiU%9}6wvnOU4$Myp0ULXa3h9}Z!;*-p z!?b1o+|Z&?CA=o>Tj3kE{moPKX#GwK1K8!_=dswwBqOz>pbjIP@1Q$L-xmG_|Jdx$ zs~bw7tgCxiA$?o4(2?R4CeT-DC+3?Qbyv3vP0~na7GC<7gu#L_$QoCHe~~-esbO9g z&6}kZ!WM~Nu{9mDkx1=~4PD)Sg=+!`^T7wnD;JSgnyo5DZawh|l}6{-DnRl8Nw>E$ z5O!HTZ?EQM@Hny~`}~r5w4Pj7_XwOE`)ZdL!BD?+h#>M<**K>9z!Y>N^=5pLW{aXb zN&7?$JNZYm%csaF8(BLH2orQ)E0M1^`DQ1z=6c}q%`~x5=i6Y&C#kRRl;^qr6@s$LTA;cZcr+lOEaA0 z5ydi2U>hTWrc;s1IV9vW+VlkE0Bdm_&Lr&(obPSZWQP^P!fG_19A;_@jMrEiWb`{> zOx&Emg@(X@C9*wwe@%!ne4nb5b6F1q51nJFY;cJ%RUO2r&ht#)0Hn+m0F`}zEJ^U? zV;BU$_+vWa@l*T#0xYsh^su}Imt%JaYxZ3o=xRE+gegLavBj_t5>WOXMYzoq!pKuS zU-0LDA2VqMbfNMOC}o4+f9?zkxr~X?%g)Ybj;uq87<4JUv)GF&{Qa97gXw2y+ARgx z$&`3v#sFXu*lk$$yOzx4Gy+@MsDB8aH%laoacHa?*D#Q=L$<0348)RZwJ@g+sG@x=SoyBmiA4pYd~Aqlbf{`z&+N?k}uR7`=CgdQ;wrpHx?N_l$*r^#Y0a1M>+ zZgnnEiQw+@K788lNRDqt(M^e0nZLEJ(-;9h_psHL#AWHb<~Q3sPTBM&mQ&$hB0R79 z`50V3BS!mR4_>by;1IW+&B6#NMHOo1Gt`cM94VTj;+Yq69QZ||`KkZTTJ7;>WdTDo zW6?Jq{{Fpm#GQN){K9~pRm;Q>Pt_uVBYee~%Ea;dD_i&T!QOCg3&MCsgvqDd!C)2< z&p9)pIj-YH8GfTkfeRwft20b*?RbygK`*&>Ps`tpC8#LZb++wIN_Wlt)A#x53Dgh$ zjhc#5z*-j-woZeaPlrunZfiS78Ny1Qj?>F$6gs@^zsv&Em|JYtulZ7wdBs%{|S&5^xG7Hf%V4afh}Fm*YtW06$O>38x7=(Sxl(P1|LO!a6lVN}@#CJXh6$ zD{LwUR(Opn@pF3iTiY`2Bm=g#v!_UCsZ+FPZGX~P%KC1%KqlD@@@T9Y_7PrG@eDd}K4Tfp z`6}b1g5R5&xdXibtg6jgmuyWnDRwoN#>J&h?{~P$C4dWMBUkPGW^RXW_?OHn?3;@W zP249VwuNH{o0{GOVe@7^sgIRkLmvQez|i`3PhoU}5uW6^Wf4mQ>!!h1DpOJS#UB~;LMBSKawO9lplY8xn#z5#c^AjIxfPo z8S3K{IfJ)n-sZMMMRb4hsb7x$H065ryO7*$CzJkn;FtCRPb(r=d!t@&OCY zr^fy&<_gQ&qRs87>wx~|Leh0M@yS$iVTJ~vHvaI(YtRm1$zVdN2+Z!wXXvN93u!(5SZI^ip;f+H2fNj_u}9y5xN>M$v{`?V$DI++%v3JF6yJ2@@r!!k1Bfyg zx|`Y1#lxai0eZ>#snph!-61Wvv|Z|QAgp=r{!E&k)bSlxJlCTe7jd0#e&v|(g}>%L zj^?FHS?m>=-y2~4+p65(_LtZlmhqVTW=LCgC#4!brnPRkX`1X2w|P2_aK z{G)3G+pprk`@`tzOJ!&t;faBXrdpaJWW=# zF(H5c>?;n89DkopAJA(JBL$CE8$G(wb}6G>ZA#b3x1dQ_3r(a~m`cEF;@kE1WzeJ7 z8&VaJcUCyE!QdktZ{f|=C5Qv5&81g9WMQ9Sr;QxhM&!ED&S|o3n*AYYPmyW$h8E@x zkOv1Jh*p6EGt@Ym&SKHYCp>kCP--5XcNdoV{w^ty@2+|{^#hx*t!U1wppaAJLWNYho$Nj`EoAZ5G3Eu%~Ij#sNSP{v97ShEHqzgS4`VPFr zS&~Plu;Y<-Kav7Cp=!@^*?QSaSN;VJX4QtS)RKh;m|x)rGTT&VOxx2D$rgv+rfSw!%}au=A_xVe#SQk4DiK z`r!Tc&#%7~;_FGPN19l`wUlbdg7yzc_ERE7yvu9i-O2*|lf`KU_`ZTJe`QzQ{bCW# z**$-s4Hgj~Ts9lT(F$H{C-OS?`ZXN8=MOmg;f^EB#$g?~SYxo%Ql!S`&5Oml2UMVE zE!t%L1kj(fE(UEsd{~mwc?z7kW`mjcfbQn2l_Zu@)%!R`LctV@{JP5OmBvELW|fy@ z-?xhm-nhyoJ|d1!bnfY0uU~0Z586JG9}<=iOk%LAV4c5*k+~pVd$|mZr}==e2$PXU z)pWb0s-4*3%>nu>VJz=aUh4gZR|V_R<}n;tImx*U1X*YyEZ&ZJ);%2Q3`W1IQ7p#7 z5;4=9Ox;#n&1vx%aak4zDqr_`##)(RN}_h8%-&lQeO{V4o4GWw;_`9%2mpPM?ja+& zj{`ma8fHQJwDN%cLRlSt;%>x5mC2^}H_T_XtAop$lr{khl`*2x!!_8v`k&;%)Ca$B z&HMK3@?qJ*{`75oWJUR`0V2!5DUw*-leW3X<)X?2w?Dn8A^Ok`>DF*I%Q-pW(!1IqWivLYo2$u6=7qEtbG;8zZ?pQX1C4j7YzX;Pcc=qtQw{QQYReZK$O&h z*QeCu`Yd_Q=k-xVpp~;%>;>s_r#@o*xHIn_Nq`f0}pbMWW@GsBnG%;6U3GtCQsYZO^H;DgAqlbHCw^O z>&;syb^Lmv z022VeoW#3_JO5|0hi4VTnqu+vA{{Y2A|)o7NUhW}f5!U(#_;UOskJ!Fv7@c!LS?fZy{L=IV2Uk*+*PhE=6kjBr;Il^J5B{(uJ7=CiMY*&uQWqXVC^@Rx<@84t_y})UL}6C>BSO!k25!5)5+FM6k=E}m;RXG;mJ z>N#9|Jf5D1qNR5tx8p3N+4QFQwPuZeHXT?xvaFBFn=FZ#ay!Kf<&t+aAoKVV6*i^Xvm)WktI8C?*4HdknsL2iSH z2D=>bXgR8F(KBRqkaJtda>4mtbGl%TfFDmKVEg0{o{}9qG7P*t)g0F@3CzpWI7%C| zhv8k1co@CpR;bezd2BreBxYJd`rjTxi+=KkOC+fRO4H|}Jlro+^CVmy2&bsFW-+u7<#8~$G zGYl_j4n%X``0!>vO8*a0p@P`A1c-K<0!|!j}6}QAjt>VmCOSnlLD5hDZb0 z#rHtX8xP2%J;%wE1OsO;zMUwQ&&kn&Sj?p$cRkNG=>&QC;rQtuam#TwTl7LiWQN5s z8$3b0R~{w#8rPR&k<}WX{Lb`jh|0stAo08y$-sRox>t9Y!mRrbwqK*#jgflLU^Vv+ zIW!rENf_R)%wC>@UeURP?e7=datMl!O%Fc`x>%euBq|>xUlqUH*WUuW zepC(Ll&zLK|CLhu+)Li^-OH2kd5gPJ#N+6Pdmb=z9k&H@KOJmT;c?n}Q+FEpso& zff<>BYj*F9ff7+VM-5){w+u;Oz*DXl&7V?V3jO*oaVykZwAVxo0xS%@9L>2hPwH3h z0oCp4vWj6vy^rhlDp>dNwOmsp#l95#;YV@uw;lA;LqpASrvp|#I(F7g?v0IuM}7D1 zRugg-!IeBWPU;JmHUnGE^vfaDs50%z&KpVSav<-5#li$xMYd#966_rq7xN*EHuP&f>kndrI^e&84eEnT~`d1E<$=Z%8z~wSWJc za*w6!-NxDMkCpVd>~Ipt43oac(!JhGQ5yXN3sSjJI|kKisdKHnd8Ur#!zK*YDJ0*vx=nnZU_Za?RR* zGJG)?nU}1O#3)XaZP9c*6zMYxcfXS{mFpfJ6=?jbH)=;}DMY?moQ){nR_s6uDD6A~ z9z8V89jNq!B>bW+(Z6fPuxNr?6=e_96`9J3IHt403e82%WTE0y39>+8ECoNac_5q87~oSJxtxm^(^!Ak}Kh%(d{yNu*6& zW^$Dq-?X?#T+EL3ugC`{PkGyHecRi*)2`}y@kt%{sMohGVF9an{hR;(*8QM9NWQkG z5|1i*!3%d^)Wz1dnG8cP+?P_->zg zoZ{|%{9VeaVy47+ZMLI5E$pqZ8M?zX!*hS8H(||xp458neEd|h zaL{ZlSP6YQ!Ewj17oBL&omkW{6B;5eX211lDwZ&I-z;FKiUv>K$=>8$IZ$Xc;K+J{ zi9Eh6Ndl*7gsN>L6LllQAAenybfXnuLPl$4;%2~|q^<|tBQ!s@&E?_J3g;6~4W2h} zH&9;f21cdF9ty{hhhaY6^MRwbt!p<|$wh8e_eQF<_VDc24M8$WZU^;Tjt24qV`D3e zOWyVI%YZ4Hgm`6*nravuvB1e?b61^LNwbdvDt-K;TMF4!*8mm zt!WyA9!#Uv_x3!RSU%^OJ0m00E2x9&+s~P`{%}S+8SFHF{3vu83J3@PknsFeA=G)w z-?em$>goU)sDSz~bWLryN!YuI-*pQjW?Y#fYOQpn$L zrJzE?-8kpIUm*3M^KrrIoKE?%tQNK12r`&B&BI5{IUPOU$idw@O0DhF!^n_v98MRc zuoT6;6U&sCC>|XmFQcA?zWFE~`tX?zh)klUon8@a{V5l1w5m}{-ltnxS)~X1+6wzx#dnuJ``+t@W-o ze?04)vwNR?_CC)!&wzl(?7=$xw;v9p-$CtjJt>lkKlF4y$_ic>SSfpt$ktuo6f4r# z%zJpJL+b9!dG?Qomwx7woS9CTR@+9wc5>|m)-X=t88qWG3_?UUAl+Q6-*O%VU`leiYG4JY|~8=q^8)xHFzBax2q zCe$3I{2~n$Wzct$wnAQ<1YRnHKJ5K_Wh|FQcmHj%LvgJ3t5m<6-xCf3s@3Ai=(bvC zJPz5TF2*T9Dm9}Y-1JJB{P`yNQ0T>b$+61>A_%8yw60fih=1N$>M&B=1@oO`m2EnL zaQej;x4%c+6Yw{}eqM@bW4^h1#sUqPng?!xqcl)oq{r;(KOKqNms zlauzQ*bX$L%{p4@xuH{*>pkv0GNjWer;uO!5;+-?Swwp1$ zv?77o&#egWz0i=BBV3p0xumU}>7oSx-*_8@rrQH5og=D&K$NcN1FqO_F_`Q&c>U zmFgg7E4YxgIT@8|8n-m`S>`BzKj%Q|$B$L&&>K*;-#hDnopT!K{nbYn@EMKzsI|vZ z+q87nbP#u0NO2ILbbVlz*!LuF-4M;LjWDTVV8MHPqT8RT&B zEJEK9(zyB&jzKQPs)7%>2!?8rt+WcM!#9$HRf;v+a@ScELjbb#-Tg#SI5LRY%5fL^)dAUB4_w<<=r5@Yz6lAu-)?iFhN! zL#@i1G@B%^UqLxk`?G$!MLZ9eu0mQ(21N>*FUOV3wkHi*26#}7uX7&{H}Us>mva(Z z@cI@evM0qo%JEk?ctUP`M5|}TRXPHZp^<;v4igxDrIQnZG&-60BiE6SEK5OIZkL|W z29)Wz#0vG)==SuA2YA+qfddL@+KR;ui6R_6q@s6QnnI8w8d=-(xni8}1|chPO2bTh z_Q@Ezpd9^T_l#h1WI^fjPIHC(lP6P6#p>y1uXnfKx%M{*R)M`Uu;crl)6qWR(o)lnD^aMVvhl`cdWj!QcVt9GduVop6GsbT zchQBDvnwa!n>tNYO9^6W&0Up0j(t48N}Tu$tTqLgR$1~=twQ&RBoG*Vj;LyIm!zwAjKUfq-lqy4X67`-KR`!bZlC#$@MU=fG>#z9u3j)}M~(G(V}-8)45M&978c zk^Ia{NH-uh{Jj+=HQVthUBzUI{Dk|YldI_O)rws28NXH7M(6s0)XzOicD&+aL&L2w z2NGT`ZbV8MqnlOldce>s@@pvK?xr7K{gp|+YEwt5TPT9wl6Z9EZ{kUl0jNF%<|w_s zIVyd$8igU7V8mA(9DjWiYNE5D=a<)QTD+=Zr*}n+^o8{g%%l>Z{&OvTZ9C;6B|Y1* zDjx@L@qlzhul>o}WuFwuvO~LD2X;mcqgOyxS^Ikb)@*ov*1ks5*tQ@^1j2FOX;u*m z4z#Q}IU-k^erit5m=#5G^@b*+jQVbCdf@k7nz`G!6w4!B+@GtG;X^0_=9bxm#;Bb7 zxxq5j2djv%Q*V0h%!2}I!iNh)cFuCC&%Kr(W!Mu=(UxdYE~d=0_YRqOj62tuH7+ar z9LCIqiFqk!&18j7?^Df&f6N;UY8u~H1l!95$0AQM5UuVf&>YXYrTSP(^VG@9l)K>v zA9BL}23{Vwi6eONRo>15I`iE7vEehV1EMq9G%cvzm$P&Sq-UKoqT-4fQw}|=^=WS23qusKhVM7zSvCnjcB-Y83XF73q2v(z-o!{q3Lp^_H{B9E z>HkVmR{220L5Ij1vgpz>rMW5YpkJ*~?tEb;m35=qPprOV^h)`yCB z>ZiuCT9oSK6wr2gsLR^O%Mt%InB$cGKuaegjKrtWb1mArUo$`l&6cI`cc1E)3EW>B zCPNH{D?-KBbQ{ysOlddlVh|S{KNfK;ENYZb!_IV){Rrr^tul%=@?7OlB#&5z`{1j8 z@FEZt;1p8gNiW$5Up_reD(^;Z=kZIEFSi^ZC#qt;VpA6$F5+`!eJ*yEZzfEMMHaKV zzDQGqzBV*$F4!XFsRVQXS9Oe1*sC=~)Y0E2yqd*Ssh zD5ZyrPPx>+kMV@b*UJy#ez5|*S;2Viza|#Txi|xJIpID9W~etlqOWCFi5Q9c45EBr zlMy6Q@NFOzsILWRK?kI+*lZqX1vOWo#p?sOTKmdko{Q?m5ccMM=9W~Uz80cI`Rj#M z?|AwZyl2?DLXM8`JC$Yr~G7FD1`n&E@D44Gt&$Rxeg z4>rURVoz5rs!=>I;GbG_^Rvs7m}b)++L=jq27o=;Z^EjeI2#fVa6vqWr+gv3gV?1s z@3Zw`NhW-_@?cd4)`^$SX-017NTWJ~M@Dj{7XDrlMw9vh5VJ%>S6;f>xjy`PFbv@I1tAU?X3Gs$=2IQ7u zoK%PS3o=#K9;M>-hQ=5>0z`>fTkbm<>GB&8=Sy73@xC; zQX&@kpm;x5fD4r>pEl7o=$Ay2a88&?F*x98O&_#@B|lBX1}EG7Lpb|sXV3!zMDJI9 zD-Y+*GQtaf!}y^n6W|R*b8sUbmV*7!#zB8dtl~+i!7(MeI-(bf+h&70ScN^=`xc{; zze@F$dRc|K@LaBaDr=4ZuQpJ%U1_8!_J4K&4a{49VkAe zJ}crh>r#5Bc4a>})Le}hso$wgc?VJUoR1qJm0^U(=2}W7Jp#F)wfNvmNv^rB&DZP2 zs?u6OCMP|r7)X&dKoZc|F?bcLE~B2fzzn2~H_?l4!-HrVEPvVYp9rqq?{~H1hT>_# zvo<#aW9%7j;Sp-se&kJ708U`#lNONKxuTJSr{Sr8oG5)$7P5Hhh!d0R9U_HKR~qx3 zTpr3GthW#kVcgN9pA8whr>Bbb<@k?BmcyBxu9s&+;%jnA=rKmW?Vr5u|_5W-3RjhMyC z#JuuP#2)7Wb$|t@QSclT%fFO;rTB8eNRk@pi(P-0UiLM&Jnzuiy#C0?p01^L8B1OxS3AalqU9%+#n% zDFdM#ZstWHLv;;Vl2o?vrl0XKdGJ~RoDgME2Yl788h3{6P=~AyUo>$#;^({NI(AP- z+GFDFcOBYHSkjiTsC&cT-no*`UKQ5PJfC&Z!#&CfzWhP)06o%=?%PL<;MkY`R;L;w zk4`io-j}0M9ZUB6vVm4*JOv*9R_@CuNL644%J0m&J_3W+YL(SIso?@fw~5?n_|_(?w)KM^5q_j0e9V_sO4Za^6#o*9MN?T4vSc!=Zgb zkne2porK+EStU;x>u~0^!VWu#0p0ISck=^wKi+{U050HaKb3U5q^!?4(~=55ngcT+ zZjhXf*-t#wEhgxMvULo{VHKAbYG&Z*Bl1aupmTtEunz)^(g8i1w*TGbdgDnXl?pl5 z8MB@ou;sf&4XMi1+Rep?VR^~YI?>DbA|F(j@v1d2JSQlSPi3@0t00ZPxFBdpiWNj9 z0$oP)_Z~e_Tv*AJwm;T*6*Ro%hJOi`@d*~c#K#$)TfFk3Y9VV=%K=nI)Kl^JBZw)S zgnyd#9eu+J2s)>4*xknBqO$L+rV)K@_4;+$$QVl{HU@Xf_lUZ4arK+XjMr%y%3+0$ zMhF&K_ZBGo<6ChmdnaR2l@}b3*e?ejyWW2C?psXO`4kn<0soQH4=r5fPg_sAOK)E4 zcnxaB{?{u%%SddE)o4O=(r$k?;OGU?R_ucjlCelRR8kfiOK zew6xxWva`ozCh7mD{PujWnN^}9RalZJE>;S{=kfWRVr=4K1=mH1n%nerP#qRvtKu= zJG%v<2J2)d7}S6-!ZZ5+lIH)JC)^>)uN#Hc`R2I37>;5VD*GdKZhBJI#cz!n6ER(LB6o{88D~32=T2FOS4$d9cTJDD`&a+>!Nrd1%JC>I-zfch zGJtmRDjQElg8xIQ`{)M^az}sPca&=R4rK*n<45tOFxB!0Pg~yO_d}N%difCh55xsR zVJqu!Z>%qx4m!eN?}rQh{9%t{lRIa6);rjQK};c#U@KrP*jAqisj4 zcOl~wnyn`TXtE)9hRT6?P!YPj9BJ=Ula@R9*xl-8AMv0nFb`Zr__%vId~xcuCWH0n zC&)zKBmqcY;hWeTHldeh3bs*2Tc6TeU`6=#_wiy$pKvHk9#2Oc!%< z^!B;##w%NicqLayQK1kL0iYGc9=c&2jd~=x*qh^iFEZIqh{#{MgeS ziwI|uFwS8M8%2J#_;)(MB9XRdStmDxg3q>IMbCiMMPt32y>8ZIa6ArhBiCzS@7!OP zFLzpyS_KZrESC#rtV}4cCJB?Ick+KJHQG==J`=zkZ(7@Y(Q?BV7YyC>w&TF+Jk5UR zP*2y8YD4o`WkG+g*xO`k1rbH>V8H0BUpo{V6r+`CshH=3`;RgZcLAJJimNylu7oVL zR|M-#)uc78IUJ7gb&_p7;CL0BKpSSwZgy4 ziFH>X?;zCrIXWcYIY*!txgwd&Z|LQ-n}cpw{v;@VdgpB$jaU9QZnFmzzNH6Wa!#G+ zmY5m0DU%?<$TGf+71NK?Slg++oTDY)xZ3^6{jGE1s;MNh)ETw3(BD~IWH-_ZeF|YI z;mWvet?Gfz50-L;T`iXAyx!BpGFu~v!xLQC*@ARg+A3aPT(o7CE93VtPe|{M%*alG zEPyi>(j>Z;`6ks|4Z~EcQeBU6Hqk)SnQre|9k^^dz)AvgLoGBF`75FY5LjWYFK>!U zxg^b;nPNz?t9CL!>D|g+wCvl=i%K%#* zsx}_aT5>b`taUsilD2vh8l0K%?ZP;F_El|v5IQ=Ihl|lnJ~d`L<`5Pe8m*Ip$(f{j zHob}G3H$xE3M5IqE>UC%M>&1;t=1`glN-*hvXIY(OS2v0Y(pEVJ7cw`lGhRD!TG62 z_9mOT1}8_~&uA&H@NL?`Tqfen=a;Rg_S9t>{E{G@xt@Bf3Ez^ zRPd7eIw`^8Cv&+d7{k)<#EX6Q1Gv)nz#nB}O5`U-U-chQGDp0|cLU+3;B^zeBv4EaYTkTQ9-cJK6E zrM*o#UMJg93gwVUmn-ga^6}jNo7Y^hb06QkGql(=d}BBOcJ-a@-CBFB`!wZQM~P3T zRQJp)ROL;gO@v(9!ueui+Suw~pW@>7$HPB|p^f8{Qnp-`60O1K09FUybbjML%XGtr zAR!<6W%RI{pkiJ&=M%!Sj*H zi*TDP6t?5xv$FQ`mAosF{K_;~G_P|5TXa?8u`~1z;%QO8oVE`ZQJXxJ)2(H|P^E|y z1UE|37o|Qae~maUM7kGML}St7Yq;{+NxyzHd%JXy8_Pv+e%0^Ik(qq$%XAiTLfHHv zaIbB=v99{++pnck(G1xjUd+~rZ)mugXxyD`F<-UELTQMfeVEGY)4t?crixSn{Iom+ zm!M$B7PsL6#BPPj8Q5Hr$mXqDdHsGfD}*4$6@G|a9AAvZx<@f=D&L(QfDW3U)33Yp zeRIHv*{l;~@u@qQN_utu zr@M;HIU^c5gznBwORGg)f|-tdrvB}g@o?w{JM=5UY2$7~@kK47r^^zdM;Jx_^P{}6mq92EQ?UoAucM`eee2{G#ZYG zb2WTuGg?ncx{loGjnB+85Xq0IWb_~)y7FY}ao@QBietv8_bXRy77i4a8U-`i1f46- zrp{`*a`gieIH#~Fe9IRR=&r5aQsY_~Usb3id)8*`JFQZ@%1>MYvXB;VFNWu830h~( z!e=B)XIVMw3FuNl%3=Y(=8|Z{_mYu_Il>S4C>$=rm?f2333PHRxhk?jjy4;Pe92(t z*MBSNZZf4W>h9_+&q$OR1r+~`P2COahO86JCc@*$6=|^v>9e220r>gl74cZtihiJC zrz_o@T1)U#TZ7<={#jNtHhkQ+Yw~gYP;kT|1p->; zvUac{-~~l|Y{MECkMyu;{~ngk*Qco}D6F^Okv<4|Ka7Q+B(S@K>+)AV!|DU?;)y0w z5lD-FUqAF$$~o?$(2R#WW1}NHx;Z`wB!1yxRp4aoBka!cm?!HiiL8 zl9>@WE|S^Ku(cTI%No3aop+dWJOyAT8BzYN~Pbuq-TV#5&Nxn`dMhe=cQ zJq}ajokkoL{Xn4v9Gpm|4KC98D0#==nqCfC;D)QmF@MJB zp3iK@8N)}920Qz}p!9tqTwk$DAI^q{>H8$OCQW7Me@!L(cX3T9l~nAy11v3{@Xt08 zgD4zj6P_MyQ~)B~u)B;KzO3wz8$P0AsEH$Z%MP1i0#j~e{`0H^17aVAPOJ)Q?G1^2 zOmL5njJ3JWpIQ!;*>G%BDW6Y$VDr@T+y>~3>M=JggwUT1e2MEYq}ca_s)TxN$)a1Zp_2vm!#PPZ*o#;3I#9{s4k{GU6aDGWGt0^*Hn& z*O`v|4e*buR475pMqId>2bn3MKAqxPLl}=Y~_r9U(a#vle5bC}$C&AV0@Fc3P}6m6Lh<#fQI^ZUaG+85Z&-Zhd4>d1CynC>9HdUB z9ClL@YY5NBNNi*V8rm8Z#*u>Ek^DD#VT0AUri17z9Ch6pv2|K(T?{->0jY|!G-MUr zRK`XT#sADu_tJ_;9I0$>10vA%=Yi_kzsUkN)Nx=I|A~;iAF6OseWYJ(JMrAl>s#p%1iGB*c;21%VUy+?z?5C)LKX|2Yn@?QQzs<_6pag_xj1G)P` zxatt064zooOr{DhZ=Yv?B{P{u|9KqE@_7HR_4X=xI*B}G2qJ+0rIoLPnZw@Y7_OvT z@X3mF&L__+-kph-R>BZHEt8phIA{We3K$&+%j&oLjQ0CCIZ|>1HFHlRU~hUzvu@l$ zs92N`<`3wMR0vqoI`ya9pb!7>nNo(u`$)G{hl-K zM@d{#hH6K=7CE?ti)x7uQeGV@%0m*W7g@LFd(05tfU-BuR>viBMaF=wp3+_~GPVs^ zarKd)>KW6N0;J`|ju$yk?L{pL0ABSsmr%taRia~?Rhkd>2-5Og(pZVnfY|5>CFm74 zZcmW@vBLM7FQ$r!0(yVqw?$MwDvty(CZ>}@mvF;mV2m}`=CLDK>kGnyGmtM#kOb+7 zH=J}IY&zac23~dC)8_b?8`zPu>#Am=WCFH(enoYTGJa3AkzC==IA!8FSlXJr13SL` zgfw4*{>hcRE1f^Cj7;y#r#bEybIPECTw>!?BiR4I z+eucmlH<=!=DrfMyHnrXp!fApOO+^M@dDQnDo*ZAqLu!>j5^Cj^vq|BT0}umGq3#} zA;C8YpvF8EjuaQplTc1U6DG%lX=56B%FwMJ3mLuY=7ualRii@|PtK?rpSk8c@=WMZ0uEk5q0InZsiq01gfx$R6y`yZL5J!Lk}DfwFrW?a!2cfnB>*wGOz> zTDTbo6@tjq7QwkDUcaObbfa-Ac|&J;5PheW0xZEYkfY}Qx1UAf=#5!~)W|+@))DYx z;M8coUV2Cuqb<@$ed{?i-C9@9vE@*Zh$?gqL5I{yDt00jD?%H!K9@(4=R9J4AMbac3lW%s z5ql*o4CWY#X*h!BrBB&K#`I2h8x^}swNON^nM)tIX$uOt(R76U?`Wt^2xrEd%@4f7 zYzSme$AmhWl=wR=Vm?La+cEW8H28i^w}6)SDEJ6U@98!la~`z+F;;U8RM5MlMZF|> zJ@W9^7nO|~1)QG^Na4}hZ!rt5$KJr|VA~WD(LsVR`TqSqC*fPhj~b{pzGL&V<1i9` zNW_$(XVnQ6mdoidM0aJ<;0@XfP*#N6e#U;LY)>twvp_ZG9}*&-7-QvjBau^9L=~IO zWUc*<%}dEZn76|w{A0oxFP585t%!jPrQoIGql-O1le&hT(>c#_7gsU0)#>EU>JAQ9 z3~vCtUK`^?bu|4c*0O5kS)Ki!Sgu_MGAwXA-3MalLpw8-w47y!Rrpu(3}m)#*H`hG z@tDt0u17F;7jLj(kM)26i~{tmfbpBt%<^;*t*^Vw`eiO&W?)i$@bM8@*+#NSY0OIf zwf5iH4X}Ub zta%Wm&B%wY+s=U8J9jP4tz5*`bjh?Aqw8UGE4Q|pqwV2E7)Rru#+e7JD?@C>|L?HP z>5|P_M(s68z0DTSnL8OG?25;IJ~sEUqJzCnX@rKW^Vm);!}X@^+<`H-<_=oO$p>)t z9Lwi?E{!>+foD`LU|3N4^aPzNLk%D}w{w4hB|l*iF$7T!e$cs`ReI`k4e%gY}( z69i(L?>p73tnyC52Yn- zwpoSC=MF5fPBL4qCA|Dw!h^2_!?RU0GlR}aRh!QC8XP*OqM3mlt@7F`wC*!aq={Lc z5v#v-<$+h?JC*#P2z&6s7Jvb2mtn6xxG>{hUv2BvWnp2b17Q#u$9#Og`#`wt0n!yq zB!shBobW!kcPz}sB!vT=9v9`BA%Y}cWx;hyOBghci=7<)`puYZ^4SdXS#o`v)$zeo zmidXWvRXbx7b}b_Rr~p?8d?YeO70`eo2EjwH;^IpTe0@hc11W9wPObyQdM(nWNZgbm@t+H-pd8i84f? zCO)6hePP<^u+IVJoL>}Q6^t_jxUWD2v&B^G{1pCr{jl#O2FQz#9ZWJn9S zDA8rmtlZK=w9HqEM2-7R4HC@o6YAn}Cb<~pFMvSQ^PMC|ubCmpj6Qo5O*r@MyymIbnYgJ!3<8YrOzolld&<32 z9X1q6sF%{w1Cgd}^g^v*w!hGEN|@1!BHk~_dk0^F00Z~O?ybt<(mmdIvXS#_`BVO! zuH7YE2Fj<>j7t?q+Gr@m&NFn<2WB+5x^S##kXN@51hlVDhfyke|9W*3{uP8C9c~gh zEdDCY|1y8giJOYJ{J8PvszB#?p2@mk(su#mf}gU37sR4*+4fAUM(agL z4!XsiZyYpooZ-q6eKrTn5bTRIkm9H8Q{f7LQI(VL|MKAm^}19XLbfb7wF}@=NdYYh zbTPa+xN3#j?jJ~wLC|+Q9PTsj#((+p9gfPo=lmN}K6o63OJomADr%W3BX%`Vp?|v5&oL@~`q>8=QN3 z4pXb)uDpB>LwZ;#^sg2YEOMmks3{RnU^ohhuRl>#bS|8P*296^daP z=dIrPtfIBnC?7K7hwEV>S3(|#>XjP1beIe{u`Cw;?)uT1h8v)1GBc$03`=*=VV3r~9&VTj zv+fpd*wm7u8vi-w*x0x8kIz{}_zKN!C3m00VCq5y!_T>1z8*$=4h_C$!t7`HkHg%l zu5%9SBxv~yztLftjZ~+K(xf?Or|>!->OK~Gu}5L(-$?#DP?=DZ8>QYJ=X8+#Y;#d< z0T6r+_eW)ZzMbd7I7N6CreX(rUo}`tpagnwT2}Z)e@@R7s;Q`ka=e38PVlf&lGQmA z(ovokAI>2h%h}CC&xydK4CJM762i$9yVo4Zu&Vv8r+9j<(AM6lTHe4zPb9p$CS7;e=P~6Ih|;K1xX48s_oqS&kMamY*Xlx` zKIhWvHR~}k6bcYy#hphoH`$R2Sr(7e8pUW1Q)?65oW#f%yrjBgl!ghb-Tgfp$o5B@ zs3L0Gg$X^~N@uIFm|VNvP$hT8i3utrE}AVhXVfO+(iFR<(esC=7VH6TEVg$L?3-Go z*)bxz+?JE5rW6qYhl3WnKf>)@(m2F1?|@jx-_36N8D$l>L#1Mie_&EYhxT z8KgM$k{kJo=MhW{DRji_DqEz~IUX_@a!X)!u%#&0=1emXgvzaS;xIAS}X6#(F z?hUx;=Zaoy7DZ(;M`FJ599++LhjXUgjw}kRX}dl4bGUY*z_>&&pl-d*w6D5FmJiz@^p%k_o}GF{0xn+fjYOtU!QfrSjhD*W`-B9 zS*qBf_4oQpmsl{%eG$IVa0vd}om$J6wPUx(Vjvr(o8MHLsi%|yvg4VMiHz{qnexoE z`@O?<9w}01@4eh=86>MRfEIu4jfWgf7n!TNO>YqkU++T!#e^K1Q1cg-i9<8ChxV*|qE9q)uxD}Ew0vVZ~_5F`Q{*VpFuG zOV?b|wB%Bn*Xr`w)c$Ts^QwC9fBR6FNy1)NXcq42sN|ByFDFtnGI%fvu2{%irfU$J z8*o~ZvFJmLSRpn)Z*2|yEC!ac%~?VlKDbCT&9ldQU zoJT-Xgw(w5#wc_?2McYKxTlBDL(-uk6@Ph@sOz<4GDeT_g*@q#L+Y()&O35ahKxHW zDlRLRB2QCCXQYl!-{v2J7$*2iukddbe_XR<_Vd%ieK(zVDwH3t!>bj4rJ9p1qVH?w zhN<&l{I!WJ<+rG>=aUHsmyPUwwEdaMnMY9eY~?iMZT%-XQH#<_KmHR^N74O-j(*BA&%E^xXfmG-yWVvu5-cE8y9#L?2VAvo zsxp}}I+0oB*uNCat209cbU$=b|FJjuNv_sz>7Y4e0w0WOQ$DyJb#OmeVDDf_o3b55 zNcv^Au3kn&_m_rKz4AQ!@053do$KCr)VUP$$Hmhoste9mp^f4%->-C?KNrC$9YC*ZHlFz-qcz#${JOP{+ZzZz z_1-4SbyXC9aM?>4mn_3^9YjEZsJ+#Xz^U#p#*l{JY6x`yy9iavCrlakOiN_^!LN4a zt+j=95doxPwY+n+ua};%9_BfeLBb|?&-%29;<~9jj`wW&T-YhpQ;X2URnH9(0fV&< z4Fb>*N3z9d%TV<=dyPZ}YY-+^LM@4o8@up7z89qB8%|)Jtgr&DxpTKVZtQod1hJD# z+X+E)svW-rwAwi{_Z<5BDi9K`O^wmoCIf9(0aMz;DAut4C@#`;3H0u#{wKNiZPjk| zV7M;oBnG--54gx_EH%hmVi;d41Od}rlHu{kFZtbH)SgQ|o2S6P6}2^T7y&x$8!;1P zTh<>4B%60v7n9l`Ybvgxkigx{{HIB7ui>EwtUDawvmnz zbM7vMP1p?qnx-@DvG5gNm!D-GCglQN*QE770mXfIC;c;3`D40E_ucZt6l2n)CmIf(IN=*nOkv2D0n@O?qIZ96P3RORwL0#UKGvj z1(%fbVE3i>(tzFX*)dkt_-a|yBK}>`*gT|$<%~DIp43uaF9M}v|4q16LQuJ`Wb)-W=2Nw z?VE!2{mV{AXT^$)%j4#-SS6$q(F{+5{JR!<-%GDe3WoV#Y0gqiOr%9 zoB>x|6FzW5ond2l2A^%ug|xQ%egt8THOYWh>x9zfaZu+;%!_c|C59}LpYP^BvgQvT zOp&JV_o_0yPo;8;0&(O=3Lk6N@Vp#p`maM1dj9%&2)@wMNxKej;jO1Z?1ji2X8X`n zb`Z{}p|!DGy8gX)RFDY^vNbh7PvSt#Z!6OHSfFe|n(jJn#<-&o-l5w5I(em6^rtQ2Vu!`&r%c!(AlKk_Y5k~2c|*n(KBrG(uFHNaLzkM2sXC-kkwHT|A<*^4vBPqH_ShM7TTz}*rFWJ+oA*U&8z zk+Qy~aF}elPN7?v5rZKF%` zV~EzH#Ba;gTMN{#;=0obvqI+h4-eucoxJCYu4c zo+N*Dr23}ajkhjPfj_FMHU40=*qT?3dAmM-b~XKp;)v2|VVv_Nu$aQ+7&>7;>;u=h zDHUgGuXCZe7bQP%rjbHmIlKm44Af3H-fpj1R@ubuGk~R^iYx_w($@Ntl67EHDpu{V zcaRJ$0=xYV+D@YNJ|C1T%9Ce8^h-?awt^t|i*tl~F$d2(a;~PEK&MmH4!*NAQGgH` z@w$3Jw}RtLJ)PdX0-*@p zBA(^SWiHp|0y8+Bbkx4x z94@7wg?@FuM||9g(l}Zn;$y|s6dp`cH?W&`eAuT0b9Zs;@2yv=Q{PYG&t7l-wVz@+ zD&O;w_(ZoYTjCf}|4R8}AplUjuBogecycijAOpiDozO9|gI z^fAZ;6<)RnIOL`6<&36i3G3T1+$28!vT#4jzUM0Oy$GW!qs~ZBp^;^o@2~$Z6Y)^< z@`pp0n-wJn5OPT|YHV(1Y1~j5;vp+zG*7+~IoEPfgGBn__Q>yTmkwJeO_R1Pl9d<7 zn)+~~HD{TcNv#j50Wig`YtjwQNT+g z^V|Qn)(USgmO>X@)Y@6H5=QE-{582%C_xQ2{z!6XSh`;2&$_T>ZFd#Ci+KK6kW$Ra z>PJwa_knXhMU1S(FJ%Otw$0Z!@LIPQ?#C$xXEs8at9(=5{;%$%syC;q>8TXC=@WX1 zv80^Zm4$2J+ixpc5tMnyGTMmd4gPgU9?wX~OQW(K&7A$a;0(-^A2iY5+RYGAG&m6o z=^0yyub$j(jOa3Pl`13$73TBG;gZU}f~D|$jXv1%?s~)`U#V8LgO14OaU`g)nC8sR zz*beyI}O8FBXTp?G~tU7wdISOCD2xeRt8cfxVh{M3eq=w$H))QzOl{ z$DQA4V;ocAOT-EYyayvLzmt4#XGbabWYNBBj;@y*y=A+Wb8oUqe0U}l+{8&lN-VAV z7FhdzQ4*UwQrn!CfTlU5Y}GuRJJ`@U3jilf2+5KYqK0WHg0p9P)p}FccbwmjdoIE{ z+LUrm2Ea;vaYIlPBb!~9$ErwfA+UOK=pmx zm)H#2Wke-BNh{n+d=7Ijj*|x4PyM;37Ne$6=Z+tDS?b9N&3dPTPDosNrZxqc?a4Gw z=E3nR^;`+`=J9W_+NHJ()jhGNizc;G&2@5e(rafs<;^}jpXevbjvQhlFg8d=B0zJZ zh+@yI`F3B_O!ftzW})h}gzq$eJ2XTVq>Jb(MV^l$3o$-}f7-=z(073dOZyBcb19Pi zoSSDi!{+z;R(tJc*-}l=hfurajls@B=RNx$Wq(%v@iIx$yplC)8l5(j3VWyPKAlY2 zJ#)&b7P|IRljW+>evl4kJ}D>0%(D#6sM{o5yI~`E-!G3~j47zCuczG}dOg(;DxKoL zSo%e^5#`0odeD28VXv~w#a3m%m%~=wAbO=79983i*$cl?L4)rcj)!^h_A(TAZ8)}0 zUq!E*qRNvQN9p4vtB;j87=BT&mCMBG-^7Mvu93O1>3Jyh`H^x5mT4E&FQ|I>uVeS z@iX58#}miw%FV#8U^bO=qfN{t)W^nh8W@*mI3s7IK$7_d@>2@Y`1j^?*+keo;qXodZAC|Z zgi>*6O?FmdQA4#b46JS4NHP0eBL|1d7rVJdty8F$jugybR#vr`NNsVfpb#jhZ0nse zvI`82@)vd5_j#xNPzE=4_5(gn+yCeci9Z4F7nFv!$~}qED=V~{M zPPw-`Lh6{yg^U0WKA0wYqt1CLw{}@oE^Ir={+Tx7qks7vw1d9ko=y-*|J)&x_JgNx zImn)rhh?g=s7eoQgiRt3v=u*o`e;A!STFVO_ao+A%>3AKNPE4dJpw4SNsL}>2kusB z_`q#FEl?^aVc>VZKa3A%6+|&*1FQ7T_j6&^-TYh_4bH{X=SwW?eqKX9!HiXt<#I#v zQf!yPLwT3Ee=q15xM(!;A8p+dd;rQ2_K;^b)1|LW7?;d2pIbH>kIv%d8%kzMs)b!+ zP6LQ(&^LFIDX9~|5wDvn)zK7YhN;2hv5M7ecCS62$D|U9VBn3W_BD{Os;&vJ9gvo$ zS=2UF?rp+kpQCx(V9Io|v3wk|(NytA+iD@v9}EaN_B&-OAF(lSoidXyK}bIE9-52T zs9xpUPo<3T%2jP+WryM^l$@<7JDd5rA5~n=IKJr{<)JX|2hM2F*vWV&?B_L3n|}CBBN4L&Hd&zAO-5P>yuqwjqXY5N zQqCDg+$o1c&c42>rdLmQ2@eilVwU0^n`_4*CgA!^MNbuT^Jy&cgQKdvBY$-3TQ>TV z0ip@BpJx~m&ENYYqe6)YmrRm?!~5I0eCU;^Vn^-Itx@RX-Eyf0O*E|FRL^|4bzzfs zW-}1*7X$e7J7yF+3{6a(UeD0xvi^P0b%04ZN{Mjd&mM%sF4@8#?-hcaJB*Hm7bz;5C4tfh3PXgQR_dXlKFyr3^ zyh*i*o@|P3lwf`~R`qP-16R=|0zdE$0rvwd9r%G}-0!^ezxr{V|JDEBI|2Ov3HX0t z{$GIq2j>5cEx0I_yZ^%RzYhDqz{>x94K3mQe@*mXO8D$N*1e2R9@U9Dc-;ZuD6%+*TX z%EH;wibP6^#KrZM)iXyD&xu6?RcBg}YfZ~~E7~%TnBPU+4PHwRrm{7>pgs`vnqe;O zg$3KSYvbTps-izEcww7G%TyHq)oP2rm*~CaGuT3BYyDf}(^L6PNq-6d-F4AVt@l`S zrshsJ2;eW;`1)!7uvR{7Hf%67wPn#O?lX(C>r3I9?0(;Dd*?E(6(8x(EAuOT?{dl`iC|F4c)?J{>Kqf| zTu5;vM*=O$hre+{TYoW>N4s-?>5^2~&({ohSj|pfy4M6yt=y0LZeLhw>X*onu~YN+qUbLZQHhO z+r};1wr#uKeS^QFBf1AY+;Pr$=Z?&k>qAutIoa-7`DfNdA5i8kmbXtRKuIP4l%Qf= zh&%wZcLa*;dD#^l!Rkg9+ZfiGm$s1yhgA(CC=e111_Xi*PI;LG<0yvRAAq9Yw;&7< zjfc9OLy^om33Dk*mWf9a3|>)outvqFl6Rzn<-i5co^mwoiKj7>R62#sU;HW8fFH)X z1REM~_wWA`G6)q5I48hYgLUUxt51QoMuW$Is=Lvie>8Wu*VrCWW8{FYZIaDdiWLKM zf!8u8c8w~5Zipa;8t_NAl1&QBc_6T~Sn*FI-D!YRb?Lr0#av$$O`nQsDVd}+?P5u|jk+aqdwJaFHlqo;X^iNtEyZY+w?}z>8y>)(slUGXOBmUX| zTfPoDO5+=xV=D4wzH4i>Z=~wbPazlfy9AWoW9u&&q)t4O#1}*8DyFcSvR4osz9+@= z5D_-!MKW6cQ_G5iO|bLavxyqlgK$%0EaqN;W(VYu(4g_j9L*DmC%IV-#AO)D;^*-O zimQakN?=Bv>Xxywjh;2+s=X(0Sxb|keR!!=gp=!8>4*DoEWa`;7jgWUNu`js&Mr%Q zzJ&M0#$dDZBv0Z7iKB=+QMCVLNZ~_Xl2VRIa5u3U|>;Ffz6|gI5bl( zsW3F?&1Srn*h(wbV6_OFhT83MjkODcz4D(^dvtg+9REyoPW*+hFgZbAd#Hn!CKR@J zq}>vip5)i3*XFB0)P6?{;!2iMG8ReA{gQr2xWqsg8GF?RidD?!qXqZaRz^>a<#GY;O@DUjucw=#Y2ou zb)m4P%Bc}32gO2Kj+d&Gg72~VbRj-Dr_7dVBF3x(=o3Xn)V8`O3Q8xUB?Y>0PbtIZ zomqg@qXyQXa`6|v!d}{TGS{waimTAhbbdtB^LC_x1cMbHuqmbQ2{Ouja;R|PyO!Mc zr==~MDe!|i>U}!U%a);Q*VmtqpV{kc{w%9|(>Ck|cu|zTbyo!T7z9a69@#ft4b`P~TlSsMjBiP3YgzQe+E^U$6H~ghn7{3MrXVNSmtpxBC+VA}b z)25!U_KqG*cU#yM$mI64PA1m5P+l-@YwJ?7uf)kxBo#dA_5oK7J~Wi%GcAFfCNss2 zh?TUBRMnGyLaF%~!U-lq1#c6k9h7H$B>FLQH?f?Y5iAyN2k;Wfbf@ex^)lmubg{xLlfzmjCZQfv7G=fiZNByn5~1D2 z$Lfp|RBFOAx|sEwvo?LbzQgeb|AFaRX5tVn7-)toW*B^medk_SKJ4L}n;SXj&!|oK z;-LA&thjmI72&*n5BgL)I8H?<&y$(#uo5HKvFsvB3Jz=W38?0hg5RIPclx437zOxO z+A>PZ^<07DbPZP`N3hXNpv?QxlamX!x2K!ii-?VpKylygEsy~D*Dcz_Uk!wR#?`VZd=-NQYn1@+ z-8+FYvnsq!{m4W!TuuuKsVq4r4po`RzSeG^uI-S_zhSr;?VPU?C2(k zwoXD{C*`2$?hvlUxkA|Tnv^nB=?qk}go`G_Zk`~%JD5+6rs{$&kwkMu<(>&huFtST z5%I2xZ?2cqd4M^Iu*6r9#y)(yW z^JenCz`es-_y1>&WoP~$HI|Wpk%fcpKWV2-1nf-g|8@HJ_kTVRaQw?b{lAvtm^N^g zByD86Xco#s7Q|vu%7vskuUlO%C1D5zDI|&FAm?JqTL=m9_??n}v*UQG1w;id33?!O z-c#@E-_=exlNxp})7%W+rqhg^?rIq>Po73L39ED@q=0?E$G{tXProZ*ZXgt1 z`oV!Bet<;@OBm4^@G>#J}de;%59DvRU3+ypQ9{YsqrPquYC>ROm{^f?FA4H#sc5X;I*aL6v zV|e+~!N5AX1g!)3roqewat!{^#iWI!=G(!G|C-DRZ~WOJtYzqr8GwWfA)I5Un?+z_ zQ173<0pL}I^=E?$eS@yPNB76Rd))`<@80tZ`P}?;Bj7lQV+Mf|2p00EPI;^qf!r-t!#y2q7~ zghjAVGh0@N4D)hU&GQjXBkPu1N7eN4U0_^9>f9c=FKJzLx@QdEty~x7y?opIL z>3=DONvGdJbA1#&iV1E13xKg|#-M-u%ktGG0s;nXy{7=vk7Wujj_}R>5rbv=ndZId zr``_UkK!!M&j9fB`B<0o4m)Ta4?#ZbH~8C(QC?e9QT>#Bd7JoalAI*$3DE8F_71?~ z9Y_FxK|%n8(5w0O8u-oHmC1np#(etQQu&8~{g5E4zN>%*Uc(=q_RxQx0-`aT( zqx@UH`CZ!X&TB7w4JYvQP(Tj^$>|WNy<#2RAj+Ba zW82&i5kTRx?IMnZ3JO5zmoz}o8zBGMFFX){;EP|x5Mb_Jzi>~MU`aMBf$dl9Zu`ya z8}XOg?2K7`HLLI^{<<{Z?}&dD9OeWt2+1c$L})k&w=zguj@rax+e0mkhAu=*K=qlVtbu6NmIn7jVgXLb0=vtWcg2e@u8O-1X=|M#DkXSXNUM2+ ziz8G(J*fIZvmP2Cky+qAQzos|hxhHTc&0%+{fqGgTGXUey% z6WPlUoS|2h$R@>I>MABLre&%U-7+irtyl20j2Z^9oN%4W0OUqJGi>dH;m>M_gRmwf#cORseOvq+zQz! z+qDv6L^xU8gI0CMv*fIwPcJl>Z*@qis_3{^2RA+Lr;0mGhSd`nF|_xtXA1|kExj+H z7iI_wFoS7|b+b5#xbh=g7{4cX)7JArcmWLe3Rsl}b=lJwga3sxd?RR7-dGI>!G-tY z$7~t35ty$E1;R?++GQt-?uR`xk;WI zwmO~aBUA^)x)Q|K`bE9zL1gO`ua`bvB<4#RNkFpvN8rk#QK6PGI($|mG3Q97`Doj1 zGm11A!d+zQ*Vq=%QCpFZdpxB_+I;hL;{C=4mW79(eC!N^-+ni_{hsT0?>zB{4c1l4 zhdL%c8sX>VSecahHAn2;koSr%cJDXYD@Bc)-Ka`&?7s%v3xuiOuuB%nw#|BN4G=dE zEqo(&Z`3YatF6_9iWl&GgJn}3U8C>J{mwRtIlAQpn4`p27262X3r`Dip+rmBycNW_ z$)MMbbZqAV=5~EfGk^dc8Er(TMGi>Q_inw4>; z_0>ubZBeIXuP+Ld@;*@$3r^XzaOLhxl+<(wWl=}(!M#_Q^L8%;Kfx;K{RGr97y)mJ z^NghN@T5B%o~loJ&b?H~_?qCV=1AFQY(VR+G#`*$2dB6tL!t97u-dk zUTgyg8yD`sxFkHTru3xJ2)ajS(Bo=8`(Sez9zPDR)Jpzp;Flj9f%|x*1mqt_B58|_ zO|3qc`e8Kwr%l%x?OXepdD&KUTwIawkvfsIPiXX6dDjcH;$mQmQgzE`r_zsj?#`QY zBk4aPhA^1*rMg6We1`6iSiIX_mQ=G**CSoMe>n})Zx=^81gGPIzh8A3{zkQ)_TnDx ziX(AS35(i4JC8;u@!-cx8y8x=<0LlIYNZBdN@{Z73}JLz!f8IGV#R@-B&#NmaTBAf z2?|%6^wudd!(02hZz@Adh{lU=wc4vwY$XNoayEBthBN^NY^FzR&`dP1N+Rdq^uG_E zR{|e(W*MIwqNBs~go(S^i{bUChSmDDkq~hue>~r(@i~excA#{~ipB69MPe;J^`_1oQ z*UBpJK2hK>KG)dW({fDvNwV7DW}nS~@`9durMl3s@}7b#lNs2iyuh=xJ-K&sT5%C= zhx~Zxr9`0hR>=64fLKtHc11UB%)P;mB32nVt-=G@Xke)>#_~jW@iIlwAX(aHM}XUK zOOEoJcRFq+KE~s>>n6OH9VY2)1YaGD=}s9~^%IQO;Tm%?S6_(@=5|+9k{Q!~5%M7@yax~YGiuR1%kM~PHy1bX=F|?^o6m_W8a8u5Rt^SK<$=Z`3zgs1u!F=f%YX~ah2>I^q>SZO z`&4JfbaOKwYF*Cjy@_F#sNk8=05cEe%(<+ZdnOdC<6-VJ0ORFd?VBTPY;Vdy97FIO zA;fnQ6A1Cxm~hjoEA{8BacnIPidEY*TKgbTT|pmO=HC#H;=(l`eI+3T>*@P)xto0hX$Q#kJtz((?`9d^Fj2X@Mu-??x_BT9SB^_zaWR ztB@~N*w~5&?1rg&6xL1QwmlR9`f@ye55MuauEyiAaypvI+vuXqH&3x z+%5B|L0(ar^RlyAG5e?@LuvGLT`ut;+>tyDYT4V%0FrMO`_Ty;p>LC>VDWGy32amX z91#IuW+K*&-kqxfoX%>?5^JP;(r{>2;1T=3SF(5aqE)$*E#H`I8%SpZSkVDvkKC;O1dqZ8fAcW zY%jL7U_L9_Xa^sKj3>RNdFgqgZP{C|j?8xi6x|>MQSuDZu-`>a*GcWRda+O3z=YkX z!d59}PTR5DGt-s97Lr)CyDE&3lEEL!)+bRvF#<-!6*}?7)11QFGEFw7+|PHtMpfch zGYudgu_MP~^YA`L{@+bwkC33u%bURooEPKE%%g-9LU#VOfrR^XoxSRkn~xN>FEHO6 z3|@BCXn1*cqov^BuWt2V8EwV6(-SkSmvS+huZ z&rFEGsrlc!$d_TFyr&b87ix;YixA@HN3PB@DSU>}WLIf*uJLGK$zYV*1U(2cpWnIr2G5G1T>o?-G_fWFB_BLY71NIvAE;RWFd#-GJ4~j$T^M~gXG4g7u ztn}BsR3<*_kA$}awq?OF$FVPQOt<5{?k`Bq?0O1)7n=7F;6J|;?|V=nZ3rY!E#q>sK-dTi3!uEui2AHjW&?&sSxO}E>jVEeyO zr~Ak6mUbgeSiUj9TCh-^;4gDlWYcvxLf%dhQ+x(0N9?w@FL{i`fDtIEYJj&NkUjhL zwa45R941J0)aILPq4Yj{cb;Ve)Pvb_g7lAi_2`PS{AuJ8#~be=s}irz7Kf;jp#3jN zC`!(CsiOC?-HB4o%xI$nLGRwa-Aq$~H&i@>5uigC`(w_Od1NQ_oj-$);ioxuMR_CP zQ*qag@Fc(!iMnVdFUr_Bv8b4`_Cko44eiR9&BH;;@W)m=?FxZjSxXz_1?Td_Za7q_ zDHP9U+I&g&O#-e#co#D&xkWa}R*w&5Q`z4Iu?EJdtFNaZhC#dN_TRhIw!xaWVvdt( zT{zB-A$nNK)|DqFPtj!uovoSEOMVbv?%&r!=%LMyQTmpyEgt@fJ6L%1bz{vr@%Wu_ z`l?Lp#=&mUP`Lc|L$k107fI8GBqqO>wH-o_Ay;^Wl*jkh)uR2I36R&tRAn9ev$=`R zVZ&&8fsu-UEP6ER0l;(D9&`RhdLUG#s;=;xy<@1dI13*GQ1aKx11Uzv(u?_xh2I>T znNQ#O2m*M+e>iJY7phD!=Os#2iZi0cfJFF*bm0s=lZ)r5X%p)iZ{jwVHKG)5L&Y&-$6?XEE+=e+a zB2Pqiboru0S2KYctX(}(E11?cnrHTOrrX_z$5n3AR{!?Sh-F;z@L#f|8HaVxshL~t zu2q-UrRAK7VMi+bJhUb_#&mr%-aCp^BGPN=Q4#S+30y`RIaik7D&gKcE#2Z%lbv46D9P z2y0c9DHFc{J6i!K@#bQ~$x34eezbjkQoZ~pW2Y^q+ zP7l*%iN?KFzC(yhG_e0lTzm{#Nb`d>hk<=IV_Zg`Vzjz8)p5 z*`QK?UV&Ol7>XSu;$!Pk!BYil_^j43ZF#=O=Sex zsjI9q^EQ|I*!l>8Uf1eUI1ZNA^6WvJ!|T1*pVrqI_Ygi!4Iw|$*BYBVrV*`GRg#+N z7>U&&y;U~l>gYB(WzMsbUkse@RnnIRS)Q|#M2{)#A1CLJpey;a&FZ(6ut>@rPO z$?Hm0;F;POs!(opeaA9f+pnf&4Chl#e zy?iCM<@iH7R1fx)RMe0q6e}k?zf@MiQixJ=+40+&E0h(U&3JmnD^@M9jPvQjt43~o zzPxB*jlHry%AD1dozyahqeL%>Ckkl@_9XFA3E15 ziS5DTE-$C?`o1}QpCz!+!H32uVIKmkFOxzek-F=2moce3-5XJ;WlU=1b;1f)c;wK$fgYK9;*-rSZe_}6%QJHnLyruMSh7{R> zEkGgReglqlAHSj}zjBJ*yzWhQPgYa-UlV)e`v)y0R?Re(mwEIaqKBl=3y=UT7d}-attyt1#27HXw!Y$#jJpUtvF#qSNURW=yxmS*g)C0fp+qg(D6A@I z>fpyLb<4I9~RodDc)bi13yuzjL<6~mFnzGW0c?>HUI0Usz>Bx13 zF`g7vr4?zmlVC%#Z-fOqgHDTlb@fDKBVCynUc@7jume*r;WE!EE2e~f0Lvfo~ z%1+>Y6@mhLMx9DsSxerJr{a@uKQp^5hRGhdrJUgRshuC9hONvw%+SbPX-e!1LZ!F@ zT9ltHqe`r&BM>WKScZKpO2P0Uwy9F+oaY79vw=s8bC1I}=GV`~VqZ8)hFyy&r&iXw z@wZF|B1;I<3lS6a3Ieuo(DN=rtM%DJdCp9I(NFqlzu}jfqci+4v3Us)s$InX#DcW` zBSwa(OKaiaZ_>s7?t;apq_}UmcG1QxVNCZ%KIQts_qs7tRyz!0B%s)4!M zVv5_5E+)qMR#q!13XwqL_Wa>cjAS{AoRa#4)dlSf#D}Hv;2=Y78a7`KP;t5}wV51& zjgE}r8Mk9LAHWh9KlM_M`0cV%`@O8q)5&?I1ez^;8eBB2?c*Itf2FK@IL|Ga2FH7)CZOc(Qj#JQa)bbio^+cz{f>%ll*i?@D_bh~mHzHvvtKOHYSg@Pp>bzh!8C63Z!uydYn9X3_Kcx|m)E zmPv_0FW2HIt0BFG+9T63)2n^F&g(1ZL(6dM-@6f_mIru- z&2fbQg_$q>3IvYQ{^3$8G_iX#)r{}OHUTPdIqv4tARYfUthSXkp zC4uGrs1PNB_WCa$a5cWkZc+w6VKYWW`#r8PD4IS+jN3!*mDAB)lSbx-PW8Rt2%wXc zx3N8NHPLv(6+7<;5do2YhN;(ZEk)ty%I5K2AXH`v@Tnm;gQ~wQ^K&wN^2{d~jBfmK zam;bQl?ru7DR&^`ftZi?+j$YP6Pejk2-Gn@z9qjKyINi9`b6A**Lhv@P`e;N1*8W< z@^$Ck7N>*EA*8mkrBoCK5G8$Q^`A0VI@}b6CI5hI|cUYR1TcOBKLzFs6()1xxR?W@ zKa_I6X|(eoc`6x8-{g9A32XOp7+OXei1fG~x>I90oJmd@OL6UAwry^G<}7S9A7mfv z@T3OnUT8zwBIjTT(Xi~Q8J&~M=|sj+ABD;Xt)puPdwJ*lGnz3grMBg6KA?$fIn!eWUmT?XfYivchuQ*^JmhDk$LuZTERaGq`d} zOk-sqG+I#T_KDm12Klj0Si-!>>WWc-7rD9*HzAng^)oo5(_D6LdP>e@=!ixxy}Z|( zJztU8e&wQ0vI5KeV;UAw*(MKBD@n0sJ=#`|5iw+ehob`(FokFJ*7 zHfE(~*>_}MMYLBQ`2bo-40W?LYvUKcdA3QL_HD7pVHi*OtEqp+g&9e>5zqRdK%4;M>zFVJmv3-ya4v8L|4xWU10>jxKC6v28R&dUuy%Iq4SGD_Q#F4g2A3fO=rgT9USPqa`_s z@A`JMb90%}zd1UheJoM+HMwT}C9?AHn*C9yRBSToMhrL@5?h646)h|w%X1;Two&}K zH7UC%HpMq(u~9L)u^q-k8>WO9Vg|)VsK;gsndiTL%ot0W&PMdW`eqV(!Hikm*Wp1h zEZu6!cV|C;>y~u%EA$*2iMsh=_BbuxTYx^ms%osWbfS4ph2yBZLoE>wUb4(vyefaV z2glC1g=5lHkvyirr8GO)w9{6%SVaJp{R+QFpy00XbIQna&1NWE^8A_G)pLB2Hk&Au z7LViXxYp51X*=gvI&y(MyEm&Q!aJEINN1_Jk#im9!=LG%J+eZaR|it#93shT@Xper zp1f^EE2;nqh%si;TYC;n3B%dXj_E0v4@Z&uVn{z5^|n!_H}4y;U#BZ}hT{J7nI6Za zxz2gZ?DZy;O)qrZpJdQw(qGxXhkUmd_Fah>I2F?4Ustmqa;Nx^s(uBnhb}T^)Gn z7s|^Xz=Ek#z9gb|#m?EkHHog4Wi@~Mx=r2uxc)gEHP0lQ|D|}47h?0eUA%p*?aE}= zQwt7QB`3>W_W^nmOGh8pwszw6+ zi##cIL-M>O=usCX2nHx15fB1LEG8CJ;3DdIjYT=f1xctSP%2hWn8BaqJpG;NvD)rx zRC}12%JneKUH^o=1l9%C^S};fRRIMQzYl!#M*#6ge)kkHXdK6T>~*ulI23-aFwpkG=c{K)fC&ch}Ys>%=XzvO**kfqV?N2)e2{orUeV$hKZpj_*6__59Mc8ehlq1>0jH|`0WH`C z@q5@5R0uF2z^Ew52neu*3h*4b_V`O>cXkc*jSKSaSVVsJ>LS<?gD{I`n`)s4Jt*D!YX{+AfWHI&oi7c^h;GFAv$06HKQ@T;$YY>vNh zIdG$YE9aNHG8CvNgaE!xI4J|2WC$GP<1ma+)j&@HTNeZB&uftAs!QNPr|sNObf(%!h3UO7=E-a_H_OK&5C zZc?J&mb;fG{<875T|1Sx%ye$Y70&0^CiG)C$+Zd@Y(*>cfctD@m$XmNH+1nf46b6p z1)gBlCrtr`lF7KQCn;e!)M1GA!Q>QBT+NbK?+W}liV7#bygeDpNKNT;y7fLtuqq5! zooHRhse~(^(;8K;OxiDw&Ln}*L85I5`&L({wz3OKd%o|KJF`R#u6q?}tB$??&Gh&6 zmhdtfflr9C8zf`Dd4}G`9u8b0ha73T=@TPTxQ7B4uZCbd*VfQnSVo&HRb%~VtIGpIE45w+`{sE+TUq4m+KD6rqu}}SpNvLD_-)m;V~%Cz&Dm&7ZJkp% z{_)8fJ*1u(cgy9e{Wm1a*BoGe))|?WA1_5+_pDp7gekA1BN;>6Qupb!JR?cZtA88& zPPBSkc+{0q2J~HRk=Gw1@qq?Pk6{DSEAdj@_GZ4P%nWG>Pmz%-YhnJdM(j0 z5d80rCjRRBJaP-En9@%yqZPJSjeUos0pbvZQ1JS&{mYBA_m{P3@R)e)6xA;gD~1PP zCeJ#9Cdt~Hfw$RIyS^Gki`~l4CUp2>y^@x*LdGXMIxZrySN z!h0%9`$~lb(&$Bh3Ur!{bPeTW7YR;$XmHaUCLS6P3(vi6-c5Is!u9S!KUb%5FApXr zY_|4RTt6OXy3H)eiU?+LwzW16Mm27vLQh?rzkIv?fN1wIoy*dCFP{VDY?IE7_eJ&- zCVrj%(u>Xk-7`(r(>#MXEZ}&~6u7`SIRJi-b0Tk1Xc2)?B$kmk^!gyQC8oX>-H0j- z;;8tn?PaF!F`I>h{sZLphCFzFtGG7=n$)+_-oAl!`GU8VZJ2q6I80BX>0r%zT6$fFMCznoSc)+N`UElAltR*{e9-qxxu-b^| zqselvnU?tsuz`X|su{#yR47eXs8th!e*JZqa30g13!WNt`P^B4a7a|}^TbXjpWax5 zERb-Ha6Ku}LhY-zv(5e#g@MjA#42lHElmDQJAED}jzm|_3N6=QH7y3V!*5PLe`H0h z_5;;2rRKf(uOp*mlxc+K>HuXzXsdY+VZ_#PRS2`$$(4IUIm>oJR3zKB=TmI?OLB8X zrBgL&8eOxn_)nl!a-$eiqAt}V=ej+*7zS||TvuIh!H8eQex&46KwDr8CavQ0*^2{b zoYsau2!MzA~BUMhIcXI6mBMMt4ibb;5Hr*jpp{lc(qx={<+@&L#!LP9Iv`B;Efj((d&beEPXc-jnu{MAClgid{)V4) z3JpmSJc(fRj3Nhv-;vsg$Ma35s&>LkWXwttcZN0XSZVH8!(ZfM#T68J;-#B*fy!9SMeo$UWgG`5w-m6kwoaC!4nhW8J)~F#i;v;^s!fkXw zHBhu&?fg)6n-*fsO&K0R;j!T>@-;0KeufLL z`aq$~;KcMLsCyaLO(?A1!X}DVOU3wSp1MtWq=0M#ObYP=;ZUbT%&$h;EPn}YuoO-J zxN|}efci0Rqe#^ZVQE=%$)kuMJb&zLo29|EXCIC1)-GDX z-JnQxez~%MF(&6ZU(N4giszH=HsTG3*jUy{&c4}Aebutl6w%y=zN&ZG^WZcV|%VAi3#tS#3W+Dpwx&k9i% zjna1m0(N2J1jejaFOs%vwS&o{eO&h-S|^D@4|)Ws6bn<)u;97Y*pze)W-qM2mcac6>Kufe z9oSrLnQ~y29(0XvD!x>F)%x#>Y(Ae!VO5_tj{NVT=VW;&eAlccQjUgDT+j~#QAvm` zr3BSscFL=#`M^tWx-HVPHAvK@Nu%Y=o`&oRf=C`Pqcx9wL~98H*L5p;DEo0Je&+F9 z1CAsU*(>DdyJ>44X?M8QHw4=VOqq;D5*IvjW=U+-l~Mefw=f>Lc3+QDx0{0TBrr`F zrn8IJuIMQ{Onnq46eAssi5h{L4uQ!Y+?jI@N^dAa_$`f~-p#y&Uo%{!7h5G0F(Yye zYx}*f3qCIbjuo!sB7@N#$2TCIr*`h6vX6@DfXY{pCfC07FO4<#r|EeeHbOnXVL||l{x9uPGnw$cF?!um z4g@98S!YHLs~$?c!5cTrCOHm7a@DE*$o6hmnE64#K@C?Amrc}tRGXSVCMgHvbN~wwFCtqYk2QRH#(0q+wm`5s3Te&bf*Foe@%!?PrcI13i zJ3j8J=W^TK_mXi;rUTlHttDF^oYL)A6w?CPx_`a@fvi;YVI9*mkVR z!*AE=#MG*+g0Dcwa)n{YkC0tsf*aT6SPhH86hzCzZ14G)^Uc}hDfQ>}N`mE>KiR8u zcN3Nzee5yUNj?Lz8Ok#1QL0sMgZ+;eaxe=mWml}2KWl2@fvX(2*kMUHR@C{46&@pH zIoNzjA8-%3WjDtLjHbyi1|?Q2csCplf(mq#x>NLZc}aaNbCSRL!U;W;uZ`8bl{dKC zk?fQ~^ycCvWyTov4VRo|#UYVmd(3_=y^HXUFhN3mBvDTJt?IkUAe!|!7Vba+pYJHR z7A}^1l#JQcNSR|zP@W%Y1$3Qx&s!HL+=eBT-^{V{I;go!jmNy?@brD2j}zU3t8+tJ zc|Drx?QV~B`F3)Qi{!*;R4t?PPZQ3R3fk>4V|kC+<0UmEp0U2#{VXW3e{DP zKsfXPh8)(hSN$tJN1esj+znnSc&7Uh;ts8UG5;oEJvbT$U@r18woNAZ$B+|U6404Y zRf}9@GboSlanqlETH9*g6Up{2_cm|zGv`$dwguN@MG!_f&lb*j|4_%R@( z{_c>RoZ>>c7m$AxjyC#u^8TXLuMuSwBdxXc$z4QM+ey51RQj%Eejm zND|g;nC$Q8enrun$S~B>gt9DQRcgGW&Ubp31rXlGt7nc%Z!sogBYUm;XALZs(NT8% zG}MAFlS)Pf!H$*-pMxNh7?NnWsSPKd#&d=`ktOn9n8|MquK4brrwhatFQ?s$6IxO| z^c=v7^!t@PLg3*?jO*2Jbm%1KwqM*D*>G}Y|(NwDJAp$}~^d`9%; ziA^Up8>#u!EO|xI`Ra_*`r%npEO(YXou&l~l5-m|x+dTiN1)2PTJw;hB26uRQRVUj zYFL2j?rTm?uvJocJZUmCGIrHieYwP1uSW`c+-zDOrrxvnxjH-qL7s=EQ;1t{(J;3F z?2!{^Xczp@NRx~TydF5h{Gyq{>?6omeeUv9EiONv)`5fRxin7oA>83{#JJ02sHL|C zr1p8A76!iUNUA9JC@JaiNjt;N$vCK!RVW#XtWNf$ciWp$OhRXW!Q@S_u$|z0ix+q+ zxP*pY`*qFm<8t8_&i$l!wL|%rh3<7hoU~LQv|)M-(rRyU<3~G`jTpMS()+c>Oh&sJ zI-EQiJ>;p#D%UP7NSxezTLb?@g7;Z1>z9-ZyVC`Vf5t?9)R#F8Wxg;>KM(tzcHb2h zZPN3POp+fy$R8}K8>KMSr6KZt3X9Qw3)R!ygq#d3>AQ;=PwQwwaGyWd2fgDE9m&^a zF6nZUcd;_L6=KmRxd6&>(e9wqB49y7r{7HDc7Sb40BR1g|AOvBs8Vp#pO&EDBMHGr~qLC!~bk}%iPJMYP6p>@g;$T)bB_sG+J`AI)gBF+UZ zt#nIis-R^|&yAp4OnY^pcNJ%=8PoIVmzGLHqA^;& zptwys#uzaO%qf+xY=lLdFg=w3b~{NMyt45GN45A_CVDA$=5X%RAR{j%MbCX=8X>{G zJYafrH{w#pyUDqLi*Gt0%IG2?Yu2k~_u$*JGig?kBI9n#s_(!n35`XshFtzuHBNuWPhV9!Ut-QEZ>TVOJj#DOmoU*SGnxY{Q{|S225OaawT_lI z(ss;>67(d=H=d)Iyp%7Qz}5@8eqy`**x!QYjkaoM>fL`mr-M>y(Xv1gyh)%};{=0B zaEyWI*1d?ALZn4mznE93Lw@@TV%~w*=PwE-iI{r-NCjIPCOx|T$BQUl0dtu1z7Zke zYAC>}`0F;fdO&CD7rhyDtMO_27ILPm(1o@W>9O7t5S1AJbhU{XnHYm+l)d@r*4rjV z(_gu>-hWl40V*y2^zN>v7F+}s4s(>)T3(32JFx>7-xZtKZZT-~t%yoT<8u`_8)|oF z3faDcSPop zFO_}x@ZOmQHI-z3CAz`(8t@Cq{d{+`(9)YF_`ZGaoWSe$_1Hz9@;`k?J-u>{Hb2Bk zvJ?!Q7s2W*DICXa&aosB$v!Gy+CbGE?2Cifujh6mS9(y*F5Y9tDFlT2MODt%fUW*| zfA<=YU82n_InZQ7> zVHNbkRQJ&3v7l}?P!oKY13Om4)ILGUDJQ>pG0mxu`5+% zbrD*ec6bGfFs5|1Xu8aRfd|LY$qzqfMdUk^uFRoKq@!gtWpR^8w;5z_Q~_)XD4&g3 z$9U@gm4v&OSLY{?Vf5#etJo-pGQdLBy^-3z8se_J!<|dA^_1gYp_*DUsY)8&l^bGI zDC^u`Zws8l)MFU zm!4GQFUg0fi_b+7)I~5*`>`spWK)oar2iynLK;eq+%=m)3goDGVLla+0LqrU+VsPA zv~{wiw)iDYzRsR6o_jf$3WrzEZ)`l5wm^j2rrJi_ZweEoJ)3{5H&a04LW?`*b59)P zWgHvNtoXm2U?xT|)S9ktn`V1YY&>>37do!IOl3k@Ju!@V6@fM~hJA@{@|+Muy%6lV zRrZ1%8%bsqa;s^`>r9;Qu4cYvaN6UlO^I@IWzKTMX9st&&24Dfg52b1hdj@`(s7ip zP*};0Ao*u>7*JzLyJLFzPef+2doyClou2~5|FUF^!XX41W1kFcFb^G) zbIagwGXkY(yjcaqa)kY=f-sS&OAkmU)Qb=E!b7o9vaEBCdgZr#bMCpM0i zs6gwZ>BTFCoUw{2JBQhw%u(ihXsMvUUV*}RriF`J^Sx6wF3+IVMHLbL5?fWIXgOek zxO^IzL@#DHR*Kho++wyTVz>m;D$CL)1EcL7wIf?gRJ*VoXlRh+ph(&Ye*w<@{}?-` zAkCr%%cfmvR@%1BO52sTZQHhO+qP}n&ivBsnunR`i2fh?@x0%Nb8f7?_wrHo901es zkmvIpntdt*rm`TZ(VDjbxu5c8qZWBqq3qVT#B!HbsmeB$7fZplpJ&50_&U_NM*j3_ z6->QhJ8TN(dP!bE+-v;&&=bB93kdL`!jFJpimIeDnJf}Hm~WDn;@F~b++8wbe8r>T zevY_4dWtE%eVa|s7b*5&`W5`)x5lX3T*Y(=y6zvm(}YBF9X8}tse6o!gfZ!NZggdT zaXtJz8&*sjx7DpZoTiSJ;LmO*JiFmQpJfqv32 zeX9exq6PKPR&3rOgoP8gQtOz@748D|uxsk<;3$7UhbFgZ?# zKV{hcqZ;gIUZTonJLel1KB$@69apR#qs9k57G^f5)lKCcy}5|-7Za*^f2F#~bypv? zrV1Ce<%>cwx9`gFloaiW$HkHJ`!-0Ws0Er|v>?|m61m9L1379PM%PTzTaTK2I>CoD(5>4!P?(GL716IFxp`{1^(JFK>W0BF(>G<~e13Jmb>hT}ADEoinqO2TD|CfX^ z5pb|_{=d_I=c1f!EX@DwmUj!dGU^37n>5q_5D@_-qtj^I!uIwy90S)>-_#sIbP!7c zl(;LjA{Bvl!a{U{q@?&DdyeA`=gZcQ?&Zfy6)WJzbhPtu{r0!2D6g=NJ9!(ZIyk)W zKP(DH;uo<2K>(cR=ZBc<=SSd|ybKi(5bzTKTt%h_h71xa@tNvR1Y#8{WGMMe(Ui@G z1F>`$1R^LT5LX5!E-fSgL_tA7@Qp9bAp}xpbPH||VgUeV-D6-t?yG=uefcAx^-q^> z`Rxeiz~KNQcyM6A1QC>7(_V%69t-21^u<$?ALLlx0XAi;rsgz=;z`W;t=FJ_m=KXFQ}lN zFUKY~*TDAHwSEs`8tfbv2so&-O4F-69|c|>@6>r~J})Y?*vF>lx^UhzyjdVWQ!8Y} z*d^%oJovW?-U1S^y%^zJ9OBt6@|$m{pzB|(lOiZrN6YTBL18~%1`Gxm3Zj1>1Q{I|m?uy_Urfzs z?;!SDN8pcqfY0C=49M5^{*8dC6VjeQ7&GP<=$+Vxr@uc%5IM)(PcPa}3J?L}9P~jL z2$!EW0Ye}E{5-?jn;aIe7uXP_8KvI|9u&ph2jFG=w+uZw2i(O+>>EDdn4O_ zfLEWa2Vzp;WvEesrt z%Qtxg!x=s5eJyP8{Qh=+&Y15&B+y&D9{pn{fSo8xbnfG>H7X{^;g8=BHR)qCh3zZ9 zAU^QhS6>*vzpwMuJc_?8@DpU|{Pkz-=O`>V#D^a)aHEo)*!bOO^ZvA{?J>RwpawxI zwy`F&=iulm_fM0X&Q|9~KqD8k6V|=d_aEQUuV5A97?gI-5X+zI7iZU8Z}IsbH!M5j zOe2PtZzKk0$$4hQI@+I_O!(ZCRdE~Qy$#|%k|XG6&ndazRh)P^u{Y<(@!9UKyw086`JI?%4VtuOH&~s!Ix@;CS20vaoVvauIJmO zps(H&n)lwr>zKX+lO^o+1AnH$7dexwi-WdUI_Xe-kWrO%n3`R3omx+d5MX+`D2c zvgxSsqEVeczc3>20R_~=2VfLx8iLf9$3G5V$ZO6gv&*G-AX9tpSGlyFxR#p&H?A;C z24^qX1|Cxs$o&okx72i+Peaq_$Wv zj~e||O^9at_UG@gCw(XSh>W$U;j3!>+`q)UU=?S*RKCC-IcM}sA%HNBKF(Yv8LbQ! z%!-=LCY};!Y5a&MN=M6Hp`~N_uT!M9e$_dSJDC z*i?u5{JToZl!R4QVxl3xABqcdJKQhCXDynq>hZ0f_6I}iYU(fwjYF=>-$T1vKW-~( z$2{3^49&q(&LS!bFXr@^TpP`W<UkEiII;mH!phonn1M zXDRo2bZi00SHPRSZ;DZBP?YtU1J5nK%{XpF&Kt#Ep)R3evb+B!t*99t0O|hpQJ5df z6lynE7j5PR#=D5+y)5o8T*1jQK{0Zca4viHbg5tz&z?Di_N~w+T>Ep}dX%1(1F#ZG zx_lC=`R4+FFLU$x_Z0lkL^OZ8IvQS~rqXI~41Pq1SH{-Q1z2 z#Ga<%l;u*5kih~UbnNIY5j}#D0r$pi!E40F`_uVNapjC79s-L8Y z+p@`lec?7;=f&r}{$+Aq@yW6xck|_ZUYW<*Rpp4KZtO{0dGnsW=18s9Z!HI&s#t*M zgkVcH4PDzbtMZWU_gHnppYqlI$V;*gl$3#Fo@*~+pRtSv7C$^$7swa_=afIy=AXTn0FG1xy zcN2;ujeja_zfajNG5yYfQAau@#o z8BQRczQijZW-*iyCc%J;hLnK7tTD|6~|G)}VQWLTMG=0dH|Ni~UTGQxX#_%bOK&y}pf z)QPq~BPG=h<4xnUs=Bqa*TGMMNw$!=Ad|zr?rErOXb9*aiScZ5E`T`Md#pN7ABk%> zS84z|EJ=x3^UkY+=4c{L5+RfU3}9lQ%PC32uvukz=^%k{tq%kukTE#z(>=h-oIezcLHCqZYhSdN!i&X#9oqcnyXQvxK9pwE}H zVHMEp=*2M({uQ6U+L(MoIiH21Qe4FB*v`<(q;cM4w5Fm~cWn5r#23!EI(i~&hO(D=(WgSr+A6;UXu=~S45bDd77g-GRI-bKXZRDDyAf2-kOe(M$S;OO;PGIY#AL# zNCBHZ(nSKo%5)rd&?Y&TIK!y=k~LnmP95cEZCk_AHC?{VQ_DES%SuTf2F;l?Sygb@ z>#8JlDzzB`MP*hP`VYLb&c(&Ok;z*8#_Gk0HLD9x)=?xhVZ}7{!RFH9WpB!IUK(Db zMDUc~aEaSC%?UYXkc_4tboq%IZHu8e{O2;(Msb7A@WfM1`OMl;dMK#RWVFHWNLF>y zP#HIg%O3Qik5^|A+*>EL%;)IFiND~|T^!2eH0U2N*56WiS8MxYFXWmReCO}wgDb6o z4MgslZ6-w_Unj@ebT{d$2o~a&&$4GAW$J@0cx(b6%W3-z3=AYuX_>>e@|0 zQtB9cZM1D)WH|kIc-nRPTu<4Ow>0?>NgypH$1SUVZGb+4W8D~P%XbVtTjwB zjiF1`F*Gk#VlEkIBI`olJ2^jwy1c~#6;9<`m__D>9Ju(W(4Rpxg{e~mfMSVd;N?5h z0q&2ic?~+DGrCH}KJMRrClVopijY^MN)g)J)fZltUG5(shgwrF+uv#mMLN6B%_$gs zR!7jKIDtC#VDW@oN476<^mtB>IJg5eDfR6O{F13T@C0)3dsqlKN1usarBHX6XlPgl zUzE7_uhM}uzg?cs*}*9E!KmSHkm$s_)nsY93{`t8Ldludnu@mgw+XF@LK2W5x_mPf zUd%27YI~`x{Wsm)R%cs>sH65Pt*Zlcm-`y8#ta4j)`pw#XjS2hO_MLqa!oT_1F-NF zcRzGAG}DYw&+z#YZRWxWfliOMBOf_nV4OJ{X{K>{>)A zNcFJTLd7%t459yBD~tKK32#&=p_4G^m{upkr4(P#;+GvMmN@4 zs7fCmr?i>oHSIrYiy>t*-!r*l2{J~= z$8XCJBEvz@9IO-|tQF90c~x={J}oioeC^`9elpR9FJCap*X1+I*M<6QJiD7_GF#`6 zDo___Yk8Zx8`^&N`%Gy!yv8OEJs|{2(!Jqhh*UYvo-jestry=|Q`e_2K)fVZ%baI+ zoA#?{((RDoiIig~vmHV{$vjMFEPf|t`p2gdFWhY6-S(jiaovS!IM=EwJaBPzX^7M{ zt)(__v`C?{wIBiL5E3qPd-BgD;-VT0eYra{3(D`T&IM4nmgjo<Eo4kU4cDMONk^2g0y zdg=|QK9}$@8u3QSZX9MSqTBhW}jJZeDlS3i#;5YK%|1F7xGnA+h&7 z6A4)JIxa7aD@b_UbK5tqxJr&vOfym#5Fd#IBx0nFa+m>`rb{q^{ms^o{*tta%{|`M z{gXgEChU#A0EF#@%j8(7w7lF-ET^M7E!au2zEF`~%yz2N%L_*Cz!h6v{%X9&`phtPTlL6H|L-+@_bsbqe8a4z>+W_<6>%kw6+Zm!K`$6*;lFi6fJY2 z{bbJu){nAS6&vb-wXE@C=)7!m{~mgPWi^X!K-!wK437^%>b+?8Fww1sZP48ZrCOjiE;T6;}>5#WwrGzrN$BH|M|Aj5ds#0igL zhlCkDJOyxBEM#!}83niq0n5|ScTjaATwTm%UFQ8u4L@~MZYA1x$N1y^Eb(X^U#NX7 z4Bk9zvVjpY*KBsk)m=CIeqmDGo~47L#&>_Gt0RD4M32>R1IYr#<>hMsv*De~q(iSE zXQIu+W4YOGI;9l89x<`MNM@BydK~z+_PAo*0kdmb)Yz=>}FH#bYCGU z;{COLjPXoHBs@J3!P@V(YFY9tFvo1kb~(i2xKSvJ-m)%czO@8`(7b}G@fvO2q!se_ zxG8Gaq0oM*Q{1vSYkTkz;%R){CAkcQ*CrPEs?Jq^w~bfPm2gNUt|UIBX?~9yoU#EW zs(a80xl+U}Rp)lk>L!bFrANeCg~=9gWiB|HHge%>t{mc4)zB{=ZlEeCu~k1ReT9}( zNhbfBwk_-#W4ePH8Yc|W?X(q#kBw6oW;WfON{jCVRLW7>yPNHAH&Yqh{d#&`q9Ypo z4l7xZ`zoj#b*)PtE3D1kHzA9dwx4X-^P^M|p{*>GFYQ2~t3P@XJP|>5nXNSOr@*JJ z2+zjgU-(+R(P5ghsGd6qST>5`mSjqyiB4GNDI1yfRqmaSr7UM5e|-iY!oAPtu~Tk6 z#j=U7Ti))yk*W`vp4dj;`+(Hm*-}XOi*1cYh;hSr@TU*kG;647NJ3uNJ4InSm<4m; zFY^T(_gX@`(_C^)9n@KXU8!6!$4b!)S}t^6)~3Swwhny{xn0anedDAwmc&pE|MKEE z?%qgU<~?M7!rNxJWZ`#v?QTkH z2XhDyb)oy(Zr*k)Lnbtm-f@R}FbSfQ%{RQ7CiiA4Sw~h!c<( zH9wbPX%fHop56>&qnA}!)R^9un!o#2k#QkUp>EzzR*LV~?Z`gc)(s3lO?vBzQ}OA9 zpDpjhbDXI-4bK&`jZ83lB4v!x3e_>Rrq#XadToM@r@^YZk%Og{bP$e>rSW@O%<-S* zKn5+Db+K;ocu9F^rDgHZ64&>yC^;n60!e%N-{lo4=|>*7btxAFB6Ja*tGBm3y<)WJ zVS2oXYHVDxuCjD9I77a!U5?%pGOb$1q}@w7u6^)#V{4cSeWEC1pJX@Kl;tw#(nE`0n-zAE%9W&fty$ss9t|)3*xteoo zuff#G1xHZ9vi(K1%nhwgrbkA2j*{se8`b9QV&hw~r%$_lUoblBtO^ThaBgq=fmrr? z>h(lKC9w^oWpX{Xk$veGzb{pM94d73NMzv_-5O77?N9be3bRH$sY?I#rC3%=*-$9g zoLJVt63$<(f%)P5BvrNZMJ#eq3R>T{R|{*`8Xtq-aY($=G7qqVVld$#Nhk2Q6rrnyGZ{abfhx2AAa;=5)G z2UQ1TAtbygxx$dzd2qp!~CNjO15uMmSQTlTVW&y*u?bI3` ztoq9XFsKCv;VfQGMm{UUv_Xm|ls4gVpW7I$4%vb0uS~|Dx@QMej>Do$Zz3yD)ESFH zZRtJ}+7r&$>$`_8QqyUWPZcqsiZE+i4IXj{M>jE;asZca>$mMC3FlF~9GZys1+7|4 zedSr0PhlL76KxEDfy~B>zF?XY=JwH`p@>DplYy6I*dv7+S6&Zj80O4)JEENzhjAbo zE0y{nm68dduX$5-Y-5Z|fkIZ{_Z)4vA{uFBAJR@K zE0Nd`oG_7+vrl}26@%lglEP9G9%L^f5UyVfg+PG2V*S$!d{lGuLx%!a8PhWcShR!* zGrE=*BTIrqEDsp8+csUNJV! z+31Cv#JlNiz9$qGqGE;`g=(*K52yzE?YKyPd9l%<6~kT?s_7CekRJ=(2gW6myU#yW zJR|W}jUu$XGsL7MI~A%HF1Eh!D=-Myd|pfS$ZoCM>*z^T2zadpTDyX-I+Txy8ff1( z9YV$!iy9u-P~|W$QJQ2Et0#dYgzr{(lMv^zWNN1$>C)#ryb{E(`>zi6(7!lWMkc!o zq#4u($EtxA*R1(LvreJK?f}A3$k+4D;l<-~CoGK4@LOgIj1d`w*9hB2zsks&EU_v`{C ztbRjUOSnedGgovjlPZ10^j`gHGT3XjAXR7Y(tvJnQ7C$eOVL)iKE6dD-e8nhp}(-< z9=bn!-uYKW+&k+7$T6D#bYM>g(r!^%PyC@a9Yj1w#MHYn031rIjlD{o^SSfG7Oi2y zS&360&*f34S~Un*WJpZhy=@q)mW{7geWR8?qmy_EZ_9Ac`ah|Q84~;V%JA@#e!y%* z2Y%gSajw0Xx300PD`_lKotxrh-=XUV+n)+ftqh}rq-0<%jeRY!3@9Gb6fdoYPfc`@ zbBR9g;_y=GJeGPLIMivCDD}FjdFP?vm9koP3SgSLw{ce3JGiMNQKGk@dZJ7pVK5ep zDhnhAM|R6}Mdwc4-4#ZBLxKJ{b5kZKN4`)KLWeaEce1a^W5kQ)v>2%hCCrWtw{`?} zI=x3a+C-h7hU2~e`P~KTG%>U-!x39|yA5|AF`)T8=D2jAi?3UwG6#3oPz8DGfQi$y zE6F?oho{|HR9!N-U*|<8C2dpjxwG5ep}zf`!Ms82j~zFShJVMYW7;mZ$iP#-u1e^I zPdC638Hg{!gj0{ERFHnRur%kJ`?)9#Qy%3ShMX+t_NDX`d#OD%mOJ{gEYr0drb#o& z=9#}La&$mEmm>bop&eT5S?F6g=uW&LQaz^74VHevdFM$xySq=oIo zn;xIz=w(*AqA`5Ke5Y-XnSx^)`2mo??&QQjv;n50u=P*4+hfK4g^n;jwhsVbby7BD z6oqg^yUn*ocJ2CXh0n-W#JDjQMoDU%Xz^>QtDWj0FWglE_lTxvPkl1gD36JBP{#vW%Pec@rS zm%^!RU@O)#;#D~4?uhR3hKz9uZ*xWZOCLlTJ(kt07AwJCyOvQXZhYYD zW{dT#G96w7ENLaV32zRF7&+5EeR{he3*PwADH(fYr&fTIxhnebq6Ji}ReXUgM&i_9 zM(Y;v+*)lg-OkA~)jYp=m)D{c!rePDzULG=qjhl<+I}~2;P|FzK9@e!D>}T&!qq{K zfZWnz>LZQI&>T)wfanpambF7`rlp|(qi;M^Uy~7Tf*|*0AGw1n9k`(Jc-5qtso^++ z)Wt4X4rnbY!Nm!Sh?T&SW^F6~iRp)(hhJh}G5V{b1hf7%QQ)866DMdQOKn9H^2$wgLhngryq&WXsr|22(mbwg z+u+ziu}tvIaPLC!ZOq;$CV44hfthbGP9iTy`WOh!{6-@Bpw|XY>>}ALP;JB!ZxMNr z9q5#bn=GWw<1az09~*T342Ewh6>IZW^o|>Tb?8EpvUQb_M}D#tRk*%I{DkicnP5c? zRdRFAiRwJoV_faIv7Rd2Mf#dg$mBq9S)JB&J?+tov-@YVN>AK}Vtek8W;0Z5thCmj zp46)?`H+*E$);1@!xfdaMJP*`Q>*t^dR~bMnciQa6KwaR_Y4v1UaMvVZeJ z2ROgGx|^V@nZb5?^$_>@b(|mTQjvWE#FSjHtGPySG*FuKw(Vl-m+`;Kpi7WX(M1Tp z&lXzWrP7}lMT()hXYrSmVezZ5WKpsPpL>PbHe7a?0I9{GvBo+Jn|W+@cvV7obnD0U z`a$ZscX;G+8?}zZYjtgv`pRTBD+Csrw_?v1C6~&biRS0>%DQn&Jm&+4`at2-ABIxQ zJr-${>XNKMQFbD5{9OKQi8=p%)7as|xF#dh z;1AhWu|X|+=TeYmoZK2rF8%&!`_3qo#B&EMG;x3tr@vY9Eq^qw@R+sU2UYTQ8 zm!nh21ihCQy6Ie1BJhW$?A`4*CyX@G1(7qNiD_Uu;m0mk@P7iW4m$`vTN2B)CVAIq zQ}J=Fs?5t%z6_Pwl`wZ2 z`R2gJ8QFLo$NIMQT8F2qDeJu#-84oU{$xh7qryxG{bpL&i5X8)(7^a3*Lcg9di=b* zdcB{M<9@T+bDpm(q$P_qh4K<%?vcgZu%C5Yf+x20@CCW+R}2fBmlu*!g&?dIke5ykzr5^6p)aF#%%6(ug`#e#> z8~!eQdEBq_UY?mhOpX06Eg?`B6d8$L|A2dtk%_1l*{Zap<(#ySaFPHi zgFboA{85oEy(q3VE8=w7)Qu-8-mqBy`1fp+d@2gy)yZ~LG1QJ|r@`m$7e8UM zOiLMQe zVLuq>wFcjWPp5!+6lp7;)pwbD%9dI{eIrdXOniaGlwP$bA3Ei0j8C;fJ7O-4HPf(R z0RrbvM2=NqIV<0rH7Rp*Q^}J3io5d(C+${jgV-0-k1`qErzG#PIXSo;)oH`$gA&&l zO1Kgxx|0IzgD!-ZkDPeQ7+;v6%XVBOEpj;`_KS4kPdddkttqC&k-nZxt1rZ*T-i$g zZAsM#FCC)GY~!M65ESP;bG};R>o@Z755YiM?=&mHrHEnoTnMlpkjtZ2`5eh{lxV8r z%7|EK*9?So3XR(C(K1!6Nk}yzl)~fmMaN@fo?+yU@7|6%t}L>){Dh|zgt61Ou>6$B zGy_+0X0wb2_*_}v&Vu9?=GO7D!Ew=i-9@CLM_pn$RwcKYV&;oyKzs+t;9hFQ0nY8W6omkFNrdI)@#=n z{@|Nq^0x+z~A1+%|-R7;TiP)jJl7KL$kaDHmw$LF!4 z9G!ahrJttIM}haCgiK6|LcN3jl6ZD3AP|2*p7PW&+8}R4Fqd%6q5=r_)PH=7_d2fw zhW`;&fu5coB6)-;D41)SS$eR?KYH4JqIPgN*PyOo-xe5U2v2@LHqu~yuq^h1df$B` z6y#O(sJ|c&fLy`gVutoWy5eK(SP)&==G3Jy+(uDiJ`bxtMg^f>SC@eZiQ;+}ztFy@ zkwD(KF<}Dpd3f^0eZdy6&VuYhL2t`0BlN!NgajxS?o)}Ea03U1g}w8jT+2Xb_Febo z^Ewg;5hE^dYi}4BSO!ock@^X?e4U}*lObHkEyTspl0qSI!iRx;mP;c92KC!CUm(Bm zDzTA|BjG+9U4#g5vwfQP&aR=E{t$I_?Q2x{y6+M6@uxB4z$O6&_A4^!5p2Oiy#%)V z`H-^TzXbiT3HkK5y$6EwD&z=|Yr)>>1)<=)fIJ*t3o6>;=Zzqnk14V_nzZ3+95$@ajY1mf=cO2yXjfsQro4Lm^|M?-# zN&06tZAJT^k}nO}Abi3e2xpRylht z0;m_7FOZ+BVLt*nSKFywpc_5J6^y6YKo&$)Ah93dZxxs+?C25bdv+B&=Wo*=%_qAy zd>n|h9FcyTZAWkW+b4x;& zdl1XJ^9pC48|t}_Yu&dsyP8+6mBRC2N5_qmGL>(BhoPRI!gvR*s%2yN+O#CH!xIFv z7+9Dvr>O6bJ!k2x+l8yFGiORTCAdr+5mUO1-P9@}(C5W}O0tpUt>*1-n42ziY@{>&i z>*o0*caN2BSP|D^t@7o~hE9~ft)B_CNhHws8wKSO5}2)_+oK<{UTL>n)p#P7 zX!~2$wnyrwqUsiPmveI-(|pc0f#J`V);qApXd@u`gwnXTwSri9DM>wn@La!yDKfb} zvA30D*h8mXcU8z7aPV37eSaPK2{wkh8Con9`KQ&1vV^fZi_Bf8rSWO6UcPT>dL1oM zEcFwOP|dx`EtIYs9q+f9{VMe3d@+1&=3DzO1?RUXE2^1pyxi&H){NB@C+JQ04i@6m z0v081{>L2kl#*<2tYe1rMV?Whkk-GsjyFmeHv6t<&vt%FAFH)EeQ-IHkYLYs=$!lG z)A+0$LI*wGD`P!aYro#s^3OPmejnKS+eoQZw;LvF)vVAnWqnH65GTj3wsfJ9Sgg#C z4ehRtyuWUS=IqdW0XjADxTk4kr)fyk&eoz6MEa+m9qVhQop_%GUqf}_&J&&Rdkkaq z;O5d74)5G%IMpAzNL*j6BBbY@Ef0%g6}K&cB(3*^24fo+LcJX)50X=Ikp+Jc0I6?s z;_tF#M_(q&9aNj_B%&I-J<)Q4p?$hFkvWiLuwntvT}z9uD)rD>56gm`qTC!*r0;SExySBz0r&83Fh-f?*HCqsnLzqy6H*BeKWJv!~lu ztPsQSqcqQZQNZ_jx#ysf?ta;-w)O3rdNuS+XWusvM2MFpJgxBUk;X5eeOrP0QaO~T z?a8$~;q6#mY_=<@S5l`9+0K$^OLl0e? z2#FOYKL5+Dy!3|8zQ(GS&Civs;0imTvhaSZ6=J9cv2(gn6ye=X;A`}oCxDAqS(@O( zK2`FtFF4yC!w z;okV)>ap%*tvC9(NOyB~@B|G&9GBn?+5V74fATyI|IOGw zQG3I@^E!9T*c$Hh7-dNgx_)b{j9jsBv!`)3>pSM^pLAakgUmVA3|yoAnKh~cl+jwe z83Os}t%EPo0oJJx2V-U=`?QzEREV%P*A!?sXiS>xSFAsQAJjANL`rl1MRjahQOZ>u zYZOi7xy^h>V?pWm1#YVAX-k%w*!J%dEB%DmSzSW8(;HoT0gE=4eBLrlHAaFAg)Q?5 z&nFF6rR9#_)~){xRXo}$H(bXR%j2#fHOq$6O?1kM8qn;NZZ%DmGh-fMVIuxrOzzaY z+x`>!1ZBC2%!L86YygT>gk<1OXN%p z%qW_$Yw&DjR5uSE5Xa`ErgSdJYE~~R!}Cr{llay|I>iWU?~?BtT1?*gyM!m_>$oF(pr_0&8Q~DT}~?F>?f5# z{znp4?l1e_U|#4>CB}xw>fI@@HML^R)m$0o0E!i`>mgmsXah+Cj91l}jg-UN&Pg{} zVX6E?IbJXCTC)Hct;QZg7m>4L;Uvle9m7%m{3L}kJTFXo{hBLVDFKu$Jvx3qvfp;( z+m^{?RWwVLYz-X#(bNcTKOoi1_zOSbiKWtbjgm~Q&hpY;;98dD>ONarYIOFB^|Ame z`ASyv2!WjM?w{o5FpM&!#Pc8jSMt#dC94`Jm z0-e#{6y1Bw_pPB1IJ;QNe*tK4S9Gp*#AO5h_+0kq;~n-1#M_tO-`#<yY+sJS-12xV%@BCK$Pv07`cx{*;YX)->l z7&v!mg+E!jZ^64`0U4Qv^^a}hC15B7-`hkfm*A~~$j$WmHhOq)^pd>NKa_Yo1=Q!$ zS*_6EA@+xqYbCFs3*+Ge@-r{nZR=ckvuSR%(gD^UUj&{+8#c z_H>h|9e3qBhQfew`M2oocHr^mOqka4-aQgWMu|JsD%=aS^9Kzj7d>`zGby#+lzxRT z-ZL1g8-oEB$K(1XZ&Ns~PiuNA2B#3yxA|~29Vxe^yn5adu5B_d7tV6zOJvaGK@92Z zanHXhY6~Y<&nY!-{|IJvW?%c)@^N_eF6?CsuGn=LorE!&H&iMfhEqj?#4Ma^lv@RH zdlhQrVR^(&P3ewYdjr$!{B#L4(Ajl{jRdxlr$xU$XxLeOUdvae))FW$e~6v4DgH{I z9DDjWJ+Hi0c3?@U55=yFv)p=?3zzqJj@E$H#j_|Is_*kaZ$gglc+E1q*HsiKLrYoc zoq$bHzlf_VS7+Qht(G2SxbyVE{N_Au^>izD50zLxE1cxrRti`PI{Uj(903FF*D=>B zJiM+pzTUlkGa%LFqx|@E0=r{r>kQ2$%>>J2P?QHAi0qfFkkS*W4%tq+G;fA%Xvj&! z$d2v-to{dE-GjC3An(?}pfiJ?)C7ipnmNhITl_$#5!bUjhp8A9yThQIdZ_yOdVt(P z@1aXUgD^_N{^(h4Lkb}{BKyX3T}nIp)bKiGGhG^25v8SM?`-GR(Ly{G~kq#XZZ7(w82(Xy`&b=2NgOtOk~G`TD-W+@1NX(X@S7a`Q_v-ndL{oP&wBu}5sgm7KWrlZNCox=bFx64ZXcUjO<) zcH_CHCDx;*+DUmIWsDfDzhs_T<22BFP(|R@+AwK|AP@&O>EN%yrC@xx`>&)C7R{SZ zV~UjX#Ri&+u0hVKwaVba_icSqqGeoQcaA!$*X^c+-r-ZN}S7_ zr})f1lJf~jdtgD)Yn?>n)Gu(x!=1lQOQ1ngBZf<#|Dkz+h}D!s3-Wd-F!C6 z?;O37m=DZlzwJ>O=r~mTtJmC@VG(m$;Ps6vA|YyO(?Yd2dQ9v%SbH9Pj0A>tfWnFn z-R+jiu)aXBrqpraMc#-6cyZCVi6W~X=@8)@vpoCb%E{ADcdK-&K8xACrduhSL!Zmh z@#SX4Ci9C$Pta#X_O)(AmkNhZKx<>fEuTwehd=>#ES z>?y>EY9HOXTQ@xFEtBO}x_xNq_+dzLqz}h9Z9)gcO{(PYgbA2mS-jl@9a3%A&LP;v zL8c!8^)6_cgXzkPlGU%-8O7O~Wcf>;0vYTV&d;7m)90)?eOPiH6_(*lwRJ*sFl$!n z{Nqc5QQ;Q_SZce*ee0}98;j?H;VKU=Yr{mb{pm6<{;al(4wxx~HJX@9%y~5agr*oM z6PO+~z?mAjro!DfBTNk<*-{kI2lf0=dgxVXT0s@s#b;8%k4SVlHxy+Q*IY}wq=3dY zX#d_+Eh=d2M8+j;>aGKLR{2&nnTBve=$XzAqbKHLaNj3T^VzV4&Uxh?U2I73*NQfc zo1L-;x`b;C0!V zfP|krgtQnP1C%09|BqNlEQU`vFZ3e1oQ$p>T+&sNztJ8#I@3+ApGE-{A%o^#b9Aih z4uvRI`G5PVb*RhOD<#67whbU+NSsFG;vT^9J43(Rm;t|k7if9eTtZ4A2}8i7K$>vE z{fI-lrkbt_6yll93-`38&}lL+%prBK#HYt}BqW<1Aas?x#g!Ce>vOoLsGkk=;#Kgo zDDzFWX_XVp!PktYY|tvftnE?~Cnvkf;8nJ!r*`9HAv-l06z>{rd@!3Ia=q{r?}w^d zByU9VRJ#Z$jZsBhlXEgq#8TLVi$My-Uj2GV9Jh{H&xmtx5O2VMVim7(Z5t>W1al~O z!X!082jQ3Ja7?(Td5M!nPl3y0#Jw$CX$-Z%!p?9;V9%;n8gK43wxmj_4&~GO~_>@dv;#fl{^$E@U zn1=zNQlI|*GK$;=8&rGY4*Bh8CF!AAN--}N@xRH6m`G7a)v48SdKjpJ$u zFhzIlXFo!-g21UfPY;A6MlkfB24#Dub8=6y*6b zu4|cZ%6l}OHr?EnP?AsK8ZlW& z!A$^uf?4j~+}kxO2@;~>ovV@t7>&L_X>%!#lPab`N7jzq(VRL_k3UOBEW!442X7*2 zbr{^#5wUCq=tq;gOq~QUTYt|F4ivV>T@xi2*-?m)fib+SrfM2!Ubql_cWXu(w zepB?n*eqm1rs63eN3SO?tS=i=Sc$Rv!3*{sb4^b z9vn@pYC*sk%q|4>OrDXkh+{fAZ6k*|$OT~QY7Z6@lQk*bxExJqtuBSeF@|wm+>-yI zxl=viV6(Xwy|FQr-$UF^=@+M@b~Y587rwJUcbSDl@Q0h?k^oRaCZ=h;FFJNC*bvzn zu|SE{S>}!cU=S*(NIrVU==DKdZM!PU<%^o2@`_&_-UB`&@v}=x@~CVBVpaZ&v2%zK z1z5Cg+qUh~wr$(iY1_7K+qP}nwr%%2KR++I$-jf2)S$*SthM*rVei?(piGMOcnpHx z4$q%P`|XUxZzQ08o!ThcG|y(S7H&4uC!#C-drNP@X|&{(OMxt>Tch31>9uT8VOOxu zMY)ce_}4bGMWG!2I&e@qz=Jlc+LBBtJEc#tSsu`F;h1$k*7UwzUUw*=fGbjGV13J~~f8ClFqGfqeR0bA>ph3Er+(}&rMw4Ww z@Q@hHRi`u=Azj=oz_Ec(KK0z(TFe{6M3P^%cKAZk3@CU{T@ja|F|ai+SpQ(JZAZ^B zlPi{Z8l7D=K{f4K8^IeC(#UOeUB3FH+yRD#_3b)h#vLg65!fcpLh9dpim@$s9`G>k znSYkZ+#|NO-i}${n}B2G|G@+5PtK9+ytym|X<@%cFAE-~;5-Ruuv_DDcwQ1) zU`SOf98Xm>D^+JWGqs0I0WsRQQ3~2TI_l*yDLN zcr?^YlWG~;l2`j(dqbg`%k#P2`*k7m&$3mYzDp^OCE}}60NONNb^y_>s*>;47s58< z@>Ee_0fH)Khd`y)Mq0{qO?t?t|6*PFoDTAiYx@i3{KQt7QG|VT6zy=h@S@CHvUx05 zaP~6feGK6ssMB*IAYy1n-lpo^A*JccYDu$~<{54 z-hv)@!M~JBPRog!n^LTicqL_;f7$}6(3ziunbeFL%{J=2N~rP%pq_0e%%)ZQVw!hi>K*8-9BC3mYM=C*-0Y@QvNL>cH|bB`S^O2&`2gkEA@=SmZSqMGc5^XmHLY#ijw&|ZoMbB`A5XK!?3AYm&G@4#n_}xltq-%>U>9Zxv|CX(5h8oqK2;}4jYytf2n1Sf z+9!ffXTog(?BC}u+50AImuK#vdz6e3B3*XIct(@+w<H-pLSGaL3unfB>SefPjG@E2|NC6qpA#*)dZndoe*oyYpXtfNeqo z6f7mc{5fG<5S+U{U@!zEK!|WDXbEv>D4-xv(BdC5qOD>;DgwDO9{y1LI{?5?0?2hg z2sV7zvO;92?%CZ~09kr;esM|3fY(+o{&Ca;IMBd709=F#$b*O-M3?};CjS{n&^F+?PT(l!WY40^R#J2__ zI0)cHo*qgc+&*Xk@)s8uRtV>(YW~|b)B~6rbp8Pu2;#@%`*Iwrn%)xx=j74$;}#7X zU>dLD4CCQT<)JrfVgka}4?njK#ZOLB8-aj?gaj@w4gnbCiz$W|;zJGZcfS(Sl^>w! zrzn!Qv{&inOA0v47Zw72FSp(a(d<|dAnO2vn=$|SBph~;E9={ zA9p_D1R3cV9pyVvDBeQeHmsW$1=QuEFoW;kNR@k_z&?UE2-3%8h=3;~)K4lbkFh@b z6HS1y)MG1TKu*5zO(hgK@s%%ZW?dRPz|jrd1EKIMRyPvx8)Saz0^Y&5))WAs4?9q> z3t*ll3;;X97NjqWsyYk-fPn41uuXI`cs>(7XY@LXFb*TAJ5_HT$tF#wP}yGKRd zndmnx6cC7Zz8(CL?H>NRKhM_oeBp#FtTG(l25)~d9>9~hIUwvv}v935+I7RHHs&edgt_PHSUm`#|K~EdFX2T-c%UAbt|7; z)-_c7F#YYnMHvvX^tQ7b=j*ao3n*OQ;x-f2R52CHA3CQ-E~RKtASsnF&rQpqq#UW|M$ zVdaK(*mA0!E}MCm;5E(x*`N7-^#0ANKBGe9n@Bn_;Qv6vU4*oX z4h~b!5C(7ObvW@!sUubuFz8mHwylYwni#HwFW7LIliA&V?9I771d5M6NQ*l0tWA3~ z3cU7RH+GQLOq|I%i8Ith z&7AGlgNk{890&}CyDcbrZRXu!351cobNXP2V|$G5%)-V-*IL>=n36t#6Ws{o_1XqF z=Bh6Xl^d)c*%w4jq!N`HHhRR-DtE4v=cCKX=+0f(ao>$RvT0*REH9c_m?;kFLL#J2nY|YC01<=}B3d?fIbYJ9RzH2@x@3)Tn$|N{wbCu&;JJu>R#t zBJ3PsRI))$B#9BMUGCpYLL5ccw60}F*Essvk{PETE9%G2>AH;?D8nxqz*s%BS$jXjd7cBui{yMX+_k}5-G^tF|(;HSEpb=c@ zSo!d z%cy#lXOftDQzT%Sd=<+sViQ&KRzI|oD`ombO47o?&~g!Ir+ z#KhvZd=ZUQjjLp#$r`Uhe={t;$3u$&ZA=LacPP^K7Z4| z3{D2vq1V&*(>rq8^)vi2#+qdcp{9U5amK`8J^;f{)2qz=;yzZBt=KNjiU$ZD<5?NT--@0<8+sTBDn z^C?#2|H8if$&@Mbf|IC!72*6A;3|DzbIu{_AZj@(J1H+(3`{3+jf!SDU2aFgE<_`k`;ygumcgRl zwXKvHzpebwVzKE^o_RZ>$GUZxm5J4imSaGSJfzssvEvNu8HmUv*a7@(dom57g9N!QSmmzr+KfcrCuZj2?UK-pJ0~~4RfC2V;wH26$P#Wdma671Dva9 zoOw!PuL}HOonIUv%1AmFikrSWhxEv{Nv9gZAyNT(EO?V}+)G{v161RzcT8=)dFu** z>n=y~iB~tFhT7HMM)94Wk@ZpbKdfz?{Y%ZimLE{phY9d8eF7UpheLtst<@T7ial+% zJs4s@sX(9}@^YHUo=gMwQV3C7p67}T-ZzCx8M9CbGs|S2nx!Z^GoaO9t#0=rv+h?x z7A1PV#1|`5A?0TH7~Df>ki3>lr-8(>8!;Ok#-r35srLk4oq|B8BnzJ`_C56;GTkw-rMX2WSi&M`k@rJk5wY}(A)!R!f9x62QVcG^+S zlly25B?OTBxiK+QxaS+?qzkOk9u5ybCl_1EX-HsLge``JTgQJXTV&jnOdlumASV#S zTW?-on%H8@5%BTTgGf&XZSk;Tr|B8KA}%-8LIe*3c%lxJJPE761XCj-;OA!|{ZWHK zp6mqlG8~@OqW-+%iLngd`b|v1w5)jzlHKyUZ8IAEB-GSNffSz;uPxpO;QxK_QLZ(4 z_)d+=r+QW43n6K5SE;mDOY*7JnYiP&Tg`03_m}Fk?Ip?WbBTjGt|{4NN&VTWC*0jl zA)V&wDw;m?W5JPHrb!-xlXOVgH+U-aAjYtdw6v0?9Ix*bjr8PN)2@WJ+-Zs*bbZ;s z2PYljsL{InUYy@_RvNLUJlal&eB284g_#U*8Hg-KRaVO_Cx* zME_aGFn_)G2}=*TW{=7gw&h!ahhy)|xJ&H}9~b=1IY(N2T)iFH6gHLc{$mgUt^S)Z zB{Md5cvgZkq&4^{JG0v^s2+vGjzARu?HxgJPEg%J=pEuu9p@{>U!9cWlV>7cM-OX~ z*0_KbJv=+G2TJHrPrsZNcW$>6S{lBwe9m>^_bzdNx`<~ZCn$ZcF^%Pl{6(h@|N40 z54o9TNq1x+%L&XQx4d!ZXfYJkI`#n^r73FbCvHJmvXOoxpEWBTsHS{c5+?qiWOK$p z9qbYBRo;_>FQ+dAT~{tC-}q1I!PQkGwVt7!W2a#&ZD)z4$Ibz?yW`1gO?jMcU<5I} z1yUn+3Zzor$ccN+kr;YLxv;iI?jw#4yrDeQkBfr2C!MeTE+Cp@Yfl+D64_Tq)w+np zB2_@7=xG*n-F(^IWwgi!b(cRa2^u^dlTSo<(k5q2JzxAGR8^QjhsSF~w|SqQi+ja*+KDACCSJd_uzsme>hk<)ChVasNJIHu7z-r|~u-9+P*q=PN* zB?g8I>^@Yy~Dz{W; zg2c?Mq)A7^zHsOS$FsA6v%Ntx(sp^t00#&cGrG2NVmIJHS}`RaEUsR}QBFzcb|9uQ zpB(F324=8PtD+?7o=eoa-B(sW`@4PUMjJ`Y^eiRmLy_zoTyVeGSEis^H9Mb+9_D)a z40o6QY9WhM*-)s$#Yc7)`YwB0c`be>IHu7+tbD_h5(BLm5D1jXKuwdjyHFtskt+6QV{W%2Fxf^&G>r0sX@j$T|J9lF2QqiA2DSUiI-l zTsv3G(rUy4r=A%#;!@(vC=fmo#sbCHC5{;tRz zFcU0Ie}zcVueRC5?s|_qn6@twVe~?UPr`e^8GxDUZx)0I9-P-j(O}ld&hTM@UL8*5fm73?H z%&^Jp#7dl?t;Alr_fKe&-=wT8?QDcP-`*35Zl#T-pck4HBvUdmX)Jr#eh z4&)&?McugL5XNCiHf#7EwAXLAA(t}P9w+D1wUHFwQ1G=%9F3oaHlkER61E<72b3CM zv>#P4x9E>OC0Yw4rzj8JpVgR6P#)5w^+bW*Y}p9QUF+p!s#f%Z$;P8I#eTcIvq@Bc zSvkje#KB2#iPdmty3wq_hi=>qWwv52iq#xyY5eS&b6(L(b#aY&IXN=N@%886Mm8X6 z=HyIM`SZo=WqFpoO`32-PGd%m(v35?+tgbwjA_xL6c;VS(xX>C7U2*Tk-AnDrxtJ#@xS9euv?~g| zzx!{-N3_ZVwvIP#+q;4-Q5^kTasdC4sOI7>CEo;mS{+PKZRPz(Eg%<%5SzzZPz8mF z#MT7pCLWL1y9hZAI_D%Q$A4&*DvK9Zuh1=xa-sMqK}Dj9vkpAo*f!khbEF&?Mz|}yfaOw4Fxr& z*$6gW%`vEF=Pz~13}Nv_0t==4w}h*%BDTRTckGuiksunOT#|ck&W+Xvd&D63a*kw# zm`cHmyen=j!6L8dLhb4W#Yi)$8bQE|%Pw0(7hCQ@S;W;jw|TCHe(<42QT9*QX|P=( z`}&0OjPmvTY_hx({}%4G{R(-qCQpUoxX)=?6;3ub(*jpzFTN{Lp_Mg4ty&88Lt&!U zdyBYE8Tc10tL0*YDgOA2Oiwf(-cjkb*nlTym2IlE5YSsu84QR=M9CQ8} zmE01uK4bhfXSI=*2>K?j%TC9RN288GBMmi|4{z4WXrNF_q~RG=Z9UF(d32Gt{9U88 z+&yWgY=P<60vba_o52V&9kbU3qE4jW_J-SQe9S-4m6x|R4G|l8f^NV>=^onT*FXla zzUD4>7!E;IP=8R;+}FiT=a7}?lZt_;PdN8x?JSaq{OS5HH=%qS%Vpr76iTg zFnjcA<^P5y5lip(r(5hxE^b-;wwoxLTZ4t>q4_xsb8DZcG+~nlet7hTci8S&2g{Z5 zfXUO1JO{+{s9z_hB%@KFec>6DZkw*%nLxeW3FWdqXRYDKBTcP!T0N;kpSf`*L40Wq zA@Vu(9zQ15R}ylCv+TuwqOE@H8^;O2_h8mVLF`5bFw`YrwZQiL`>n;u^KV?<5Dn#E zt$Vw&QWjWRi8JgF+FixCbMa8EItKH{*vG_Pf;mo^x1w9tn)G${zVoG{7{j4b^GUIl zw#xxIwZUb@_`~4-Pc&l-dr`M=PO8=E>q$j4&1>JHn<_XVLX{cXvlBAs>Dn<=7k%!T zP*Uk@Qd4NR08#U(5I*+A>c|WA_%Yp;8|%(_u-0^6MK_;gm?v&^cxEqHf^&r#!}q(d98=|gsC{N)3B z_%b$cgr29ZrnD+8gwJpBTs7e${EHM<(z8NKB1IrWqvvQV-T_sLh!?jw>0TpUU%Kt9 z`mRsVJWJGbGAZ$0)S!{?TyBJhkM5CT9dAlW=RZ^6Qe{%7woAN!AWD6JfbFz8)^xRXrN6`o5>-L;W zQl@8lB%DGbQH~*c(D$`t{1S}%t3Jxa*_9F549mtnOkq&I(5V%@NmY4iJ*rxz|09Im1{=fNE~t zy^`5G??N$k7~E!?CRd^A_QcNM+~oNj0Yw|ddjP)Qrwm_jQcfOIIx3!R3O+)_ z*As7gaMNO6)w6rq&hzWNu!0TG?xd=Z-D5oyd+|WPw}rcbsc90CkE@oA*nw=s@b=Wl z;^S-RW|ySloxrq7^O>?gPH-jseEOduRRR*pCUT8%CnrM$h8xSHmoM8GUlr#1RTT!L}5k_sEf;%p(y4++P1d|0< z5mf4^&?f($4k!zMAZvCwj^|do6>mmz%^@{vsRADPd&(x(0iLs`+G47X7#QxIm}iq$ zl=MDUN844S=so7j;ZXh_5MoVaxsY+R2p2o1oNT@FcUBC;)Estj@O-(> zfNt%CcPzjiV~wVus{t+RQ!VIN969S)-V%|1VkE^F)k1!VI&laqdVCkts-gC>DrDs0 z&Pdi7-BY&Qvb+qc3lbcsxjLHv&CX9{BeY)Gumg3yNgorW_$CYdecbB7u8T1%S5OsO zsDx6nMtxUP9*?Fh2Q9#ZrHojV$VuU1Q$IiT6f|)Ye$;3o8o7E~vkngj@!9UlKw%&* z-IUD}mj=&{eKiY+2jbIcuQW+0K!Z9Nw_sTN9KNGi9+2+N&Z(;vZ;I^nWXE{9e$itqg;>pH<zZ4MGoVeM4%QUJn>?A=|VTn1s!d0 zBdf3}{Wl#l+^peJcrwaX@DOo^2HaB0FFrKd@C%3!Y4!VGcbf0maSzzs!|^ zfQ|7#a4Z80J@bF%u?#G%jQ_Wg3PmSsZsla+KtLyIW#D8YY+__+1v1&oKxkCP4lBqwP@N*bK+$NOJ&Ol92(JD1ieI zB?CYP1}0{v6c9Z)b!%$0iJ=0+*8Z1sw^Tett$(PUpY-z1Vi8K zFHl_kTj|!!aQY>FQ+a*-Xm3d&VB6Ph1H)IY$rInDuLgPSue#G*R1^TRlo7gLe0h5@ zF7tP@fw8R-5W=$^Lo*Wt%RAl1+{(hp<1hNJFG2!s$nP1U+25bo0GMA$4bDgn zkF*R5^^Py%_VoN|KE-dY8k>*Y$9J{DU*+FLsJq$rjJ3^mx1ZdQUzo>Rm#2k;0w{}x zrC+T;-%^q5sB0PO>nXqq+FuHbGvkNezTQQskd)u`{9ncQTUkJi-$vjgLEz&X>r z&(#F_ugmw^;!j@%LBSWiohE7NEC5YYQC0wAE+#I&#Pr42Uy;?dQnd9AtU#3al zZ{OO)^77DfhNq2&ZU)yd6%Q%(;9RqLD^m97t0sS{XGY??3FX&l)`a7{;P9V))R%53 zmmV(a9qBy8+neKUx|t znWOB<+vjEi&*)TIQocf1fbJttqQ zeG%0gE>!-+N~dE0Bwi$J^=gI$d^Ggx)PKHI6yly5ZQ<%k^D;{)1_4~G&q~@vceLVr zWgwc0#lm8k`4cVG?JV0LUu}U^jyIFJ>TiqgH?-dmcwDww@WrVV3pXPQ@?zgw!6-e# ze^SLU!-kNvk^56eFx^f9IGyKzsRYW9{ZC^Q>EhZM?qoVdc>YaSQybtL(djX-Vs3{s zh37vS>Pp90@B?GcWWyzU4a>z^PBC!vKSb}6NEKc*url>nZk|eav6ub_zYC;07j4}p z>W`zL@yv~W+pc?7Td47W!Rtq2s+f_ZUZRU_1EOYwulMGL8~!o{b#Fohz3w`QSD1b_ zo2u`Qg`#Ey#be5}x-D{@7QYq;D5F3M(Y>+!8vZD6QlK=yg_n+3;uO zOQT-$hzxZoTbKyHt$C0gi0E{*zX)AdKXAw!Z)Z03zAkd4(o3fcUhGEry9vLfCc1XH z@DNS)kc!VGN(CSuEh*flD7Y%A(?=I{UCt926-wJeHY}Vl0R6|w*Ew4T21k7?UWPLp zdVcL^h?#Iduseg>NAAu)rN;rAlKU^`zy9mrWWwk42H}(^u$DGHTbAY~cS`)y$~OH^ zfv&Q4_uneVtT`|-tPV?@M!RP1BKK&xRuJ|Rc)*Dp8axPxF>xb+CFJx$c34|QF7E(!5@@lfYe^-d6SQ~sM~n{-ocL!yVS zxW=&*O%Q;J?bW!DCnqIuWkuk&aTJG%>16_EensAY3qxFM zTPCk<86W%jc6p;f9%^lpd%uL%CWNJmZyS&&pWHBZ!m)dN^EPZH_*2dj{j#F4A06J{ z#i5$4slsN~NkW`>nkm*qY+A8(pj+or5GWv6Ne@#EYdpw=?HzV43oIb#r44XmKt1o} zO0)a7<-^dbKm!7uVNY#RP~%mDMj1f1P~l#7U@h~^v}3lrGGpYp*VsdGnAsrZ#oH}X zuc59MS>#rHpPwVHmxS6 zn({^=iIVmpS~n`7>0^hOJT18x-v1;?7l7d&9FM5)C)*QUZ#RNhBCqfDiO3{#Y=A|u znsa;@2~dT^ADF>yPGy(%d<~G(xIJ~dJ~sFaKgdzIZq5u8sQxyPC`Hu$EbgQl`%4II z@0+P`Va!eQeh@TG@6Dgeduq6x)>wuWb>cdC0#lBU9;JrOhV4m-{FRa4?lLIy@Mk7Q z0pweEqHQa_1a5uV?lv__w*{z2yCAAXAuToYCwlNRqm`lMrN46ciINSS?R`afsmwNC zVf;I=;VPObb2IBy!G?e}h$w5fzF^2Ay*{DAGMaWF=sS0#kHNn9M#dO&(e23mVQLCl z7`+A2@g9c3YbU2Of^whgf-XkTyC0ul&GlJ1Yu$9V{$ zc1&zW#U29IxPLeSJ`%Ryk*y2oP?pfb==?ML3c9Ns3~AiUrIy}<(;vQ{JiMNJCYeJ> zMXu;!yP_f8Q)K^%IvKtI?;S)4iTJZPCqez?0T?*jMJN%Iu-N9kK8WV-#3zOy&a&)c zxl!P_9z8@hn;Xz%iXk8p66xFH+;y?J?2 zmqKGTL(oSreUoakH((FKr{pOcwg#$?OOf+!B*Jb0Hfa;QeX8-=`U(>Jti4~U8~|9c z-SNh1-aU@JjX@Z1Ffy$v3WudbW{pK*H8&ZR#y==t7Ev?sv!k~?_!uSj8b~ZyG^H24 zy6Og7KS1`tP$IT6ENfPA=2yWcN$o*Ph_NC5uTSpqKF{82Ah2OYQw<^+oJz53m42-5Ie^?+^ zG3^$>VWAWT2^@BS{T8l0O9YmJYJbcI_)EuLJH2B!Zj~K0*UEl~l$kzW4-XZxN--CA zua|osTC1xiU)It^8pa*o(#988xEeV4=G1mK11i-=?Va z@lC%i_@dG-_20NO=V5|hbWo((9BzFd=6y~F4r8>InSky}=ZccU6w(&O1WJG_R*uFQ zKHe8EOfn7ukbK^@$ch8Z35a7oKu%y9t`dQ#P6OMzLxOS-N<;XzoamlgIaXtQ>^m{iZe zQ-SO~zXDt6(gw3Y?_zlwp%s(G3pHZs&7taHGRGxC7)*7^D%%pHoFc=r_nYcuI%+pk zHEx3)j&low;1|@>cy>}3KEzpMJ|*Drj_Ebu57+c{myMZCZzFG$t&n)vd{R`$-!x$) zM`C7bPuY7vKUMRh4Oc8T$Ko90~h*yq{0!Oh)g|11x-tdusZG zNtRf7DnjNgQdp(;KXUozX)R)|6$esz65h|?YOo@m-yu`yG}Nl?Dr^EO~9KdCA(~$^BEX_P6g*bIPR=kA5jB=^V>O0+p&MCNg<*Dn! z>0rl$ub$8lgM%(js$-ubB?Y&)I6Gog>ZH-9heDCF(Svmm;W>e2O-bR{cdc38`>$rt4a$Yiulv~WED)VqkP0U_5O@!Hwpog_Bm9PaxWrIm%40s` znr$9-G0?wp9Tl3e_9Oh5AMu@4$1$^}CTw%b&9+EP5O1|mSZLgigwb%D1C8T~wl zNBo(8wdK6|_|C4kdq0GwqvCam{uv2#vzvJ#9pocV*Q?$N@5kdE4W8P&)cJEmT>Uh3 z-72w7kGA&Rl;G{Ufkj{+V)&79C=Ygs&c|50zCjBog`pAZV*86`TO`KjbgW)SexUxU zXkLUkIwzeK#HkTT_|s&P8@mIZZH zWW7oe!jR1+H8Lka536Y^^=^n)hA&`Sp`&xzRYrsvAI{I?o4Mu}I|A;oGuxf}U1;5( z$x!N+fHfO}$Z>5dFAF-LoZMC*u_toJb{<-nc^ghk7!wOW!Haoc?X$2XAM3uHXkZVB zrW35PsYW$UGacv1lv8J@5#c$X#vxqf-Sl0s4tf=?hzsRh8cE4y|BhpjFx#pNs-bRL zn_*1cdo}-jUw66RkJ2dVCPne=kw7c|yA$c}h3mm3W3Q^()LtB>E3~RZC0yYGS+u~z zuzaR2ew?)g$W^K=DP8He+zh__iZoI~A4mUvmMv}7qY?TvOND|#k)yyr6UcIS1=&mZ z&SB}>g%Hk}K%8P`pGM^+ax1ez!N>91z7UxUSTe#~F%d~|fiQ2BjbL0aqWi^Kl>7_z zSnG;d7Q&ClxRce0Rup2ed(Y8C+Ls7D;dD-E8hxCU)!TQAMvyw9AuwN1d%NOXr|;0xB5A59zL zVHj@lBa<*ev8|18`y_FH)Q=8vsbXgJjfVSY6w7+o!n^KHpe3;YT^|e+>Pjy&n#Xl& z-%hdfWo*A5Aw6p(dRRko2Ci9CE%b)?AfwX984(igK(p$WaH8e-Vd9KCJOt)IIN<=E zU__|Qzk~^Jx-)ETdT};*GK5=Vh$c=5L)ij~y?1fic~p+qB9toc?q-aq)Z<$j`G;~0 zb?j&)85`Q^eBs6;7EwI5{Md6z#0E+smG3Fgf^;y$D;!1eheYu%g1-rQN@h{iJ09NU zXgn37cD8~w{J}rP{`Yh|xiR@FgV8PHB!7HQ4Db7>rLEG-5tS%gh5zTneBZ!{8z|cA zPg%!hEj>1pC!{Fy^p2lSpx8~6J%aww&rch`PHy^-CAnmu>T%t{o}e@gaMH-@`*77# z)|0VpmEJ%HYh#Z6CL}r1fOg-Tq`8B$7$IK?fv0e@)tE$Kd0Rj~_r`s>!WS+`0@jUf zgc@lCnAVz#>;X0-3)>bqfbw&W+vkksv)Chlqz|p6+I|8!&~UBxF)0m2$$w{J?zgtX= z+=9qHARSMhjP-5<-av6ZOw6O3VG$Ed1vdqMB*gfTud-4V8GehwrPJfefUx-bEDD4F zR_M-=+y+1TBX4~HOMNcRfru65{Q#-eOwkt>aO6iAReG*%8CMwS7_odiz@aLo6A|}7hd0`Dmv_L%h@m5lwALv2L=CUU!I3Ckj<697>_nS2 z=PFrnrz5dLXxW8BRp@Tp2;VibCugNh%px!C2I6{2h^((+MZs>9s7LKI0!?Qe>&2k8 zH5smrbsKqe++#olC3Fj&gyE8fi!NdRHb|7qb-J2MwNGt?$JK zi)pYij0@m~Tvb_qm}l6_(*=%i(Ha=7A0s+E6mV|ElGf7`H-oom>k{d23Lj~2bU#|2 zm=lZa!X%f|eTbO(fHrif8*3Aj+qaPBZW}wwwo&clvhH7HoCgng7z#asCE|M98Arvy5Qvmdvypd0RB}{-s`VWxC1E?Tmbq zC;Ib?okbU0uA3BtY zR~&eP!c%)tL#iXHWGnjO0*$;q@s++fVvG9*2g1ynIT zczRFD%yhdy2ARQHXFx{!h{2q?q3(E@g2}aIDt;&%9HW{07zTPOx+FvZG1tUWfafn6 zR-x{wNCnzCuoylx>4E&?;qdfjm*EzvVY4Vd%;Z1S?o~k1lqVF90Cf(~xM(Gsv1~~L zYttU}BJ+V^HuHIL8Un|A3hV$2CUf*dyaFDT=GmW8qm}ii+D-^yNbi?tB9Ue@SHanQ zG;Gz_z!8{jOD-CZoOl&HMqOdf&u~zsLqCK~xUewZMaLNX;8T!Av9C2r z9>j|{cZzaVytPB@TpaWA^Mnr?QFJPj+iygOI~ynSiAZ`78WAhDqnCoxP>3XDHlS42 z`mlVDJ;aVcf>-GTdS!-#{pUuncT$rVRZLRx*CGPNbw)0aQwT}#WiS1bO6}BntPNSy zv!?!-QOCcQ!DAK*gtwfX2wH;i4<`+7&9xd4$(o~&_B%2P5{7ubAUql*@UwO^C2N(} zdT_zel@&_Sp`%Z^jMI#rqw+-n!zyp`l)nG{8c{OrJ=iO=y6Vu%^LdfROyEKo=24XQ zIe=W__U)^s+hit`9bWldhkD?nD{x_mR68IneaK`u=RJ zld({rc<-hZ&V+05+?LR11~IUA-{T8s6M|-P{BVOKVE~vfFj4N?;X`Wj#Ruh4MHZ)a zS6xx6xJ>H!m!hlbSSmv-whwPq-K|Bi?ZxN#7&d#FH6mSKnfXnSk*N-sYh`t&a zFex^H)jpT|w5x5ICDYUJP-mhF-2{>r!YFv1i9b-u2cUx3L0m1k9T^-iHq%9nBSczA z95HvpCkfJjlXr%W1e6?1S0JHlm4L#saL2~Ylw=z9Y}XJV@-GL=YgLlf6I_W|gkxq< z6BlO*NX31POYMBd&7*aLdt3cFtR3msB1R}P;Z}&U83NQq7Zr@3k`ko_p;(=W` zhtl5~rWkD;GdB>!pevQoLq|H-$<_R(D>KoDeBe5FJGdw-m-}OZ#Aw$5(^5SMCe@`3 z1LfV7Yeu%F4|X5y@VJ)cj!uznEu+CvjkJ#AfE{rMMX_XMvqVsA3y9&Uo(ZhIj+Dj0 zA+O;{2$aZeSIpsq^v>ox&@+DwW)zo-zpSNsOynrEvm9~^f@TX%yX0*nM6mJ6$t)&W zZx2y0q&v+O6!r!FO@M${sE_A@qi+uGS|P+p!>#q`Kr-c4J~wWCP7#)FD_i!NREf(x z>N1X1esrXUhmjzZWewQcwSMu2P{9k?`+e$b(fD$lwk4a3PUgj^JjSaeBCy*L@61Q< zKwS|&#)q6L+AFGU_PLLml&8oPF)bm;!m}E&wBslA+Lo2n-ePo{#okR-8er9)AwSjc zV2m7%Z6Y5VPHo-G5^yTM@OB%sJ=ziv&1*Ki%<;OL+pLm=D_@ULK=V)@10NNtiYH=D zHd^U{HL+Pmh0+5MFk1`%V0l25hYL;WNsAwH%{JkDWPjXCHFxe+1u%E*>vncTEHQ~sR}X(DVv2Pkx9r9FwV8iPTOKZK>(VTq|$ zmlzd{sKs;A1+o${biH1(vpyXoPZWcRa8Q)ocqr7gf|8YDjN05vGVfM+~BP5}&CQfB0UgB`LOx_-AQ_QZ;U zv=4T6{W(>Itbs>w_R?IaoM+X=48C_s*P2e# zSVI0_<0HmAMDwAX=#5=U~5R@!?VKtpjO z$;Qp_PFeWr$9{cODzloJA$pXn5(6-c5a|xjE(oxS|BAZXb@n9h$%>!cD=UuPV~1Xe z!_IXW?me8(&!KA1c6L^U*g^Cu@{W{5J?GJ3Tn>)MCKc}m3qZKh`&F+E^-l{)-v;k`!gZQ2Qu&r zo4vS+=4T+x{LEY#+h8@w7g2;iaXFu#0JT8v3P9Tsd%gOmC-94&vQy8z@7q|Z_7Ue$ z`oSS#t?N#%CjfcrJkML8JlIOx*bn@Q*{mo~%iM%EpiOoq{dEJ_zeQqWp!M8(X=e=7^eE)+0GtPD)7An=gBN; zs{Wn);S}6v+y)8W}{ip0mOYe0@7vY2s zUZJ0%rSfi48MEAJCs(MoeS4iJi@-hD@7jP1z2idvD{ah_)Fd5#Mc@F<3xjQ_N4lUz zbvC6|8LvY$E(DFWrWBw{O)6ngi&1iBlzwAT$ z*yXd@-MfRpy(DRkhV#I>&~=>y6L3tPr_`imj2Gt0lj?mz=#nBwIl_BaB%1GUa>fiz z=zq>E7RoAbfsya#gyn&dPU){r(Pa^)rPG=;AXD2D^}>&5Fz_zes6&Adkwkiw-^R+R zQ;Lu>{sQsfkO61F&oh7x%>*QFrgKYEZFkQ>*=-7GkZ^jLH>N05`wEk8{mt%!wtG$E| z&8N~|>KR;}2NFCxk+FkvEX?Pkf!KDhK&>uxkFHCZttffor4L{K;7>?9vml;W1hmlA z2b9&VgvG<0wU(H_TvefZ{-7dWhB!q!_t3S%1l`S&2Tt*k^h2%AcmbKsgT!3adbXjF zfgl=y{a!AgimU!sr#=e@W~7WI^>lkmIOxmUdag96p2p9dkT9=>OkE*fAf+hr z0fD;65Vx(s66{&c_cTw!ir?tKR{q&wEmwN5%HuamH?3xoS02=RG@ z54Iqb>a*d`u8>xsn-+iLq&Np(Ttg*1>w2P z22M!!MG|fFYOt#5qiw*}T}IEl4{T|$A~?{^ah~SHG2e=X+;NYWZ15Aobh(xxr|FCf zh1*9W7%M*JF+)|E6DwXBWtz*{vgh6&J`)ItTLVS-a`ZX1l2=vRpRia`JYw|TrOvPoc78^+Sn!s2ak0{R3smGtCOs_tIK!fesR$B}g4ZzomJXiKACMvQ=k z;i3;MZC2{-AX`{#s^3=jSaJ8QPBm2DG0x^KrEW;P-C}i8fz#>6h^HrB%goT9k8rX{ zMd(2kX04e|9A^je$-wDb2}W&> zB&+UBIDJqO5*#5ln0Ks(b|f-VC3_%XYDQtJREN$!*##3M7L0E@Q*H@`Ppi-|yKBrU zK0jKxW8Q#>L}hNKKx8&SBQBGKA$%BCmez^$!bWA4Lm{*s=-Sx@oKgeDBG`f%Af@!` z6_PqhgOYQOgur?fiC(NuvbDv4+((QdK=^o@K0o#3&75>wN;4)BWIdI&Nb8noYYRW6 zy^@V6IBVuI{2Zq772>&0)vdQ`(OTZlE^DV^u{m9R3^uDEosBd#_|d=SO;pZH5Gu#g zTX$+<(pJ#B`H;D=WGI$(1W{tR4zeFsnA1AB+Xx2{7xz9V8mwaMd5yMm-Nfk!DKS9` zK@~+cx>qd)8|E1e4M6w!+OP@!oLa$}XA>$^k@n82NMNcPsMj@yPK#zi}ra^O+UI;3pTZk zN8dbgaK{DDX57cnMTQ}Sw9`NsS`iwW++T?`G2=>XNT=hnsIiV-NIxe8^9+TL<>7M1 z&7R>Ty5q5U+A6*h*r$bSZw@X&)%G$tinXAu+Ct(xydPhHO)hr@Hxg?eSrmLY_{WO@XvxYMc<6+M4BmkTju8C zi+h_-93^q0@=?P_GqB~I9us!@*S0<^2!)~6x{)`4`HbL8VFTj_TNX*jCa@x84UBB| zlQ%Dx^l5o+XW>!WP-|H$TBYFhU8$XkPRjuGf<5)=%kmtObRHvzC=Y`-CI>04qb_sg zx4J4GDA33DHMb-t&*ZdXU%q3vU}#c1kX^ALL^%)KOEv~Ddz!1TA-&79 z$DuVZoq5sBEb4z^)9f_y8n(t*M9(ck0)Z~Hil8Jnq+5F0QA{_sW1MSf?;bGe`LfwA z-OUt|OO^E*z?tqjNSkAFPuoY)|A0&JfVk>qg z6;&u|w!X`*EfsRViX6dsqJSIt3An^{^XEV_ zfQ&lIqS7!y95ea|*pb#kfV;$6gLbIy#I=2-Qgf z!)F|Y5t-i`K~nQF1bAj#H2J9n)(A?1aQARMe8XzeZm#fVs})w>{c>DhU2w4-gVx6AnD3X=<@1u!N0b#b@+_I5Q~^z!)6_+ zVdkvuk4R(Kp0W?erABXpNbMM5GUzvJSHb)-LkG{Ho_Ftrj`)kW|3J`;&1+NAc$bMC zxOmp8Vp-Ha7rlC}RhPe72$b&)@TYDl=ci2y632%| zZ5(4E{-zPz)sJr+H=pll6^-w1Ys)_e!yrx5rZIA;++QkLaBIx@mJCjO4W(AILkgOL zlTUb6B&~{e3$yZwur>AH!4PeG*}jpuyRq>B_tH_m<0NK6qMZT^(glbg+c4z>S!QLZ zz~{6k>znEvVT)wAu75g)7Fa@CYf#VD;#M6>jwHa}lZuKelwP+I4>DOBL zmQH6Fi+{!la#fcBmM8&^M7df@fv9JC+{2Z-Bnc{}6Y%9n*QFEvwPe$Mmq?&LB*8bN zs{l<34@jB9*^S#2{iMm?-04Zzt8;{u^_>;e&nUC`(L_pj+cBkh)Knpp7~^iH*|Tq&nLY%B`7m&-6CIC!pT`5B$|wAi zb@QG}R7gdCPbW_>PJ@MDb*H&-8YPzDsKL!3IradjxGG5AW4K}6mx_mN<#M)*yH3S> zG&Dkq2X`26LN$Im=WJFbn;sM$Tdmr&ucwq8CiM#G|7Ld<)Q(oGv@qka$K>V}v7BlD zNsV{E2BTb40BPwofh&vqvKZtiE_#3Ymz65Q2U4iN(v8UUjk7yUeBS}Sk6|91jT3X& zAgPuh8vOU{eW?FQ&N`Pox0jW)3y!yp@j|qNcB{a9aHb<$fT!b^VDF%Ns_3iqms&1a z-a(ZVAxMy|G8@4QKAq>~7CvS|#y4IvNx0y)d=h+jk58?V!GY4Q#psiUQa?^@s%Vvz zKmb+ZD_7aiZIG`g^D?Fe&VV;SBH- zX5Nii%d;J>ZHvJB%tE$mVGI!^E80sCoMrZTFKEB?!9qO~nQMo{P6iaMxOPW%`Sn{? zE0w+-^r-=Lm=lwFLr7{BXCSu`<%-)7i_s49VR=n7eHYw(#-;>2PZ6#Zq;0vzP4@Kmt5_%;f(f{7a-W$!o@LTQ|kjs>1 z;JfanK^6?Qb3aqA2@Trvru)}sXbml+lZT2!^2ifVM^f3Vv16g5-;?PC)PLF4uU$F? zPyqNjbjkHEyJ3B$;Okcn_E~%Jo4T6qTdno*k$2s7S&y|C_ z%(d&E#*w-z8-8V1952$qR$40av10UG`jxY9s66F@I9eN+mZYb(p9NOkm!yVuLhaOX z<9~QR0cBQ3!U6kO$W>AyuOt3AAsd;#rEa;T8w>$qKv(M8bN_h~*9Ku2LX8TIF()&E z!!C|TfKzC~=-5|#{EG<)Bp^Bu(`2kZ}>P|)&4HI+`Qd&(f1B7E!(3=PFp_b z=s=d3i_-dhb)F;Aelj?zEop3F#LbF=Iu;G;x6kc`vACrxYc#tyn}Iib&qY$Xy}cH8 zyZ2NhCmLlxLu#Hj&&_ga{*>k3>2`j_w)&cy?ooJ@);|0lAbJ-v$4bRONNoZR3)Q?o zN?z0a#yl<*A+;*4(XClA4;8p#3tu+6Nu6zo-}6}FQVikFdbzwpY89s8@pIAIoPNyZ z-UD~T)cYc(F(wvbF7#KvgJKhz)L8W25N5)$j)BvP8uG>e2uDR%Z4L#$H-%=9hSF05*a#N9LTCym!vfflk> z-Vt);By%KSt4%kWgdqf&JR1ZQaQO<~kdW3*MUXG9$D?O_#`;NRZJ1P7&Z21hE6#o! z6QmC2Tk{bcXpCS5vktb=UkEjv36-XXHM?SVwx2Y2wDzv`RZV=Y&YUbZ&3m$w@*HJ; zLK59TK-|)$L}Ew=!@*K!5cyWqpDj2$EA!uC&_sLU(_cLKd8mQh1yC5ZBO0`Eaau!F zYm;i;LD1xGRB@zW-Q;mU`ZaMbA^)MRGz?^onoS==v2AB)WR=HgkG%=5zJe4S3Oy_Q z;Q_`7FU=kB5!tk`qB;BN)Eil}0i!wC6l`Okd#Yg{CXnMXccOAAA;{Zk+Do||W~pI( zt0Re7K+gBw<&y`9h^O=tP>^6>LK8sz{c9zWc`G>zJ?Of=tZLN{c5$Omipg!BUa6z^ zmbraw@FK}RG?OLVw1H#|5(0cdL!-RdSQDIG%sPg+$izSRgMdpU1FSd+i*E(Ex%2jc zCJ!SiT9a6s=Bm)N%4}+H_sox2u);3nTj<4#<8gQ&;X+pJ)*?UI{98n>M%kp{FGh0M z=MWmqoAAy&g&)l$*_%0fG=mt`eqxm2J9#V=(v-}D1|8_(c>S4xE8Uu=oZPQuI^z`j65iAy6kl3 z*fCUfvK3U|UJYYfPpmaJe*)9>2GjWT$z$5?jNgCZy_REiX8V9n zrAY}c14OK_X<~{x0#uV|o1_D-)lfRXZP!8sFeG)E0oxhOT|`eJ9u(0_kaNcR6Vvqx zexpxR<^8Kk6j+9)7pyX__P{9D>m1_e@#q@wRXgw0TR6a<8wW{iheB(fOuxT6UJpkL zn9l{QdF1gmth<*Ztwt$EtKVWy{NmikFHHl!BEDOrBpM+!8?dkB{(Hlvb^?9b8F1O~ zK+C7mGi_ayRjl11xaz#2}C9OnRbEGzR6 zlS`4P3n|-8hUi~77|Or z(WE7p&P{j{Jhs=tHDh9YOfRs>$Y!LA$;Q0tv=Fj~x05s05Ir}J_V4|M%5}&2%&SOi zrWe$&1!d#|*JJl=R*#<$UadPP{_O36N3lXbANz% zg3qu?i2F|y!bMr6D#SRfH_K;-k)if2U2Y!}d300sNXmHtH9QIj?t$Lqn)_ieIngl9 zn;rp1ufDyg$U6B5-wF63%DI0P5w2x4Y}D{t*xe}35sh!$ zBAxTDbvga(etR#W>6~lrB5kqfuEM(0;ZGbHz|}>4OGTm|+uWLN_Bo8z`0Jb;v3Su| zcc*ErY^(kf93%&XbSkQ~KNqmC@c7njA#$V=@oqt#SyLlcb>K?R3K?)YQliwoOH|@DfTj28;81CSQ)VW(v>DO$p@$==2fn({ z0ua;7R9%qO(p`X|gKj#RYQN8y-TjVTS*-r*U*EeKK14KgBfbv2Ut?U<=@DdgZO6x}Gi?kok|VX!OiZb$rzsf`vR zq4Ev3y+({1Qf%f%QQn_X&`)eAwCV?y^j2Mj6q17Z4!MjO@BM7`Gd|moPuZL|I%QIe zU(^q!-jXkKTi`Nzeg{yW7pS{EuQ-eh&~;zuY}B(&{vYzaV2d<$wN+b|-eDTmHnO8P z=7uHbD9-r1EFa&8c>l?OhG;YY&8lCfl`DnAYEfX0iKVKgnPoGRT*T!!(!`)%Z~fcRZyzCCa1l9|4-}Q^@6C!r zO$oOhBqKm7vU^yhyB-*F9W+Gteu&>%w|g2mMTAQ=1yJn?Lq=?zl@98d_olRGg&K<+=an}ckzw-{%D^B|;znS$-JO7|eF2E1m794D1exXT|%d%p@hsJk>e~3_4 z?q^LnPUUB~X%+sa{?WBozRTrf1?z|-bUm#r3Ht=1XZgIg&>stlaTps2U9E&{YHtOW zsL=a7vZLEBdZu`|1lJ?m*eF10^;REPv@Ne&s0*7UuoaAA^gtW`1*&j1jfV z0`mlFE9DDKcTe?$mR4I=aL@G)dd5f|A`FWz8o*{3o>pjPQZ6Z(D7{P1Qq?H9U@R8d zV$OhopkGmaeNs*Kt@&5dppjJPFPbaq0b?EF$=i9?ZHEHSK-S!K+Thb3+47kyLl?_K ztA%l+7@5Qg1^A-7-61#dPSLr*>IBGfTrG{@W5kE>uaKTvv%&Whb0*)~pG<;!q29)| zK;s&XtO8_8+1%%hBze{>Ei@7zQoi?$Y2ph|QOjF5aS43=GE_`ieo-1`=|sp1UCZCy~GOQ!tTSoddjoeD&2#Lrlpr|J5O(NwbM z?1L6D50eedON;X&BQFI|IN;fZ0K&!cyJ3HWFuY*oVSLEc;GArt)TK13maqq_oC4Q= zd&rm+OyDb?I&zvFI9b#aJ2PKWio7sLRYW*}4PdBqdIHBP#8I;51TczFW38*TdPWR% zf2~2}-I4U!CZw`O{xk22OmRRVc7T0r+el_~Gd){OpS>ko7=j^DN|~M013JAZu*Z5& zd76!)+}(?S|JA-uXW`1nS9tLXN3!MVTk`Qsex2auV!^Be&|L*02I8lPhx1N(p(yxp z0dgqu#(L8xV{0J{c$PAbHWNuUDd`(VXpW-r0p`u8cXh^MUF~l9k5QOvsEb@k$+i3N zOqZ5HZ)xBI4%>>BF#0d!h`3A`v;O4Qt}!X3Jg>qYuB&~iBz)jhsFf1*ss`@AE7Hyg zDB9QKeXYP>Tp_>3q@;<4-L%I)aI+qAi2qA}{qO(TUo$XqaQv?}`+xVa85!6){=fTc zMqeJs2~$Ja_MwRX`s<#f>vZJ*>T54U+3Ww-y-vGMa~&@#J}=)Fx;>qqFP@pv z;?roy#fP@w#>FPZM*Bb%QIHl4OpFWw80YB+6XU_S{-LsHtptcd6@GY)qgnv(KZ5PXn%{x;%{*P@zC=F7j+Cu;9A)KXMPRA1UN4KZ3E81;rL?$922ws z+ky+*f6d^Wn zcTq<$*7pg3;>Yvf1^{IK8gpuDPGD^O0iX=Du({00^MUzSS3%AJfFL$BvjBv5vi%8= z^C$e)Ls`*QZ~ydu|CmT}VE#S{A(+0d2!{Fyp~V=X+43U-LzeWWWMFIlG+*Fr;lAJg zzOCl_y8dE;zJJt^wc=a8{@}j5rumM}QCV10Mnua0yukjFMFd7$$0&exh2Jh?M^2Fc%)CC1wZTT!R($fK( zr=zU_L|J9g0LYQ6*8Ygs);9(KAsj!)Ui-Sf$^Xu>{rTDQ8NVL`YZ%?~O(dP{Guq4t zoHLcWattCbGy3hcNcrf*Kyg z3*~n}v&)DQ9hvVgU(iRo&pPFMpeb7JSVtY@(+t*REvTn{p_GqkFgM6o6kkcZDGs9( zz)Ea-=Et!cq@3Ic93*$}%P%zX_x!n*RmPW21wQ`6z~r{35C}T}wf5*Hdatt1(mpnB zLd;KYw=r7{a;up@6}S9hH$s`MT7M?9DNd^pK>uKNk~cJUrvgS)pa{)KC37{Pxb*sL zYCdzTQY4Fmgj{@Z6u7I#+@vcj$YL^lP|AphPCA2{_!|jtQpX%qPuXz_mrbpqib-0_ zWew5s8Rumi#+RDrUQLpWqR_B?xd6m+I{YluTC@!j``HxbCl3Z~s2QbLEL8fO8dukm zbm8heNH-0m^o8k!JYqjXqcp60ml+^Q!st2Z+zqIdQmY~BDyzU=&qcwG2ikyRmP5Hi zUSHwZ%*k(kWgiBG3#{s+k5U0q;B@4w%-XqTS z%cSVwUC>0;H?b(;BJI-R=1Wc75*eio4XV(6S84BEsiDXa#||07o157Fse61+`I7)9;-+=MJteaK zgQ8;}FuLW9?5g-Rae652a3fBbn`aQFfrY3(&^^n7Gqd6a6^!y`)mNDtD= z>OElSov3zf65XCh;oxU1J>{{U@R2Oua1E)rA_Gl{ZmAH%7&p>24qJ_%K*}^su@{op zjhwm6xdp((V0-2;4!*dPh-HFjxhmpMoY6{u&s$REHdGwX0|A4OgxF2%YwVtJIBZkt zTLx8qOe=9fK_GW2r)i46pU%5JtPY=dH?Q>UIy(n#WRw@DXC>n**vDX)HATV2vQJht z78J`D&jmj86%^IwQh#_*f==@59W{6URLpnzaKvM8{}jP&7oJ{9~ zuGUa>2X^RdP#-;V?Ra#q$CMRP_FkJ0GVg3^LOpcO+Z&Sf0kT)R=@C{VZJISB&dSbe9cArn&O-U`-f%8BdF^>ZnpUk}x8vQZF1Al$J{= zOkD&=2)8Lz^#v&w;Y*C_!tpA4Ep}4Ta<6YG)X|ti?EtN-qNT_vwftHR&B)B@m=ge9 z^YsC*(S3d`KnTL3YF<3G-BL|{r|-~$7XEua`thFGQpm9`#u0S6)9={Vm(r(K$$*Yd zot4{tcw_*TC&zN?1CLce`eB@AdwuTt)=&9oo1gN@IVK$n4-M@A!;oIap^uI3JPd>coXGNi!ztJ`5!(X;!-37C zc1-`5W1XPCbxMG1H;P7$4o$CsgwFgg;0io~7v!nYL%_XDsvJ0`>KxT9qEIcq%6JD7 z+IJP_i}{n&FlHMMU7#0u#<{ZgTtO$6>Nb{Q~s zIeb@k5(iPR@uF)l^Hvi1yo-bSai^E?i6fQZ>wY%M#6RA`;5S}~$hglCrhy*tWRxOL z5L`^0TjZnx?2h&}vdUMG|GH=@gIw_7*k9=~p7Rm@V@|W|Tb$jr@ZDz2+QE21sy8+# zTt7EYdc z&iHn%tu||6!S}FJHeFq>-gu>$y<-r9EFqroQ{?7TKYCDV0tIDa^r61_{uW9Yw|Jx1 zj24USc_LEDmWp~%9Z83G6mlKU^O>x0jQcKF^tCEhSWKTJjbf!H_GM69v_vnSb~D1}jZ5oE&C-2{A-Y z!4Sndv(NH2Xt~SBs+5^?gGlmB8s=8M1Up<5O%pNzQ>cUUgyoXI(V+##R0P{UDq2Pk zZur$j(eO%_zx?zv&1%6&*9!MX+t%JWgzOQ__V*o9yB5}?n@Uqv?A+L>p9o{^@;z&) z4;VC+F)pRl9f$UaaQ7x$x16AG4tc^ue@_K#hQ<2~U6>l7Xu$Jpi3*X*2m}Sjm;9NG z2(5A)5-+#$^N8P5^{{xdN*&tcVZ6bokPT8I)6%raajHnyth7@9w(;YTk)X?TmOmPIdN8t~pm+^PNL z-!0txN6_G2klB1rgDmC{eXSq9zra;MiP=z|0KkYZi%d5N7YXtM8~a6n=}k+aD~H}i zlLR9Zr6$rEXxQE)gIl1vZUUW0u|6surv1!p#TFR-e6sm4LQF<@$|$aHDs=scwQiTx z2S*6!ZP=sLT*&5`$~rNkr2ILznp$$m4(M}>VlkEZII+Dr@o|r1+ME9-lodtkznO_* z%*^>i?j3-?*Zsc>`g#&2lNmNrPQFRuhD@Ul>+M76ce@iSP6VXB$30@%!n->_hMg)I zAY?+0xQG1|#d40Ey2KIUyJ1%TkspMl*+re{6hyCsX6}5uVjqbn-T!w5QI7knfFGFB zBI?>i4e7?NYZI&a2QE@TXwREVrbS)6kZJGn6;X$28suyLrW(^QxFwj<}h>nqf66^x8c zleoRCU^E{bC#zb$=KSdEs1GZ+i=o}wB5|9fu_QF8x`C{4&tEyokh{sNl;eMJdFztc z#%aL$lxnPO6537Ll8fPPVRAr1$&*^|bkcYkpJ;-`h7{+Q6~k)<8jF2vV59^MK8#b; z_0FkQXkp3xg)?t{aeF-?XHv}f{2z|m2saQf&4NXmmP72X)M?!$mdRC6Y+vZ!Y6P_m zFJ-h;6hbX=uoJ^09OCT$;cC+5^0!~CGtHpjJmHC11f=YJ8d%(cvsc*6Qv_=y7^YtA z;)~BU9qCpwN7R=5EtL2)9d_D&^8{JV8+x3C)A9_?t+> zAutJnn|mJ5bnqtTHM4`Sv4%~Ob&Ip69ZMSWrDg5 z&d6#;UD4Pez+uO9m3c6taXAL>Q;~Hg_j~0<`p)_F zh!Doyf8YRkg|c2R0u(I!RIF=rk<4WXubIedj6woLKjcP!$XMeeya2=x|C0IV4YwO^ z7O8Rgi|8ahpdU5<-& z{p@-1!V$%2rjZo+lejyGj~HnxI;rLi%5wD1yRO1U3TYZgw8e;LIglXz?@VsH)9SI> z5_w9(^0V)Rx}dV`xirpw;8-Av-`IE*-A3xI<8H&Q>9MPGm(cnLZ?Jmk>JZf`!$FhprZ!iU~T59CoND?B%FRYFNa7NM|k0)?KNQOvw{)m zyUz$zyeKcEtR)Ir1JkuOA7%&Np7T`nv)WN;h|tqDP)2MWA}mcT(ntkF3Yzo= zJV^Bz)S(cv!J*l(Vw8a;3JY#-($XcFzR#Ge5Rz}5+-!~}#k&ahs~g+Y&$AR*g1LUJBje7ibN z$wUkB3wFiMoRrAlmZ_l-NlR`pK&8dXQa*3tJD`3U!;nKGl98n~HJt*Xy$&BMahq9` z!y59Ovn%qI5^wLWuE8CA-om4zOpJJTGVbUvnRwGd&+!yA8VzWl%O;5{y&7JT;2La+m?<6PlrrJU zsP5%K!Ni7r!x8q$qUM7*^6|wffxT|A7ojG_g9&UErd3;zUF~2xRVi>+YL{Tn7XG^l zV(0sZwcn8C4>bOK-_6dS4(7ZLrp|))>tZ)q)yay}@q%emtpa94iX+1I(6aN`)$=_+uG}h4 zuYlIAJ76_FOvcJREyqkVKHWB}$C3u7z&CvJPw?tEK7865BoRe96XGdblY|?u@_Gtf zlw$dD4VUgai`ql1^T%PQQIi! z^~$(|{FifYg}LPN`6psi@u7+|uV_uieakq|Xa)U6DtTgsr8}b1?%u)-1S#3Hv^jRp}DLk?CXQ_ja= zIm&95M^9DzTyT@cET5)#RA)|RDkEphrBM2Db}vgG!mDJ&j2J(p_;NsZjM^|( z65TX}(HKlWdDds9ez-nZ)hQeE6*_`D!P%~|%l+fCP;08cY0{cFOWiF%+3RtX#V9YCPoMC<}x57_k4v5=6-c^~#4 z_GJL0dlhZ}cUxdPV0ZEn38LRtCZZ}{w&2}r^$L2i)ZiLgA$u%aFk_kJ*FwT=c~~DzUnuI zu;skSR>tiR6;=_SLK6aU!%kaZTV7MMxm8HEW(uKQu73UWLl-W_5Tj4rt78k=v$?16fGHQ|?!iAd0PSQ$IW$%oBjNc>SIh-b zQN0ZDe6dfXPphJg|IjyKa_ibf;||Ov*S5-9)}1a9+-Tq5*pz;&6w1T5Zyzm;eRx6| zLRvt?!*YUO?Q+lBCH(__OMFWd;rJc^lPt_OUJHme-C0qoKMBD>brJgw1kHj5;+biFG``#ZGl8{t_R9{$*G8G*>a zzD}<=0vbg2i@1oM!#zi54if3tW@ETSe)k(;sFh4YYHzHDWiygjXOIb0ObUk==XGZ^ z9bH+5X?i^}Te-vjHDH_48dQQzuK#et<6 z`*GKnK}k&C9SMvZn-Pos^1j=wj8t?4^dsr73CU8iDi;(p&-xnwX4{U7NF9F)fqTpq zX;b6Act>VO)~}XWgdA|+kVS3D|cgcct%bU{I z5A3c?tfmhe_GgO6cPN#!+{Kuo@c%~0d~% zwu949_m_vv-Ceeo$T-j6LHmgYJRfY?nWe@(lb?Q7Lf2%CK=y^-AX*fi{zB^YS1b}Y=`OMa|}`F zsh9KBj}%KIKh$4XkIapJgy*FwJf?evn|zHA^+jPwNk*$?L*ru7ewNNmPtkL&sxwFY z;6%I;wN#wiE}ljTrYA2B$rD2tj;fff(ik79g+{+6N03f{aH5shz(d_q;%PRs`N|b4Bkjcm*Iqd? z=f0T%S;R$~slDeX&sH($My`_{ycrqzOOA3y#ojQtDUJ@Uc?!vJR6%pJ>C>5Rrd^$U3p&}qrZkE8l zThGl}m?*CrHc~x*1-$C`G;D;OM2;pe|K5dMO0?{>XK@CQ!p%zh^@NrP-wlhT>j7Dj zG~axB@e75xx4}g0DaFpue+zStCI@mg34&$(%-HcYxhIWl01pbT)K@J=XK~JEcN3Zl zxVIc18KjqYhrxU5a8gxv>=(jjO6hF?3+ec6?su#S_2>iDN0Ot7CosE~+P&Ff(3x9&i%$Zenv=&xIwzDXIngaI_7jM|zai z&#!B3!~;BfYrf{YGHOtdeyK;{qqd?G;%gX=i0CjDvJ|r=L5sI7kJf545P2KZtXZId zYTO*A@&}?q^K1{?@NIDHY#jR*Z~dCNG^BJNZfh&RGxee?_@ESosg#_)soEXj6G|WO zXzulMa~yzP6A<{D{l%ysKs|oElc?y|o)5Oeghy)UldQ0@+JnDp`?3-)8^`kbL1Obd z-3IMPSnQ0AOxb2tRWU1vA=6Y^9Hp2UQ!hVEg)aW~EA6K85oYY5GMKQXE3Ho%{61W0 z+p~<A-vIJOzL6BpJs=e*h0aVHYqbs7&!aRT1h2gv5JY5=R+P~w!lb`4ag5dsn z))4ZQ*eyIkW;^wTEX!(Co|9|u_0dxKSM>WZ$>_7Dm2VAmi&j}8mHaDmx=21%Eo>0> zy|=sC0C#~WdLc3l^%h_sP1<;li5B`JJQBmOs%?9pyeb-he*_1+jm)ptCzp_#P?Cnd zHi7)~n}*1MhXylArn#qN9md2CGmrs z_ythZq5|C_ogKhM z)r7$^#IOnNb9megl@8@|@nD|E!Qej3Ul~=Xed01Ji0~X;K@((bHVrpyK{@u8)L?!5 zr4k{svtt(zmA7XWa{;bQ1CfMBkC0(SbHX#F^?sR4#Nvt9@j%nYD^ik&hz#rEH|MLg zbp_okif!&-LJI?d;d2vwOJ(odBQloUvW*V9HpDdXp!@Zp6ffvBf$=KSb_aH-b;BM~ z0l^ksnv1!E-i$Xv3i=t0`oABP&p7oVB-&&2$TdeGj|Hhnoc<@&2n=;1_mY1pw+$@P zYB*`?Epho7G;iL$CU6V}$Mjmf_ShD}V%^&iIP{6&_Q73P;Ak}@UJ4Yhj)FSgV1>TR z1-)N4REQ(S(rcpC>wg!i6ivZiCPd~#ttHAPYXr>pyJyJwG5$5+ZU>r0K6at!i$d@= z;QJXiFFR|502s(>u@hx3;q*ESlv)I9mwOH>`X}5Qv`bf-$PQ1SYwE5h`ERCl=Y4O3 zNn>yY-va~o-r)M9Iu?TE4wvyFex$$06G+ zAk?ux9^RE!z(=8|d$Ue&I`WCx%o2TquPS|t_I^Zhn5YbYT8SCrKM_enN3lO3Bq3LZ z4>p|gE(DGMF9lG_3eILiAVM1R8~5}M>@0iP(s(Q_lP}-2AGWxAmeOAs2=>=Y`eZW} z2Q}Fjwj~ow%ppX3&e_4Lwqto!>!LlD+sbZZ#1aX|XcQ*mNb3|7fd=e0fO1yql?e3> zoxj0iwjnD*LCn}TM$c)>6AFcf*olQ2lGoOo&n|OM9r3lUjp6N=y;M` z?$9_8XD#ioJ~}9zw4Z_B5AY-FlQP}+*30R;wF8;n(0~rEJ@@AZSRuve^FQ0XRM}RAuG)bCwkdG*t{lE$=@@ zXB$WQS^gzW3g=QG`s~&>&P=!-`}(muya~ChP-cMO=&K|AGEgKzI12$2tMr$qjSnM*rlwK zSK@=qC}B+pbg%R^P|b|)TBqZlzk{Y5tq#2VKFM(>#roEE6F`?)?@er{_f;ei^&kM_ zFM0Zkim#BebeOGKN-*?d^GOA6AKnD{^e3jABa3DLqRJ}Q?dQIjS8sfSKB>~>eC!;z z34ero`nkIvm-OB2*qqQDyQp{>Dy*WOkwXP&rqW*4sEh=-D`1DZ;BbK{Jr94eX!>&lZA)u$m}?7hl=y1VqZPh%YaHL)QxCDvo_j;= zplM1k=E@<;B>in~R#`qpg{M8xY4xxki$^bRfA<*Ay6DowFE1tEr|aXor6-l^&w{vr z561pbYaUi%7S78(V|#oRf&C^$roPJSMeLG3nds`K6Ym>X4WWN|i zK%gHcpW|s9$T%2TRo_jBiP%Ri%7@W?e249v0Y_Ny^Qn+}5}Gk+W4G=#R*yj5jvIb> z5t<=}MMQ<*5o2llKtxMyN@O7PKEfd}ozf=(c1wLyWr~)(OzOVPDi1S{;G?XTz(WEu zlO@ZxA!>1gHbO?nws2Vo+`n>6lB`*{4a0+`OvIF0$G8)DE}7RFU>W~|y)qFnv9d8U|L6KYDOe^pCPp@b|2qG-g~-Os*uiXj z#r7(8hWwv)$oT(zh`7(!udPR7aAY|EF3Cg#N|C+%$3q13&qFl3Gqf-`y@e@Y zDDqxMAh5jAzxEG`BoH2H_Yy1Jq|xH=U$yX+TznkOViK=!Y1ff!gB+5#b@ zCauONqk=1hPgMd8%i74|z*Yl3(1os`iT&9{6C-PtBTEKQ<`)0++=u%oA*ZHca)c;Qg*Ty=4iAW0Q$dO43VBz4?A^pLKIhVGC@ew8dNjbGt~z5^?=Up{n9WMgRb zEdM(8_pmsBxuvz)m5sw+yLWl)-;Ma6w*2VKWRPcn(7U?k@|uL4hL9Refr)o~I#`^T zU+gz^t)2dZ-HUhl^xtyG{zZzV>by5=Jv)fUr2|>sL zQ`5r`1}284zz$4JpI`LtVsx>wWUaHmL|=J&KZn245@cjIWMT}~)NW#11F4oZ1*pA+ zqRuIMOU}$6R7=#+{Z)T^*tI0kgil7j!qnGZC)eKX96Xu;L%X}uxD#J#MZg@%9LAEA z7lQY>sMqR9hf~aYTeNSXK<#1oJ68=VHQ2-&4cHOgXE86W10GbAX*4@dTa@5TyCn{y z7e0=2fcL^T@BPv7ZAU0w#}k-Y`}SpCDy$Jsr-h;FVBhs$R|Ezhg537)BpRNkp{aqc z;D=alW_mLWm)&4&KeN%cm`bXL%VXo}V+V;iqK0n!5R;~8B>v6tX-n;B=9+L5S4H-= zzMp*Fc`V5V2)2;Kc#NmKX^3^rG^obJ0#qGO2)X5OtyKgWb~Vv2MH|4B?jv~qM4B~T zt-$W(^WPegwhb5r{Cz;nte5hY5F)fjr*y9Kyc4}CwC+y$rYSry0ct53&@WdRU`!gOF7ho5C^jWNx)4;}7mUy*_2vu6?&I@lncHFGd~a`S_nuwMsK2;b|A7q0mY z9)8Wu3DH719LAC@q20{WHWhk0J82X&JAkJW(OC_a6X5QgS!sWO(UTt~pUVz-AR)Nn zVxkGmn&cGOo?^w0bq)O%8fKn&@Yjj>o5)kbuM;S5M$hZr0eh8|PkSI+@Du@E@wlv4 z4ft^tp^o!fMFqBC(E-`?Lr6@>6$BJZUZmyH4y`7 z7HKp?_1^}bD0oP^ir%0&j6p{eObGNup;PMs%1}V3wA?Xnki(%;RTQESfyfNxF6?pQ ziN|Jv`vRW$9s%il@}*d8mVWCT7rw;Di_SK(G+%TP8KzIuZI74;P^|mAQI0H<$yk)YwpUe z2*D>>s&F^<@az)ax1}P^>qVxdE-yVGLCGI*X#fQ0lu0U@JVyl437t8-FHobG3gfI~D= zJ8H)Mge~m*^WnHLCH%rABT!h<>xeKTe6lb;{#{BkVT_R1dB!c=+-#=>m%?;)LkA*Q z8M9oXGT@>?GO4BfQ<3FaI1o|rdbw)zimogrrW#~}BM10)F%DCb_beJHO;HnWQ%Q%#WfBDHi?2lMNLgf)-5|U@X)bt`WB9ul}y1qN@&ne z$o%Wqme_g9LI9f(!B&@g zS{Bf0xx*$f<-U;}QUa@R^Eu6Xmv&Pg>kt^JYk+Uj&VY#yHlT?;WD8qui?U@P7pdtR z8;2BU+6-d^WWZ0q#F(LPRVyx7O_lbNf@fCViy$Put;EL|bJ25+2Pzi+(fAKW#gA0DS}ahRx)X)H64mtE?+~fL&C7z#G$|JSRNxIY!n#0nrwYW2P5`#lY@psK>o)a15L4dwI|(A1lZMI|OG3maw!Y$mm=FmT0mBXJBgmIKyof@0nLG^-qyVk%1j|cpAvw zJ+y2YO9%@2E#090mX(nkKKVUR#Bt3)CTJ!g7MDT9-RSv7B#kha6fhAw_uFkx;ikAc z3)>Q$co|Vtc7&}Tx9{+j!9-6SIiR5S3rL$Yyrk#U(H1u4uBB=Sei2Ei1+`$iHSH%b zIX40UHbowSkd{%ruY+lqP|~aas%bz8uz1S_`)MZ-sOaxr5;4rZ<49Hzbl*ndNt8>y zbdTuq-t_#p+iLB)Ev@G8SI?ugm4^Jb7>nNeA^M0Z)s$v{6NB9rJoxJA)Mco?*!(np zA_lqCH503+i*3f2#00z{?tb*FP5_SBtKSllwoo^x-S}j(?Ie%ol~kBrEVB!bGhdxF za9|Y;bG#!c2Q`}{9`r@xSXEWIL3?hcVqe2Ztx)Y0s^tW|ve2j}5j^-%SMIUrNSsZ^ zEUWAE$6)^{9AwTr5m?Qq{$FkroXh$}Bj8cJ@%oi&d6-s^*Awud3ASlDdxW+$2 zg_Fj&%!=pbjJdXHJTJ`4wM=E3II?rMXmjCSe1u>zt3!4Ha{T#I`P&_Ko`HaSh>rjx z=C1ES`j>1TO45h1Y}5U>^m=T0<$5TasNnEzz?beaprip9_QU zS(e7Z`hq~?^L&c($A<3$e`d0fi{;-@d;k(oUdOR%zr?B+16FeEueajh56&w*O9?8>{ZkA0cP7C(jS;j_@W zsWWJLoPgcMdqFonJ#;tC%K=__5?Ixxrmcjg+V5V4?m!@(MQNogpA0db0T`qtqoP@& zIis<6UV=uxPBd6*({7yp$`S`1%`|0Yt?OTmE0ziS;&lf>{|U$TphIHVCk&MoB^%bX zLBdzUyGAs9J4fk(-hn{i@nunIonxO*w;eP~3v`b&c#O}f!#V3bcHkFyO-tRG;@0(7 z(bUq`JYJ_<^z5$m2j;a;L}A3hIpj zS*tl!ZGtkWtczi!E8pfKp<_$DkuMXN=JQI_&bjVIb&lUk8>2i+{R3L0yRa+OgRU*% z*cx&ywmwlQuJyok>xQV(W{ujSOG+(&nn~#Ku7?fs*EWRNiHuY@chj}2@2WChV-je(ZFBJx^T-1SQJKwvqwZ>71YF&JY- zOGOFL8=85(+hV`Rn`YOi74O#ACWtt%T<(b=NJtDn-&C6!DBDj3b4}NGOtZ9ZmYFhS zFHgWgV~IBnb<%6yMqtT4eVj-hix&&uA242L4b9@8LuK(aaL5#l+rBX%+83zq0!Oe( zZ1g>vx&wwB<<<}wtqaO~C~V7|6MjYHbur7*NRG0T5cFz3%WlD9hNiOnl&JXWv;9LXn-xA#=*_wQuk@$A)KdG9cq(evf( zua!goW>qhx*YELzF(0djV@unR0Z!TF+90#~KUi%O_LwdOC|kSzG3qD9o!z0M1%GcN zo?3Q1J~AgnSUymrI36=uPFZXDe{GJE%?PC4{`#zpU=IUNPY%vW1}3b&B$swTB(6nq zLaj{u_VdTLpmM1$9oX<9d+NMYEhZL#cFZG$$Cyi zr|Xyif2=t|D!=CK27zBmin0#H^_V+^Vmtp1WMF*m@XW|czly6_%EC&ob0G8C!?z`e z8tO;M%34zi?({WJKuMU!UCJ{NiqC?F4{JhFhCjoTFLzO_f`(v%o8z^sX-1ymb_840 z$4l-rdRH@HrTCWel5}iuEVUlFI8A=aUP%b6_5}}@3zdVtx)u{0>QS9gC3x6aqGW!Am`8vmu zsh>cb;>Cc~T2AvD34GE;!r8@WEEBR?Gh6pQHqz>N&uMA>mL%=t^`?W=L%QpA*d(%< z9F7VkjH45>-q!kl{OAI|RZKW*@eLR;{j+Qmw*%5{BD`=N+NBSzG@~eI_H3i1PiR@^ z4_SZR;=aA>8VT_Zt`ehU0JD{Iq8p?_YDy%0<< z_6~_`MgMo7SLNXqyykIUNwww)a@~SW5-0nqYUT!F6={Jg*QV0e@I9B>E-mo~(MLMz z#`+G&RYEyrmH@oBli$-E7$FVvNqVSW@z~3R?%e2^tS0cXe(4@tFw+VHvs)6&NV(hl zWX{|rnJ(et_K@9tVpV#{wrM8BcvOvm$Lg-u#kX#^CtUSPEwK9*=ZIWz4HrTK{igc1 zedSfvEsCUUhl1;oiU*PZE=2iz@dOO2v`4E|{0c4%RwP=_ zOhN!0h{fv;EJ~#C`Yvmt^rB`2gW!cA1@jm&7%ml#so+J|>-4%kHX~_Xy?hMQOpvEu z*!%TULjey3KF;Im8X*JAb)iX+mKUik+1PD!P24k+;RteKSGc#$@o0o4uI7QIIS>$D z+O3HN+XmM9tTMmWUv7Sa*R?V;1K+;4T$%dpDg819m5W(@E(CWSq^r)?c6Hq3NJYvs zyGsr%OYbFQu)Jc=`uqmwh^03VztUp!jiM%wt@z?ZV+-$<5iG;+h<=+vpEU_!>r@xc z9o2kE!5qi7?$U5Na-iXZQUY)hFvyo-(A=3FGIh;9CS2*5tz4@8(nL}bk^5Ad7(w=>wI&=5tXikHI2uE(1{i+mWXAhbaO{61g zrh8QKjp6!+*H|y>WFn;GdIUUeMr8U@@4cFDJ?rbhD?+iP(BTDy5YhRqZ&P&9wcUMo z1GXUqc5zY3o88L<+zbbrWlskE`;Mn_1!fMk&34YE-RC0UI!47hc7MFXL~LSgMxNDmf&H6>i^Y??z!9CiFy zOdJ(o%|d{X#|rKW$&z1{nV^*SpnAwtE=v=5w4Y6k8ddf`D;e2Fjp)Jf*SzNUMLJ~N zOP~9IhJ}amKq{--4aw;>h6y&PF8jw|uWtI4IddX2R2vGTWdMk90|sr-$3l1a^#k^e zAMqL0^W`IA;~vwO+{`c%*%|>dt)vMPH@MMq_A5c@Sp*YBQTOg_AsS}nFt}h*90q8Q2x(Xgh zMSH)o@X?qFEJJ1PKtIW*u3N>9g{*SSchc)<$Y1#LQ+df$!9+RIBd2rn-b>`qUA2?J(u z3bG?_u1@d%q@Jv%87^&qdH$Q5Nald055X*da41?>!F#??S>C*fc?g^4u@fiXOQjVH z!ttlgxj_2xs2IEx=c{&9zg1+@rJ6&>!n@%!_>fQ;8AijfecGVOCtpU6ifb2ij>)Mp zws3S@s|u3=vp(<$1)aB(W4icg(ja;YDA;3-rIKV%vJ6gF< zNNAlc#lu-(wL_RxjktcK7^X@ra3#_Kr2WL9M>tf!c`_QiUs|j2%w;Lhh0I&=_^QnQ zkiN_i2r9{VN;w)5FnVtHJYvRqkV90do;n3#{HGk}8p4M%{r6MW-b+HuHV^i{eb(e6 zG&LW1R6Sa^%JY;*!(%Wd7MAueKwo3x&Pc9=@7D<)`&o^SJ-m{c_JUAnj+hJG1 zv4SbgMPHQVOT4Tc<-SAid!ahX9K9oNbV`#66I}~?Wp32nlig{jfHD^yC&N(3F((u` z%>%yY>FO%)acl#%_`>)Dbdb|HBP_mIdAI1Ln6Jdx6;mTgMXU;HnpQHvrzlF9wtUqf zvwAMev)MB}?0TZ<5cqoJ)&tAUcYI&2)&Y^K+N*o@Y ziEHbSJC*;>?M@s~XZ45%TgeeO1j#D}gN?AqW3tinoN`Z9Gv8)IYWRSItUyB9&mB5+ zH-kpnuU*@_#Bf&)e-lWbe}!ogxHpM6tZB~8xKNzGtq^%nHJJ~1%#%aQfBkwAU zelbOzeSZ}d>>Gtx4|E`S z?xvcMbb`xao?G+4iOV_~fbvwa40O)fiql^9=z_>YPacGNc3b+`XHJtR_D)RQuuoP< zj|6ftiWMY#E{dwXE$q&Of2W0%{h-f$QS1}3Nd6_sX0<&G*ktosqnfy)6BESYxDlw7 zDz~U88sF2dh#rfiQ_z#O^9;3tUys-iw*kX^DAj{6s2`iw+)tj*n?^`VX!+JuH=Fwo z=^48Q!}WTmnf>S5NsusG+2+9CN;nkYcp|6AA+s#9mf;jxvmkD~zlT&ewUZVTXrenw z162ufIx6qVKlV|u@%k`cRMcuM@u2csPD6^B6Lb#oM5{)K~6d44C=ADJ%DkLB) zjI_x}H<2UGo?qf(N@iTo)NPBVfzoR^i2ki+D-)q->JikDvNmM<2+d8=`r?gm z0L^Hcwwc~g614%AqF@7fU{5g-DbzT)o%oPid{}Kx6b(R36*|)#!$R+ty>7R6Ge^^U zy-RPKz(`scDVS;q)snY&gXuKUd8GuX<5>lp0q-TkT=B%OczUsvjW~E;yfJD=9`adb z0vb~%`(EXi3pV0iJ737*X{IZpe7J1tsb3Doz*49Jv0gU~W%Qadly+FUXoKU=YcxN! z>WIWw=xJBTU1znLLnMS6yoNT4fYhaSWz zf603U5lD-!`@dp=Oh7nZ6^+MD$ZJ!pge)#Qy6A9hzpDyo6SX*RN`FT~}Le@WPik8FMdb7GarBz>()ap|>FDyfw22 zMYL0b9DPyTB(5Ma5xcuWqH9Y5sewC}+J6&EeVO_ys;7+z7aAWTZko$Rap*=G;)%vG z+S4^~k(p$jil$2*`&s| zk*modBmPwKgHG7-CnC7A0S*Q(Nv#e{@@2EyMFJ~Q(;Mudn;0$@wo;MdzU~`j# zzIGDf(xi66xvByELZM6Zo^woIoc!LC6)9@AgaQc{+Y52vee4YfSbJ+)!+U*K&u<$Y z))XH@;YA_8+olV9@0?2bS#{Ar34OV`q{+QhlvQ-_9rB@HUR?P^vtVPO=Ta!HSrlpU z#qJD=HB+XOU@r}7v!6CE{@as>9VbcDeS+QlW7KYMDdqks-mP`T@VCrPcL^2pwGk|3 z{;XCo9BW12&#Ow4{_3jwY%y1UH&DDr;aFg6^BSYjQAb4xJ^~*tD0O)T7_TVFy8j_lJ+MUh zA5jxGNL#w@A5Z+Uf(8tlPU%T1JS(D+r66N#=FNrNfiAvdE%%fuuHwRFp%LBY3cJq} z;KrQd{4&x|UQOb!fuOBvzy4nGv8rY<=auMr^(kgEY;V{hZu{gW{r#5hwTnlk3sKM|y# zHAS5A6K=j_Lx0$2Ue<-*Psa=ELO2hdf#q6PTult^nZyIK>}QhJzX5(#w47sEn-6XD zHS^8Ev^Tu|>25}H4?5>VL@GhO4BxA3>XMb6Ozt|ogrze8ga!v!{7|wun9b7FFSgW& zt`NU?Au7Kn7Q-18;71&jvAr50)6wiOah~K(DSR(oLVSjw3L7B}a^1v3jtzuQ^zu!< z7H?@H?gm~dqHD2hS*meBir}@4F5tRPL{oJCGCtIRSREc^6>@<>a|tGOaoNy`f`3HO zO$~3mo~~c*RcMN~k#i^LjPM7qd2l3-@lMaVe-D}>!)f=` zedDTMq0_`R9P=N#d&N_RT+gTF4WJ5HS{1_Dh8avHFOH(Br+0h$!ByI%es-0<<~{Mh zcJVKDX=^lB``;nm)rc5^6LZ5CGaR5ZdkqFBNx}Oc<{JQgfVg1pfV+#*Y8fU<~YB0Ie=t z(M6*{L;y7!AQ8_C-vipSxB&;XQHQ!lyxO~k94=adarF)yN|mn+hJZdn-n zoJ}mus`GO#1i{>)v`K3iy(DDc|Mgg76^HtutfW&`#6W1=)1Ozc_%8Lw_!U>VizUSg zqItM@j})dV?{@U(*o5R4zRMC-ASIKX4f=jAp43au)KqJ6Ym`TV^n4$2A&RBbh(2n9 zQ3~~BryA}M%#KxSSDLt`-#i?aFg!ub`J5*?a6Jg}fTQ@bhiWK+G9;5l(r&=T= zuM%6d8=9R~Ye6t*gv!Y0FWm`+ge*b=$6nBF)=JkvKAqq}$0;-T8sF04K5>$7Hj$5P zL%+)fT<-!95{xkP+g{JIERoD+=(;5%x&$dI z@>;rZ#-f4hAWLybPQDo;Gt+j!&b7 z<$2H?sRUK$2_JUi@Qp_6XK8bfo1KNl#kh*dbOfvW8Vsej?>=im&28Q!6zZ&ab{-5v zPnA1l{w66rJ*||7QIhS3(p7;jX`6djbmqC1hswCo|FQL;XcbQi(TqCKk;B~=3bb|b z$@#3^EUoyaB>-rY#+Fy_UV2&*dY>yn`>B;AM*rYKtad*XJ75EnMXNob!-@qM4TjS zX3(&fOO}4+bXv?Sh^U{-s>FyS6RxHQg?M>p%gy#Zo_EPYx-H_w-)oR#){jS$Hx~uEYsO92EXipjbe{9E z_Q@Iowsmc5S6&%yF;fWYuh=V3qxX~NTv6w5&n7Gs2oqXrAiOa0}OKw>LU)S;=?nu`MIj6 zF#Eoh3p%kc>thxgw z8>yX*;JZ9!=x8$lhEjJ7N!!M8-1l{Iox(r}aF`Ob%f&Dx4YuKAatT&eW!6#0P;EnR z=OOr~>abpH(hd#C`qOapctXn@jvDE_I&{U?xCIr3ZJP+%&gG%mWU*7#A?+HJb~3Sc zWOp131flVvX{a%DEiF-lw32H+k8yrVvjEjQJ-GkGtS6`Vey9K98agsV-e|tb=&i1P zU2+V826(jBx?{qtXLj&g704lDv%5lwpP_`a{ajPQoq$Wc>#a~Lh84$+GXptc=--!s z*Ko>vI9J<&K5GbXHwKAvcn=6IyE>KBa#uomz2n&(XUZa-*HNMQ;$wgqW_MdVTALSm zWpwuIi-8iUnl3GZtI1XARYD*4>T)-vs3Zth?no6nUtI~KDJW^^m4KMJO8m+6j+8aT z+yEpxpvd(uTIcWQDnY{VDj8Ql<)eZe^>L!3Qv|H(sB(Tv0_eiNvjd4^c{LO|=l*!q z7nEx6UOzM>!JTHt;l_M9NGc^2XvkM_y8u3>j9L5L8(sFD8H2*`ZqO&IWqP*b8l{T> zix*+-)U9-HCjQbzto>EaIu8|6qmJr4wu)qyJQFs&$tG(Px%1d{9A79_5=b5MG60nw zARoy$_6%&SeQXDMxI@u50*QV4oAB)<;~|m4edODk0^F75+-Ur6YLv**q!6LX?hO#T za*vGTO!!CLjwYrr|641AERKn2Q%k(sp!}?Ns4zBey$>wiS>BiV{6CP*edP4qbhc6D zaUPFkB?MXK#>!ej?L6)m=jji_U<=dKT2WlqvJgicQvQshSFtipp`%obie!)U2WN^t5qX%m8+VI1x+I2N zkq_8gOQVEqfxXFGXiu*}W~8R}2jgp{8Mcik{Nu*ie5##+wH*^boaIS#L4&jqi}~8T zRDEvPTXm2yv7E-M5aebX)h2aRH@)0&nGE^)PlW*mzYMX7hJw7q7!@E!k(~y(gblL< zMQ5-4=ijrI(D?4oxyekTQbWz?Te|5Iy-vGEImItguO`n+$*@uS-9GsZm&&0AXeO+S zM>!rUV^!4%?)W28kKul;RPM1tgks=SHHF+V$#4#vQc98tH9Wf9Z-vn!*2hRK-Pc#I z^E>zpAcjvV<oK%wbqGuRr&s9I1j|x2V;0Fl5ULFS^yjJ~8lHNndpA^S>=!BYo<0 zJO#moFJNx3%5n}9^lX(68OogA&#z(HSv={ZlWfGEr%kr?cGm+O&gP7)nDT`q3%&&U zX;~n70FktP>wag!xN?TU_ydyDe;jMWBsQI>dB!!n49%77o1RFh06DuNme&+zbN}eU zJd}is=6?Xit|uzGLEZa3a|Q-CdL2yz1j2n5A8^FTq=AzVIxN@|GRPo~n4i#yEmbqs z<>b(o+9A(d#QZFt+TUC2#P-Qj(>F2msHyog-!kmAW$p}yi4(h+_ypPO5bj@j?)lKh zcUKu&L(ZVu5NwoN(-ofA1ak^To0nUD*5yjeADT9y-3!;B=%}b3H%&7pF=ZNMADCKY zttYW&3#t9n`!QpEqH?b}WL*^cyOdN%znWX5w?eJYeb4ZR`i-jJ5T}mV@LLT`0bv4& z290wUa>kLc7bla2EsFWf7qZ$~=-fjo6@)@`;s(eY_E-kt6A|E@A%sD*J>|D|oyR}x zXoPF@!*x?7^ZmsP`N@Hz(ydh(%8emT)CNXoIem8FJNc^U#>qitopV1ZPIA3LUg{8U zh*9s6{Yb|R*3Urv36kR;@3zRdJ~9g=&d;~i8E=+z9T?$z_E~ozg9RdkyG`EDaDJKs z-$Log^i3#pY~8T6e2eHy<vDGi zT_6PsM;7iEi~FpxkC!xfut&Ah>gN~2QGEb%;G-Tx&rq?$3oh2M$?h1%hue?|If)z7 zUku0t$lCr`!CvFTc!f-SW@(jgQrGs+*TN_$M=q{twHWZ_Hl46Yh~8OIVZWG z44vGa94@8$_ld=brfL^qB3Cs4i>H^$IEyKP0zvagmh6=i~<&b3ZpZ$u$sS zPLg4G(&LVl#0t3>J)AaaLf>+QA^UY+&YiH(ADJTJgnW?}_}E{6*vf^RYRJQIenik` z)tE*ERr2i0#mQmFe(#FF1G8H9fE7uD2V%+cFvrzOlFK5PMbn+1E=~G z$jc?4%o#bkI7tM)=?+OQzcDgVR(2bBM+3Q!3^Z*GruV4yG$KdKz~Gy2n>>F+Q8m$U z+W^{zNypLtrJmUf%g|bqf;v%U8PsYh0stLiiWRxensrrYo}lffxzV&-LPf2N)h8+S z7g4Ix*yN&3F?2g@L&|j-F06uH(flU-lBzb5{rrX~T`QponL1g>qWXp4sp~7px{p*_ zZs~2!1yj2GD{oyuZcWU82#FeqyW>}m%SLtY>v24<)7h;?kW@Rpehsg1z;}xf$yO~s zy{q}XdsM8+oN47{exd{d=&`h}VjH12g<48KP<<`Oz~_62M>})4FBIwsPD5bl&nzzv zp`ouJSHPXS)@5lwh-1|A*|wOi#Yp{C>op^3&58A}k24W+xD@&Id$Q=)`BdE5ywh4b z9w5^^FN5XRR3;nB{F?E63%V5^PXGDN?ACxu%5e6t(97cqBwz~2$^f#{8cW_#Fl-S7 z*36GC^@-1+D?C1AWrK3DBr-9ZBz@b}8R=215Whd$@xu|f zKdsb3H}5|9JJv>B!Z^#CpQ)+Zoz8L3$z~bw4FnP6(!|FZgjCi~oUPXCXwgv!6Mh3t zR0NAvh-X;7RYDrJh1%FxxDQ!c88)K*w43*AWY?y;{hm4;ykCBO*gvYTMZIxP4?ZnT zDK)xM&Qbw35kW?me-vTKSwXV~8=^Z?Po)&tL!j4?8}luTIh7(h^TaFGND+(9rp|?+ zydn5w;BOlHFE-a@#8R(#jlIjB?uwhdWIFc#_RcgM0J+AOv2Ukn?ktUOX+SPaDbY-` zCSLks8(48Kg#9JH9twx+(NIdPWl_U{$m~v?6si%*iK-yr9CvKlK0{t@s`2p2(5h5t zyc;DPO|si6T74NbM7gvW76pbnfYzrrgNqeLnl9T*d5GjQQz4=SHr{s=B**`0}GKc zN-P13>E!~RZ+s^}w{)~I@`t8?30vVWxu+%Za~VG)LfSu^(RRX29bdlTG@`+tBQo^} z;L_uO&uOp^bfYN$jcR}JBnrLO!g=u~*T9hO!Se@U+rI&nVLGVTB6`~IY`@C2-gcOxI{Fk53`Ub*<;0`-Fn4JH|*gY+Ywgp)LE!(zj+qP}ncGW4{wr$(C zZQEww59o;QU)T>Tc4W?+18gOaW0I!?W(Rci9~m>d`^`yeb>Y#G#H#H`bq5D|u#2R$ z@mpQ&cBza}FPMKdcoW5R-zm>W=3Aq^zxRV;ray06uyu|_rw_Kk&a<>ZX)u)vuSh{P zS5{bU+u~53ZRfV!G|z&9WT8D!NJ_@0U~lbT>l7VIqrirh%9m>^o%x4v)~O1vq&|pb=x#tPVYFe&DT~YF`3uQ41xiM?Qpz8Y24VtFe_^#u+ti3Qk4$b zdK>xK7gpyGe)H^xqM*54=6HFcE@nqDt26$Aoc)OlIt$v@{9CC3MU*f14;Qp##-~*h zvC{8x^tDPB88Kl#Ql9T2K^H^fZ_+XVhW6O%{ktBZ{7}eHeO0|J_b#}Wu(M1HI>Wgw z2VH&VgjDpMJoL6e+0GV#3^F4T+()~x{v62$6$tE5yYwKB+YXT}BU|+dZZknzUU9u- zXEk2m+uMknRvFd)d6k&i&aYyLW9Dn~0Wk-VYQAB3A#*>qe)vvbZ@0riH4pHqVpb*) zh}op+@@~NH*8UUgiE2mOT6SN+Co$`DK&M)-7frk&TdhuNKw`xa^0Ne^2*~d~R7F8k zKvTW0QC=mpUGc9 zC`G}fM!Z!d$L}?D#*oOi!F*S4^C~Dl9Pjk155HIugtihvZnvvNCO@JLcN~}Jut{Gi zA7JSL4~yrGp!@21`uOQs+Jls+`=OqR#6OOjIRObs(#u4D7~ce<<{adA1q<&z3G0>l zakt=~{0M<2A8f$W8TIP~7p{i~FGYa?|Fj}c#;Ul+#U&%~96P-zewi#2792)?M-Ar) z5KkDE$9qZJ)8PEkHHzgko)@iHtcB9-0j`*4)IOVj)RVueaic)##&kjiLU*>f3?CLI zc;_oXyyCf2$kT|SDj$(8nAvLWpF{m4xXdvmCeOYNz#DJdT1(s!U4lcfu{M0b&>521 z0j#5mtWBNhBDS^7Q0@KY`3zf#A&rb0AtTC^|t}e20t-b z63586v&gvsq??@=z!+rEiAj*`^mZ+x=G$=oIst(=d`mle$9?Q}V2+A?PEw5lea7EA zPBp_CRm82fr%NHGBtAl#bOu2N`0M=2DJrl4a{S&&nl$A~wz*faQR#zMHxa`T_TptC z-yU`$E|TVxo~Z3Nq+;5Ee21+B8`V}LVeL@8OUHQ2?RC#FjHsts*{=u zOrj^Pa+$1tF9&rXzB$`X%3nC>Nz=!KlCPZ)R9n{uR2l&awb3s5bgWmJ z7D}`aOABGY!DjmdvI%=Qnu5K@bd{U&xca2zs%E zz(BZD-5nBH-Kjc)Wj=+#2F;hGyuwcA*krc3QS#R_b>5Gw<_hSMSCko%g%ga9JzgGJ zOKv@F5Ee%C2!p$~Nz=*(F1#a{4F*^&GQ*tE65!B7$rNa3#}MP6TZi}Vy4y#Gds979U@~g-h zTshNFuSQlBCY37R&oJtVsm>y`eDXF2k=H> zC_Gd!$2O;t1WH4dq{z*M5lVvjnSJopoFj;nX|YIwN{UYJ}NA z>{^*l@pJ}lz*(2|ETZaQ?Amg=YC+r$gqmK|Gidcuhl?Vy$W15kh)Isw@^{X+GxkY4o?h){Cp9pZHT}D}(D|J5 zWt7^;3oe2=sU}yU?-P?bk}3y-hc!rVbh~DfUWH+hsCMMpJqri@w zk_*SFf~om~`8$W$n&j|LXd{S{p5&>bHf5jdKJ&+OT}a<#uBjzHQuEN;&*37mKE4WB ztofV2jy&WQI4_OgWI4TBb>^`I%YxF?a*Rcq$XFk}s+y#ESlCw?JARPlvLSPCSJ#R0tWZf9u29=fl+}O{dunk+edP+;QG(a(EZ}G*Hz3Ly&}^PlTz!*fPyS0uGZ%Z(G#?C;09$ zlWRWM5u>P-r(Nch=K}p;Eu(BU~u^iM&LUUHm zUaka|Q+gapvaaP&)z9=uR~QHmZ~R*0yQKxGfyr42YA-*kH?QL}1Q{WapH~)SSdBCcn-mg-uiPp*(?*Om+ytDJ>2u z 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 вектор. Выводите вектор в виде \texttt{(x, y, z)}. + \item Оператор ввода \texttt{istream <{}<} вектор + \item Функция \texttt{float squared\_norm(const Vector3f\& a)}, которая вычисляет квадрат нормы вектора. + \item Функция \texttt{float norm(const Vector3f\& a)}, которая вычисляет норму вектора. + \item Функция \texttt{void normalize(Vector3f\& a)}, которая нормализует вектор \texttt{a}. + \end{itemize} +\item Поместите весь ваш код в отдельный файл \texttt{vector3f.h} и подключите к файлу \texttt{main.cpp}. +\item Протестируйте ваши функции: +\begin{lstlisting} +#include +#include "vector3f.h" + +using namespace std; + + +int main() { + Vector3f a = {1.0, 2.0, -2.0}; + Vector3f b = {4.0, -1.0, 3.0}; + cout << "a = " << a << endl << "b = " << b << endl; + cout << "a + b = " << a + b << endl; + cout << "-a = " << -a << endl; + cout << "Scalar product of a and b = " << a * b << endl; + a /= 5; + cout << "a after a /= 5;" << a << endl + normalize(b); + cout << "Normalized b:" << b << endl + a += b; + cout << "a after a+= b;" << a << endl; +} +\end{lstlisting} + +\end{itemize} +\subsection*{Задача об убегающей точке} +\begin{itemize} +\item Предположим, что у нас есть комплексная функция $f(z) = z^2$. Выберем некоторое комплексное число $z_0$ и будем проводить следующие итерации: +\begin{equation} +\label{fractalseq} +z_1 = f(z_0)\quad z_2 = f(z_1)\quad ...\quad z_{k+1} = f(z_k)\quad ... +\end{equation} +В зависимости от выбора точки $z_0$ эта последовательность либо разойдётся, либо останется в некоторой ограниченной области. Будем называть точку $z_0$ убегающей, если $z_k \rightarrow \infty$ при $k \rightarrow \infty$. Найдите область неубегания для функции $z^2$, т.е. множество всех начальных значений $z_0$, при которых последовательность (\ref{fractalseq}) остаётся ограниченной (это можно сделать в уме). \\ + +\item \textbf{Julia:} Для функции $f(z) = z^2$ эта область тривиальна, но всё становится сложней для функции вида $f(z) = z^2 + c$, где $c$ -- некоторое комплексное число. Численно найдите область неубегания для функций такого вида. Для этого создайте изображение размера 800x800, покрывающую область \texttt{[-2:2]x[-2:2]} на комплексной плоскости. Для каждой точки этой плоскости проведите $N \approx 20$ итераций и, в зависимости от результата, окрасьте пиксель в соответствующий цвет (цвет можно подобрать самим, он должен быть пропорционален значению $z_N$ - меняться от яркого если $z_N$ мало и до черного если $z_N$ большое). Используйте класс Complex и перегруженные операторы. Пример работы с изображениями в формате \texttt{ppm} можно посмотреть в файле \texttt{complex\_image.cpp}. Программа должна создавать файл \texttt{julia.ppm}. + +\begin{center} +\includegraphics[scale=0.7]{../images/complexplane.png} +\end{center} + +\item Нарисуте изображение для $c = -0.4 + 0.6i$;\quad $c = -0.70 - 0.38i$;\quad $c = -0.80 + 0.16i$\quad и\quad $c = 0.280 + 0.011i$. +\item Добавьте параметры командной строки: 2 вещественных числа, соответствующие комплексному числу $c$, и целое число итераций $N$. +\item \textbf{Mandelbrot:} Зафиксируем теперь $z_0 = 0$ и будем менять $c$. Численно найдите все параметры $c$, для которых точка $z_0$ не является убегающей. Для этого создайте изображение размера 800x800, покрывающую область \texttt{[-2:2]x[-2:2]} возможных значений $c$ на комплексной плоскости. Программа должна создавать файл \texttt{mandelbrot.ppm}. + +\item \textbf{Анимация:} Программа \texttt{complex\_movie.cpp} создаёт множество изображений и сохраняет их в папку \texttt{animation} (если у вас нет такой папки -- создайте её). Эти изображения представляют собой отдельные кадры будущей анимации. Чтобы их объединить в одно видео можно использовать программу ffmpeg (Нужно скачать тут: \href{https://www.ffmpeg.org/}{www.ffmpeg.org} и изменить переменную среды \texttt{PATH} в настройках Windows или Linux). После этого можно будет объединить все изображения в одно видео такой командой: +\begin{verbatim} +ffmpeg -r 60 -i animation/complex_%03d.ppm complex_movie.mp4 +\end{verbatim} +Создайте анимацию из изображений множеств Julia при $c$ линейно меняющемся от $(-1.5 - 0.5i)$ до $i$. +\end{itemize} +\end{document} \ No newline at end of file diff --git a/seminar01_overload/images/complexplane.png b/seminar01_overload/images/complexplane.png new file mode 100644 index 0000000000000000000000000000000000000000..729c878774100375b41dce862273f225364b0022 GIT binary patch literal 52616 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + z0 + z02 + + + + z1 + c + + z2 + + + z12 + + z3 + + + z22 + + 1 + + -1 + Re + Im + + + +