From 6bf4b90c90f15f4ab60833bddf5b5756d1a6b1f6 Mon Sep 17 00:00:00 2001 From: Elizabeth Alexander Hunt Date: Thu, 2 Jul 2026 11:55:17 -0700 Subject: Init --- Homework/cs5000/.DS_Store | Bin 0 -> 8196 bytes .../cs5000/computability_complexity_languages.pdf | Bin 0 -> 4224344 bytes Homework/cs5000/hw01/BrooksWeber_DFA.pdf | Bin 0 -> 734023 bytes Homework/cs5000/hw01/BrooksWeber_NFA.pdf | Bin 0 -> 473624 bytes Homework/cs5000/hw01/CS5000_F23_HW01.pdf | Bin 0 -> 125090 bytes Homework/cs5000/hw01/CS5000_F23_HW1.org | 60 + Homework/cs5000/hw01/CS5000_F23_HW1.pdf | Bin 0 -> 592426 bytes Homework/cs5000/hw01/CS5000_F23_HW1.tex | 96 + .../hw01/RobotLineAndBlobFollowingProblems.pdf | Bin 0 -> 1222229 bytes Homework/cs5000/hw01/img/blob_robor.png | Bin 0 -> 207149 bytes Homework/cs5000/hw01/img/line_robor.png | Bin 0 -> 204892 bytes Homework/cs5000/hw01/img/no_epsilon.png | Bin 0 -> 89369 bytes Homework/cs5000/hw01/img/sus_man.png | Bin 0 -> 242966 bytes Homework/cs5000/hw02/CS5000_F23_EH_HW02.org | 65 + Homework/cs5000/hw02/CS5000_F23_EH_HW02.pdf | Bin 0 -> 447863 bytes Homework/cs5000/hw02/CS5000_F23_EH_HW02.tex | 102 + Homework/cs5000/hw02/CS5000_F23_HW02.pdf | Bin 0 -> 151939 bytes Homework/cs5000/hw02/cs5000_f23_hw02_uts.py | 45 + Homework/cs5000/hw02/hw02.zip | Bin 0 -> 397965 bytes Homework/cs5000/hw02/hw02/Mod3DFA.py | 50 + Homework/cs5000/hw02/hw02/Mod7DFA.py | 50 + .../hw02/hw02/__pycache__/Mod3DFA.cpython-311.pyc | Bin 0 -> 2534 bytes .../hw02/hw02/__pycache__/Mod7DFA.cpython-311.pyc | Bin 0 -> 2158 bytes Homework/cs5000/hw02/hw02/cs5000_f23_hw02_uts.py | 45 + Homework/cs5000/hw02/hw02/hw02.pdf | Bin 0 -> 445390 bytes Homework/cs5000/hw02/img/p01_02.png | Bin 0 -> 285758 bytes Homework/cs5000/hw02/img/p02.png | Bin 0 -> 247543 bytes Homework/cs5000/hw03/CS5000_F23_hw03.org | 43 + Homework/cs5000/hw03/CS5000_F23_hw03.tex | 76 + .../__pycache__/cs5000_f23_hw03.cpython-311.pyc | Bin 0 -> 6389 bytes Homework/cs5000/hw03/hw03.zip | Bin 0 -> 168245 bytes Homework/cs5000/hw03/hw03/CS5000_F23_hw03.pdf | Bin 0 -> 188873 bytes .../__pycache__/cs5000_f23_hw03.cpython-311.pyc | Bin 0 -> 6394 bytes Homework/cs5000/hw03/hw03/cs5000_f23_hw03.py | 110 ++ Homework/cs5000/hw03/hw03/cs5000_f23_hw03_uts.py | 63 + Homework/cs5000/hw03/img/min_dfa.png | Bin 0 -> 185083 bytes Homework/cs5000/hw04.zip | Bin 0 -> 552104 bytes .../hw04/BrooksWeber_Ch10_RegularGrammars.pdf | 1984 ++++++++++++++++++++ Homework/cs5000/hw04/CS5000_F23_hw04.pdf | Bin 0 -> 117003 bytes Homework/cs5000/hw04/hw04.org | 106 ++ Homework/cs5000/hw04/hw04.pdf | Bin 0 -> 218283 bytes Homework/cs5000/hw04/hw04.tex | 146 ++ Homework/cs5000/hw04/img/problem_2_2_dfa.png | Bin 0 -> 94169 bytes Homework/cs5000/hw04/img/problem_3_dfa.png | Bin 0 -> 163590 bytes Homework/cs5000/hw05/.DS_Store | Bin 0 -> 6148 bytes Homework/cs5000/hw05/CS5000_F23_HW05.pdf | Bin 0 -> 99041 bytes .../hw05/PyCYK/__pycache__/cnfg.cpython-310.pyc | Bin 0 -> 2989 bytes .../hw05/PyCYK/__pycache__/cyk.cpython-310.pyc | Bin 0 -> 1580 bytes Homework/cs5000/hw05/PyCYK/cnfg.py | 82 + Homework/cs5000/hw05/PyCYK/cyk.py | 43 + Homework/cs5000/hw05/PyCYK/cyktest.py | 272 +++ Homework/cs5000/hw06/hw06.org | 174 ++ Homework/cs5000/hw06/hw06.pdf | Bin 0 -> 140049 bytes Homework/cs5000/hw06/hw06.tex | 220 +++ Homework/cs5000/hw07/hw07.org | 58 + Homework/cs5000/hw07/hw07.pdf | Bin 0 -> 88254 bytes Homework/cs5000/hw07/hw07.tex | 88 + Homework/cs5000/hw08/hw08.org | 89 + Homework/cs5000/hw08/hw08.pdf | Bin 0 -> 161097 bytes Homework/cs5000/hw08/hw08.tex | 118 ++ Homework/cs5000/midterm/cs5000_midterm_01.pdf | Bin 0 -> 390036 bytes Homework/cs5000/midterm/img/6b.png | Bin 0 -> 217712 bytes Homework/cs5000/midterm/img/7.png | Bin 0 -> 121344 bytes Homework/cs5000/midterm/img/p6.png | Bin 0 -> 104326 bytes Homework/cs5000/midterm/img/prob_2_parse_tree.png | Bin 0 -> 26493 bytes Homework/cs5000/midterm/midterm.org | 188 ++ Homework/cs5000/midterm/midterm.pdf | Bin 0 -> 391900 bytes Homework/cs5000/midterm/midterm.tex | 242 +++ Homework/cs5000/midterm02/compile_l_program.js | 0 Homework/cs5000/midterm02/midterm.org | 218 +++ Homework/cs5000/midterm02/midterm.pdf | Bin 0 -> 301405 bytes Homework/cs5000/midterm02/midterm.tex | 265 +++ Homework/cs5000/midterm02/p1.png | Bin 0 -> 130008 bytes Homework/cs5000/midterm02/p2.png | Bin 0 -> 80178 bytes 74 files changed, 5098 insertions(+) create mode 100644 Homework/cs5000/.DS_Store create mode 100644 Homework/cs5000/computability_complexity_languages.pdf create mode 100644 Homework/cs5000/hw01/BrooksWeber_DFA.pdf create mode 100644 Homework/cs5000/hw01/BrooksWeber_NFA.pdf create mode 100644 Homework/cs5000/hw01/CS5000_F23_HW01.pdf create mode 100644 Homework/cs5000/hw01/CS5000_F23_HW1.org create mode 100644 Homework/cs5000/hw01/CS5000_F23_HW1.pdf create mode 100644 Homework/cs5000/hw01/CS5000_F23_HW1.tex create mode 100644 Homework/cs5000/hw01/RobotLineAndBlobFollowingProblems.pdf create mode 100644 Homework/cs5000/hw01/img/blob_robor.png create mode 100644 Homework/cs5000/hw01/img/line_robor.png create mode 100644 Homework/cs5000/hw01/img/no_epsilon.png create mode 100644 Homework/cs5000/hw01/img/sus_man.png create mode 100644 Homework/cs5000/hw02/CS5000_F23_EH_HW02.org create mode 100644 Homework/cs5000/hw02/CS5000_F23_EH_HW02.pdf create mode 100644 Homework/cs5000/hw02/CS5000_F23_EH_HW02.tex create mode 100644 Homework/cs5000/hw02/CS5000_F23_HW02.pdf create mode 100644 Homework/cs5000/hw02/cs5000_f23_hw02_uts.py create mode 100644 Homework/cs5000/hw02/hw02.zip create mode 100644 Homework/cs5000/hw02/hw02/Mod3DFA.py create mode 100644 Homework/cs5000/hw02/hw02/Mod7DFA.py create mode 100644 Homework/cs5000/hw02/hw02/__pycache__/Mod3DFA.cpython-311.pyc create mode 100644 Homework/cs5000/hw02/hw02/__pycache__/Mod7DFA.cpython-311.pyc create mode 100644 Homework/cs5000/hw02/hw02/cs5000_f23_hw02_uts.py create mode 100644 Homework/cs5000/hw02/hw02/hw02.pdf create mode 100644 Homework/cs5000/hw02/img/p01_02.png create mode 100644 Homework/cs5000/hw02/img/p02.png create mode 100644 Homework/cs5000/hw03/CS5000_F23_hw03.org create mode 100644 Homework/cs5000/hw03/CS5000_F23_hw03.tex create mode 100644 Homework/cs5000/hw03/__pycache__/cs5000_f23_hw03.cpython-311.pyc create mode 100644 Homework/cs5000/hw03/hw03.zip create mode 100644 Homework/cs5000/hw03/hw03/CS5000_F23_hw03.pdf create mode 100644 Homework/cs5000/hw03/hw03/__pycache__/cs5000_f23_hw03.cpython-311.pyc create mode 100644 Homework/cs5000/hw03/hw03/cs5000_f23_hw03.py create mode 100644 Homework/cs5000/hw03/hw03/cs5000_f23_hw03_uts.py create mode 100644 Homework/cs5000/hw03/img/min_dfa.png create mode 100644 Homework/cs5000/hw04.zip create mode 100644 Homework/cs5000/hw04/BrooksWeber_Ch10_RegularGrammars.pdf create mode 100644 Homework/cs5000/hw04/CS5000_F23_hw04.pdf create mode 100644 Homework/cs5000/hw04/hw04.org create mode 100644 Homework/cs5000/hw04/hw04.pdf create mode 100644 Homework/cs5000/hw04/hw04.tex create mode 100644 Homework/cs5000/hw04/img/problem_2_2_dfa.png create mode 100644 Homework/cs5000/hw04/img/problem_3_dfa.png create mode 100644 Homework/cs5000/hw05/.DS_Store create mode 100644 Homework/cs5000/hw05/CS5000_F23_HW05.pdf create mode 100644 Homework/cs5000/hw05/PyCYK/__pycache__/cnfg.cpython-310.pyc create mode 100644 Homework/cs5000/hw05/PyCYK/__pycache__/cyk.cpython-310.pyc create mode 100644 Homework/cs5000/hw05/PyCYK/cnfg.py create mode 100644 Homework/cs5000/hw05/PyCYK/cyk.py create mode 100644 Homework/cs5000/hw05/PyCYK/cyktest.py create mode 100644 Homework/cs5000/hw06/hw06.org create mode 100644 Homework/cs5000/hw06/hw06.pdf create mode 100644 Homework/cs5000/hw06/hw06.tex create mode 100644 Homework/cs5000/hw07/hw07.org create mode 100644 Homework/cs5000/hw07/hw07.pdf create mode 100644 Homework/cs5000/hw07/hw07.tex create mode 100644 Homework/cs5000/hw08/hw08.org create mode 100644 Homework/cs5000/hw08/hw08.pdf create mode 100644 Homework/cs5000/hw08/hw08.tex create mode 100644 Homework/cs5000/midterm/cs5000_midterm_01.pdf create mode 100644 Homework/cs5000/midterm/img/6b.png create mode 100644 Homework/cs5000/midterm/img/7.png create mode 100644 Homework/cs5000/midterm/img/p6.png create mode 100644 Homework/cs5000/midterm/img/prob_2_parse_tree.png create mode 100644 Homework/cs5000/midterm/midterm.org create mode 100644 Homework/cs5000/midterm/midterm.pdf create mode 100644 Homework/cs5000/midterm/midterm.tex create mode 100644 Homework/cs5000/midterm02/compile_l_program.js create mode 100644 Homework/cs5000/midterm02/midterm.org create mode 100644 Homework/cs5000/midterm02/midterm.pdf create mode 100644 Homework/cs5000/midterm02/midterm.tex create mode 100644 Homework/cs5000/midterm02/p1.png create mode 100644 Homework/cs5000/midterm02/p2.png (limited to 'Homework/cs5000') diff --git a/Homework/cs5000/.DS_Store b/Homework/cs5000/.DS_Store new file mode 100644 index 0000000..eda95e0 Binary files /dev/null and b/Homework/cs5000/.DS_Store differ diff --git a/Homework/cs5000/computability_complexity_languages.pdf b/Homework/cs5000/computability_complexity_languages.pdf new file mode 100644 index 0000000..b88520e Binary files /dev/null and b/Homework/cs5000/computability_complexity_languages.pdf differ diff --git a/Homework/cs5000/hw01/BrooksWeber_DFA.pdf b/Homework/cs5000/hw01/BrooksWeber_DFA.pdf new file mode 100644 index 0000000..91a09fa Binary files /dev/null and b/Homework/cs5000/hw01/BrooksWeber_DFA.pdf differ diff --git a/Homework/cs5000/hw01/BrooksWeber_NFA.pdf b/Homework/cs5000/hw01/BrooksWeber_NFA.pdf new file mode 100644 index 0000000..a3fba1f Binary files /dev/null and b/Homework/cs5000/hw01/BrooksWeber_NFA.pdf differ diff --git a/Homework/cs5000/hw01/CS5000_F23_HW01.pdf b/Homework/cs5000/hw01/CS5000_F23_HW01.pdf new file mode 100644 index 0000000..d6413e0 Binary files /dev/null and b/Homework/cs5000/hw01/CS5000_F23_HW01.pdf differ diff --git a/Homework/cs5000/hw01/CS5000_F23_HW1.org b/Homework/cs5000/hw01/CS5000_F23_HW1.org new file mode 100644 index 0000000..d5ac1c5 --- /dev/null +++ b/Homework/cs5000/hw01/CS5000_F23_HW1.org @@ -0,0 +1,60 @@ +#+TITLE: HW 01 +#+AUTHOR: Elizabeth Hunt +#+STARTUP: entitiespretty fold inlineimages +#+LATEX_HEADER: \notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,landscape]{geometry} +#+LATEX: \setlength\parindent{0pt} +#+OPTIONS: toc:nil + +* Question One +#+attr_latex: :width 400px +[[./img/line_robor.png]] + +$Q$ = { readsensors, turnleft, moveforward, turnright } + +$\Sigma$ = { white, blackonleft, leftturncomplete, blackonmiddle, movecomplete, +blackonright, rightturncomplete } + +$\delta(p_0, a) = p_0$ +$\delta(p_0, b) = p_1$ +$\delta(p_0, d) = p_2$ +$\delta(p_0, f) = p_3$ +$\delta(p_1, c) = p_0$ +$\delta(p_2, e) = p_0$ +$\delta(p_3, g) = p_0$ + +$F = \emptyset$ + +* Question Two +#+attr_latex: :width 400px +[[./img/blob_robor.png]] + + +$Q$ = { readsensors, turnleft, moveforward, turnright } + +$\Sigma$ = { white, obstacleleft, leftturncomplete, obstacleboth, movecomplete, +obstacleright, rightturncomplete } + +$\delta(p_0, a) = p_0$ +$\delta(p_0, b) = p_1$ +$\delta(p_0, d) = p_2$ +$\delta(p_0, f) = p_3$ +$\delta(p_1, c) = p_0$ +$\delta(p_2, e) = p_0$ +$\delta(p_3, g) = p_0$ + +$F = \emptyset$ + +* Question Three +#+attr_latex: :width 400px +[[./img/sus_man.png]] + +Thus a robot could take ~puton(C, T)~, ~puton(B, C)~, and finally ~puton(A, B)~. + +* Question Four +| State | 0 | 1 | 2 | +| q_0 | { q_0, q_1, q_2} | | | +| q_1 | | {q_1, q_2} | | +| q_2 | | | {q_2} | + +#+attr_latex: :width 200px +[[./img/no_epsilon.png]] diff --git a/Homework/cs5000/hw01/CS5000_F23_HW1.pdf b/Homework/cs5000/hw01/CS5000_F23_HW1.pdf new file mode 100644 index 0000000..39dfc1c Binary files /dev/null and b/Homework/cs5000/hw01/CS5000_F23_HW1.pdf differ diff --git a/Homework/cs5000/hw01/CS5000_F23_HW1.tex b/Homework/cs5000/hw01/CS5000_F23_HW1.tex new file mode 100644 index 0000000..42eac8b --- /dev/null +++ b/Homework/cs5000/hw01/CS5000_F23_HW1.tex @@ -0,0 +1,96 @@ +% Created 2023-09-15 Fri 20:36 +% Intended LaTeX compiler: pdflatex +\documentclass[11pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{wrapfig} +\usepackage{rotating} +\usepackage[normalem]{ulem} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{capt-of} +\usepackage{hyperref} +\notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,landscape]{geometry} +\author{Elizabeth Hunt} +\date{\today} +\title{HW 01} +\hypersetup{ + pdfauthor={Elizabeth Hunt}, + pdftitle={HW 01}, + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 28.2 (Org mode 9.7-pre)}, + pdflang={English}} +\begin{document} + +\maketitle +\setlength\parindent{0pt} + +\section{Question One} +\label{sec:org0490f98} +\begin{center} +\includegraphics[width=400px]{./img/line_robor.png} +\end{center} + +\(Q\) = \{ readsensors, turnleft, moveforward, turnright \} + +\(\Sigma\) = \{ white, blackonleft, leftturncomplete, blackonmiddle, movecomplete, +blackonright, rightturncomplete \} + +\(\delta(p_0, a) = p_0\) +\(\delta(p_0, b) = p_1\) +\(\delta(p_0, d) = p_2\) +\(\delta(p_0, f) = p_3\) +\(\delta(p_1, c) = p_0\) +\(\delta(p_2, e) = p_0\) +\(\delta(p_3, g) = p_0\) + +\(F = \emptyset\) + +\section{Question Two} +\label{sec:orgdb1d9e7} +\begin{center} +\includegraphics[width=400px]{./img/blob_robor.png} +\end{center} + + +\(Q\) = \{ readsensors, turnleft, moveforward, turnright \} + +\(\Sigma\) = \{ white, obstacleleft, leftturncomplete, obstacleboth, movecomplete, +obstacleright, rightturncomplete \} + +\(\delta(p_0, a) = p_0\) +\(\delta(p_0, b) = p_1\) +\(\delta(p_0, d) = p_2\) +\(\delta(p_0, f) = p_3\) +\(\delta(p_1, c) = p_0\) +\(\delta(p_2, e) = p_0\) +\(\delta(p_3, g) = p_0\) + +\(F = \emptyset\) + +\section{Question Three} +\label{sec:orgf7c103c} +\begin{center} +\includegraphics[width=400px]{./img/sus_man.png} +\end{center} + +Thus a robot could take \texttt{puton(C, T)}, \texttt{puton(B, C)}, and finally \texttt{puton(A, B)}. + +\section{Question Four} +\label{sec:org54c6f53} +\begin{center} +\begin{tabular}{llrr} +State & 0 & 1 & 2\\[0pt] +q\textsubscript{0} & \{ q\textsubscript{0}, q\textsubscript{1}, q\textsubscript{2}\} & & \\[0pt] +q\textsubscript{1} & & \{q\textsubscript{1}, q\textsubscript{2}\} & \\[0pt] +q\textsubscript{2} & & & \{q\textsubscript{2}\}\\[0pt] +\end{tabular} +\end{center} + +\begin{center} +\includegraphics[width=200px]{./img/no_epsilon.png} +\end{center} +\end{document} \ No newline at end of file diff --git a/Homework/cs5000/hw01/RobotLineAndBlobFollowingProblems.pdf b/Homework/cs5000/hw01/RobotLineAndBlobFollowingProblems.pdf new file mode 100644 index 0000000..8f0d88e Binary files /dev/null and b/Homework/cs5000/hw01/RobotLineAndBlobFollowingProblems.pdf differ diff --git a/Homework/cs5000/hw01/img/blob_robor.png b/Homework/cs5000/hw01/img/blob_robor.png new file mode 100644 index 0000000..a579f5c Binary files /dev/null and b/Homework/cs5000/hw01/img/blob_robor.png differ diff --git a/Homework/cs5000/hw01/img/line_robor.png b/Homework/cs5000/hw01/img/line_robor.png new file mode 100644 index 0000000..cbaddda Binary files /dev/null and b/Homework/cs5000/hw01/img/line_robor.png differ diff --git a/Homework/cs5000/hw01/img/no_epsilon.png b/Homework/cs5000/hw01/img/no_epsilon.png new file mode 100644 index 0000000..9d2d0ff Binary files /dev/null and b/Homework/cs5000/hw01/img/no_epsilon.png differ diff --git a/Homework/cs5000/hw01/img/sus_man.png b/Homework/cs5000/hw01/img/sus_man.png new file mode 100644 index 0000000..d2a617e Binary files /dev/null and b/Homework/cs5000/hw01/img/sus_man.png differ diff --git a/Homework/cs5000/hw02/CS5000_F23_EH_HW02.org b/Homework/cs5000/hw02/CS5000_F23_EH_HW02.org new file mode 100644 index 0000000..5fd935c --- /dev/null +++ b/Homework/cs5000/hw02/CS5000_F23_EH_HW02.org @@ -0,0 +1,65 @@ +#+TITLE: HW 02 +#+AUTHOR: Elizabeth Hunt +#+STARTUP: entitiespretty fold inlineimages +#+LATEX_HEADER: \notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +#+LATEX: \setlength\parindent{0pt} +#+OPTIONS: toc:nil + +* Problem 1 +** Part 1 +$L(M) = \{ x | x \in \{ a \}^{*} \} \cup \{ x | x \in \{ b \}^{*} \} \cup \{ x | x \in \{ c \}^{*} \}$ + +** Part 2 + +#+attr_latex: :width 300px +[[./img/p01_02.png]] + +$Q = {q_0, q_1, q_2, q_3}$ + +$\Sigma = {a, b, c}$ + +$F = {q_1, q_2, q_3}$ + +$\delta(q_0, a) = {q_1}, \delta(q_1, a) = {q_1}, \delta(q_0, b) = {q_2}, \delta(q_2, b) = {q_2}, \delta(q_0, c) = {q_3}, \delta(q_3, c) = c$ + +* Problem 2 +** Work +| subset | 0 | 1 | +| {q_0} | {q_0, q_1} | {q_1} | +| {q_1} | {q_2} | {q_2} | +| {q_2} | {q_2} | {q_2} | +| {q_0, q_1} | {q_0, q_1} \cup {q_2} | {q_1} \cup {q_2} | +| {q_0, q_1, q_2} | {q_0, q_1} \cup {q_2} \cup {q_2} | {q_1} \cup {q_2} \cup {q_2} | +| {q_1, q_2} | {q_2} \cup {q_2} | {q_2} \cup {q_2} | + + +** Solution +#+attr_latex: :width 300px +[[./img/p02.png]] + +$Q_D = \{q_0, q_1, q_2, q_3, q_4, q_5\}$ + +$\Sigma = \{0, 1\}$ + +$F_D = \{q_1, q_2, q_4, q_5\}$ + +$\delta_D(q_0, 0) = q_1$ + +$\delta_D(q_0, 1) = q_2$ + +$\delta_D(q_1, 0) = q_5$ + +$\delta_D(q_1, q) = q_4$ + +$\delta_D(q_2, 0) = \delta_D(q_2, 1) = q_3$ + +$\delta_D(q_3, 0) = \delta_D(q_3, 1) = q_3$ + +$\delta_D(q_4, 0) = \delta_D(q_4, 1) = q_4$ + +$\delta_D(q_5, 0) = q_5$ + +$\delta_D(q_5, 1} = q_4$ + +* Problem 3 +See attached python diff --git a/Homework/cs5000/hw02/CS5000_F23_EH_HW02.pdf b/Homework/cs5000/hw02/CS5000_F23_EH_HW02.pdf new file mode 100644 index 0000000..5344c34 Binary files /dev/null and b/Homework/cs5000/hw02/CS5000_F23_EH_HW02.pdf differ diff --git a/Homework/cs5000/hw02/CS5000_F23_EH_HW02.tex b/Homework/cs5000/hw02/CS5000_F23_EH_HW02.tex new file mode 100644 index 0000000..f578070 --- /dev/null +++ b/Homework/cs5000/hw02/CS5000_F23_EH_HW02.tex @@ -0,0 +1,102 @@ +% Created 2023-10-07 Sat 14:51 +% Intended LaTeX compiler: pdflatex +\documentclass[11pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{wrapfig} +\usepackage{rotating} +\usepackage[normalem]{ulem} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{capt-of} +\usepackage{hyperref} +\notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +\author{Elizabeth Hunt} +\date{\today} +\title{HW 02} +\hypersetup{ + pdfauthor={Elizabeth Hunt}, + pdftitle={HW 02}, + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 28.2 (Org mode 9.7-pre)}, + pdflang={English}} +\begin{document} + +\maketitle +\setlength\parindent{0pt} + +\section{Problem 1} +\label{sec:org41ad199} +\subsection{Part 1} +\label{sec:orgabe730c} +\(L(M) = \{ x | x \in \{ a \}^{*} \} \cup \{ x | x \in \{ b \}^{*} \} \cup \{ x | x \in \{ c \}^{*} \}\) + +\subsection{Part 2} +\label{sec:orgb60fdea} + +\begin{center} +\includegraphics[width=300px]{./img/p01_02.png} +\end{center} + +\(Q = {q_0, q_1, q_2, q_3}\) + +\(\Sigma = {a, b, c}\) + +\(F = {q_1, q_2, q_3}\) + +\(\delta(q_0, a) = {q_1}, \delta(q_1, a) = {q_1}, \delta(q_0, b) = {q_2}, \delta(q_2, b) = {q_2}, \delta(q_0, c) = {q_3}, \delta(q_3, c) = c\) + +\section{Problem 2} +\label{sec:org9cf81d0} +\subsection{Work} +\label{sec:org2daff9f} +\begin{center} +\begin{tabular}{lll} +subset & 0 & 1\\[0pt] +\{q\textsubscript{0}\} & \{q\textsubscript{0}, q\textsubscript{1}\} & \{q\textsubscript{1}\}\\[0pt] +\{q\textsubscript{1}\} & \{q\textsubscript{2}\} & \{q\textsubscript{2}\}\\[0pt] +\{q\textsubscript{2}\} & \{q\textsubscript{2}\} & \{q\textsubscript{2}\}\\[0pt] +\{q\textsubscript{0}, q\textsubscript{1}\} & \{q\textsubscript{0}, q\textsubscript{1}\} \(\cup\) \{q\textsubscript{2}\} & \{q\textsubscript{1}\} \(\cup\) \{q\textsubscript{2}\}\\[0pt] +\{q\textsubscript{0}, q\textsubscript{1}, q\textsubscript{2}\} & \{q\textsubscript{0}, q\textsubscript{1}\} \(\cup\) \{q\textsubscript{2}\} \(\cup\) \{q\textsubscript{2}\} & \{q\textsubscript{1}\} \(\cup\) \{q\textsubscript{2}\} \(\cup\) \{q\textsubscript{2}\}\\[0pt] +\{q\textsubscript{1}, q\textsubscript{2}\} & \{q\textsubscript{2}\} \(\cup\) \{q\textsubscript{2}\} & \{q\textsubscript{2}\} \(\cup\) \{q\textsubscript{2}\}\\[0pt] +\end{tabular} +\end{center} + + +\subsection{Solution} +\label{sec:org7701586} +\begin{center} +\includegraphics[width=300px]{./img/p02.png} +\end{center} + +\(Q_D = \{q_0, q_1, q_2, q_3, q_4, q_5\}\) + +\(\Sigma = \{0, 1\}\) + +\(F_D = \{q_1, q_2, q_4, q_5\}\) + +\(\delta_D(q_0, 0) = q_1\) + +\(\delta_D(q_0, 1) = q_2\) + +\(\delta_D(q_1, 0) = q_5\) + +\(\delta_D(q_1, q) = q_4\) + +\(\delta_D(q_2, 0) = \delta_D(q_2, 1) = q_3\) + +\(\delta_D(q_3, 0) = \delta_D(q_3, 1) = q_3\) + +\(\delta_D(q_4, 0) = \delta_D(q_4, 1) = q_4\) + +\(\delta_D(q_5, 0) = q_5\) + +\(\delta_D(q_5, 1} = q_4\) + +\section{Problem 3} +\label{sec:orge1c9402} +See attached python +\end{document} \ No newline at end of file diff --git a/Homework/cs5000/hw02/CS5000_F23_HW02.pdf b/Homework/cs5000/hw02/CS5000_F23_HW02.pdf new file mode 100644 index 0000000..60b4d50 Binary files /dev/null and b/Homework/cs5000/hw02/CS5000_F23_HW02.pdf differ diff --git a/Homework/cs5000/hw02/cs5000_f23_hw02_uts.py b/Homework/cs5000/hw02/cs5000_f23_hw02_uts.py new file mode 100644 index 0000000..a45fba6 --- /dev/null +++ b/Homework/cs5000/hw02/cs5000_f23_hw02_uts.py @@ -0,0 +1,45 @@ +#################################################### +# CS 5000: F23: Assignment 2: Unit Tests +# bugs to vladimir kulyukin in canvas +##################################################### + +import numpy as np +from Mod3DFA import Mod3DFA +from Mod7DFA import Mod7DFA +import unittest + + +class cs5000_f23_hw02_uts(unittest.TestCase): + def test_assgn_02_ut_01(self): + print("\n***** Testing Mod3DFA: Hw02: UT01 ************") + lower, upper = 0, 10001 + dfa = Mod3DFA() + for i in range(lower, upper): + bstr = "{0:b}".format(i) + if i % 3 == 0: + assert dfa.processString(bstr) == True + # print('assertion passed on {}'.format(i)) + else: + assert dfa.processString(bstr) == False + # print('assertion passed on {}'.format(i)) + print("Mod7DFA: HW02: UT01 passed...") + + def test_assgn_02_ut_02(self): + print("\n***** Mod7DFA: HW03: UT02 ************") + lower, upper = 0, 1000001 + dfa = Mod7DFA() + for i in range(lower, upper): + bstr = "{0:b}".format(i) + if i % 7 == 0: + assert dfa.processString(bstr) == True + # print('assertion passed on {}'.format(i)) + else: + assert dfa.processString(bstr) == False + # print('assertion passed on {}'.format(i)) + print("Mod7DFA: HW02: UT02: passed...") + + +### ================ Unit Tests ==================== + +if __name__ == "__main__": + unittest.main() diff --git a/Homework/cs5000/hw02/hw02.zip b/Homework/cs5000/hw02/hw02.zip new file mode 100644 index 0000000..604aa07 Binary files /dev/null and b/Homework/cs5000/hw02/hw02.zip differ diff --git a/Homework/cs5000/hw02/hw02/Mod3DFA.py b/Homework/cs5000/hw02/hw02/Mod3DFA.py new file mode 100644 index 0000000..93a7c5c --- /dev/null +++ b/Homework/cs5000/hw02/hw02/Mod3DFA.py @@ -0,0 +1,50 @@ +######################################### +## Mod3DFA.py +## bugs to vladimir kulyukin in canvas +######################################### + +class Mod3DFA: + + def __q0(self, s, pos): + if len(s) == pos: + return True + elif s[pos] == '0': + return self.__q0(s, pos+1) + elif s[pos] == '1': + return self.__q1(s, pos+1) + else: + return self.__q3(s, pos+1) + + def __q1(self, s, pos): + if len(s) == pos: + return False + elif s[pos] == '0': + return self.__q2(s, pos+1) + elif s[pos] == '1': + return self.__q0(s, pos+1) + else: + return self.__q3(s, pos+1) + + def __q2(self, s, pos): + if len(s) == pos: + return False + elif s[pos] == '0': + return self.__q1(s, pos+1) + elif s[pos] == '1': + return self.__q2(s, pos+1) + else: + return self.__q3(s, pos+1) + + def __q3(self, s, pos): + if (len(s) == pos): + return False + else: + return self.__q3(s, pos+1) + + def processString(self, s): + if s[0] == '0': + return self.__q0(s, 1) + elif s[0] == '1': + return self.__q1(s, 1) + else: + return self.__q3(s, pos+1) diff --git a/Homework/cs5000/hw02/hw02/Mod7DFA.py b/Homework/cs5000/hw02/hw02/Mod7DFA.py new file mode 100644 index 0000000..32cea44 --- /dev/null +++ b/Homework/cs5000/hw02/hw02/Mod7DFA.py @@ -0,0 +1,50 @@ +######################################### +## Mod7DFA.py +## Elizabeth Hunt +## A02364151 +######################################### + + +class DFA: + def __init__( + self, + alphabet: set[str], + initial_state: str, + error_state: str, + final_states: set[str], + delta: dict[dict[str, str]], + ): + self.alphabet = alphabet + self.initial_state = initial_state + self.error_state = error_state + self.final_states = final_states + self.delta = delta + + def processString(self, s): + state = self.initial_state + for i in s: + if i not in self.alphabet or state == self.error_state: + state = self.error_state + continue + state = self.delta[state][i] + return state in self.final_states + + +# ramblings: https://excalidraw.com/#json=YUK684eVJcffkGuAAG3rr,K__bSFw7kGK3dLQggSh_qA +class Mod7DFA(DFA): + def __init__(self): + super().__init__( + set(["1", "0"]), + "7m + 0", + "err", + set(["7m + 0"]), + { + "7m + 0": {"0": "7m + 0", "1": "7m + 1"}, + "7m + 1": {"0": "7m + 2", "1": "7m + 3"}, + "7m + 2": {"0": "7m + 4", "1": "7m + 5"}, + "7m + 3": {"0": "7m + 6", "1": "7m + 0"}, + "7m + 4": {"0": "7m + 1", "1": "7m + 2"}, + "7m + 5": {"0": "7m + 3", "1": "7m + 4"}, + "7m + 6": {"0": "7m + 5", "1": "7m + 6"}, + }, + ) diff --git a/Homework/cs5000/hw02/hw02/__pycache__/Mod3DFA.cpython-311.pyc b/Homework/cs5000/hw02/hw02/__pycache__/Mod3DFA.cpython-311.pyc new file mode 100644 index 0000000..7b6a27a Binary files /dev/null and b/Homework/cs5000/hw02/hw02/__pycache__/Mod3DFA.cpython-311.pyc differ diff --git a/Homework/cs5000/hw02/hw02/__pycache__/Mod7DFA.cpython-311.pyc b/Homework/cs5000/hw02/hw02/__pycache__/Mod7DFA.cpython-311.pyc new file mode 100644 index 0000000..9faf32a Binary files /dev/null and b/Homework/cs5000/hw02/hw02/__pycache__/Mod7DFA.cpython-311.pyc differ diff --git a/Homework/cs5000/hw02/hw02/cs5000_f23_hw02_uts.py b/Homework/cs5000/hw02/hw02/cs5000_f23_hw02_uts.py new file mode 100644 index 0000000..e2093d4 --- /dev/null +++ b/Homework/cs5000/hw02/hw02/cs5000_f23_hw02_uts.py @@ -0,0 +1,45 @@ +#################################################### +# CS 5000: F23: Assignment 2: Unit Tests +# bugs to vladimir kulyukin in canvas +##################################################### + +import numpy as np +from Mod3DFA import Mod3DFA +from Mod7DFA import Mod7DFA +import unittest + + +class cs5000_f23_hw02_uts(unittest.TestCase): + def test_assgn_02_ut_01(self): + print("\n***** Testing Mod3DFA: Hw02: UT01 ************") + lower, upper = 0, 1000001 + dfa = Mod3DFA() + for i in range(lower, upper): + bstr = "{0:b}".format(i) + if i % 3 == 0: + assert dfa.processString(bstr) == True + # print('assertion passed on {}'.format(i)) + else: + assert dfa.processString(bstr) == False + # print('assertion passed on {}'.format(i)) + print("Mod7DFA: HW02: UT01 passed...") + + def test_assgn_02_ut_02(self): + print("\n***** Mod7DFA: HW02: UT02 ************") + lower, upper = 0, 1000001 + dfa = Mod7DFA() + for i in range(lower, upper): + bstr = "{0:b}".format(i) + if i % 7 == 0: + assert dfa.processString(bstr) == True + # print('assertion passed on {}'.format(i)) + else: + assert dfa.processString(bstr) == False + # print('assertion passed on {}'.format(i)) + print("Mod7DFA: HW02: UT02: passed...") + + +### ================ Unit Tests ==================== + +if __name__ == "__main__": + unittest.main() diff --git a/Homework/cs5000/hw02/hw02/hw02.pdf b/Homework/cs5000/hw02/hw02/hw02.pdf new file mode 100644 index 0000000..c33b60f Binary files /dev/null and b/Homework/cs5000/hw02/hw02/hw02.pdf differ diff --git a/Homework/cs5000/hw02/img/p01_02.png b/Homework/cs5000/hw02/img/p01_02.png new file mode 100644 index 0000000..ce2a732 Binary files /dev/null and b/Homework/cs5000/hw02/img/p01_02.png differ diff --git a/Homework/cs5000/hw02/img/p02.png b/Homework/cs5000/hw02/img/p02.png new file mode 100644 index 0000000..f649e12 Binary files /dev/null and b/Homework/cs5000/hw02/img/p02.png differ diff --git a/Homework/cs5000/hw03/CS5000_F23_hw03.org b/Homework/cs5000/hw03/CS5000_F23_hw03.org new file mode 100644 index 0000000..a0f08de --- /dev/null +++ b/Homework/cs5000/hw03/CS5000_F23_hw03.org @@ -0,0 +1,43 @@ +#+TITLE: HW 02 +#+AUTHOR: Elizabeth Hunt +#+STARTUP: entitiespretty fold inlineimages +#+LATEX_HEADER: \notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +#+LATEX: \setlength\parindent{0pt} +#+OPTIONS: toc:nil + +* Question One +** Partition Refinement +{ {q_0, q_1, q_3}, {q_2, q_4} } + +S_1 = {(q_0, q_1), (q_0, q_3), (q_1, q_3)} +S_2 = {(q_2, q_4)} + +\delta(q_0, 1) = q_3 \in S_1 +\delta(q_1, 1) = q_4 \in S_2 + +(q_0, q_1) need to be split + +\delta(q_0, 0) = q_1 \in S_1 +\delta(q_3, 0) = q_2 \in S_2 + +(q_1, q_2) need to be split + +\forall x \in \Sigma, \delta(q_1, x) = \delta(q_3, x) +so {q_1, q_3} does not need to be split + +In S_2, \delta(q_2, 0) \in S_1 and \delta(q_4, 0) \in S_2, thus need to be split + +Finally, the refined partitions are {{q_0}, {q_1, q_3}, {q_2}, {q_4}} + +** Minimization +| a \in \Sigma | {q_0} | {q_1, q_3} | {q_2} | {q_4} | +| 0 | {q_1, q_3} | {q_2} | {q_1, q_3} | {q_4} | +| 1 | {q_1, q_3} | {q_4} | {q_4} | {q_4} | + +with d_0 = {q_0}, d_1 = {q_1, q_3}, d_2 = {q_2} and d_3 = {q_4} + +#+attr_latex: :width 350px +[[./img/min_dfa.png]] + +* Question Two +See attached python diff --git a/Homework/cs5000/hw03/CS5000_F23_hw03.tex b/Homework/cs5000/hw03/CS5000_F23_hw03.tex new file mode 100644 index 0000000..634470a --- /dev/null +++ b/Homework/cs5000/hw03/CS5000_F23_hw03.tex @@ -0,0 +1,76 @@ +% Created 2023-09-20 Wed 15:58 +% Intended LaTeX compiler: pdflatex +\documentclass[11pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{wrapfig} +\usepackage{rotating} +\usepackage[normalem]{ulem} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{capt-of} +\usepackage{hyperref} +\notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +\author{Elizabeth Hunt} +\date{\today} +\title{HW 02} +\hypersetup{ + pdfauthor={Elizabeth Hunt}, + pdftitle={HW 02}, + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 28.2 (Org mode 9.7-pre)}, + pdflang={English}} +\begin{document} + +\maketitle +\setlength\parindent{0pt} + +\section{Question One} +\label{sec:org859695d} +\subsection{Partition Refinement} +\label{sec:org55dda6e} +\{ \{q\textsubscript{0}, q\textsubscript{1}, q\textsubscript{3}\}, \{q\textsubscript{2}, q\textsubscript{4}\} \} + +S\textsubscript{1} = \{(q\textsubscript{0}, q\textsubscript{1}), (q\textsubscript{0}, q\textsubscript{3}), (q\textsubscript{1}, q\textsubscript{3})\} +S\textsubscript{2} = \{(q\textsubscript{2}, q\textsubscript{4})\} + +\(\delta\)(q\textsubscript{0}, 1) = q\textsubscript{3} \(\in\) S\textsubscript{1} +\(\delta\)(q\textsubscript{1}, 1) = q\textsubscript{4} \(\in\) S\textsubscript{2} + +(q\textsubscript{0}, q\textsubscript{1}) need to be split + +\(\delta\)(q\textsubscript{0}, 0) = q\textsubscript{1} \(\in\) S\textsubscript{1} +\(\delta\)(q\textsubscript{3}, 0) = q\textsubscript{2} \(\in\) S\textsubscript{2} + +(q\textsubscript{1}, q\textsubscript{2}) need to be split + +\(\forall\) x \(\in\) \(\Sigma\), \(\delta\)(q\textsubscript{1}, x) = \(\delta\)(q\textsubscript{3}, x) +so \{q\textsubscript{1}, q\textsubscript{3}\} does not need to be split + +In S\textsubscript{2}, \(\delta\)(q\textsubscript{2}, 0) \(\in\) S\textsubscript{1} and \(\delta\)(q\textsubscript{4}, 0) \(\in\) S\textsubscript{2}, thus need to be split + +Finally, the refined partitions are \{\{q\textsubscript{0}\}, \{q\textsubscript{1}, q\textsubscript{3}\}, \{q\textsubscript{2}\}, \{q\textsubscript{4}\}\} + +\subsection{Minimization} +\label{sec:org870d4d3} +\begin{center} +\begin{tabular}{rllll} +a \(\in\) \(\Sigma\) & \{q\textsubscript{0}\} & \{q\textsubscript{1}, q\textsubscript{3}\} & \{q\textsubscript{2}\} & \{q\textsubscript{4}\}\\[0pt] +0 & \{q\textsubscript{1}, q\textsubscript{3}\} & \{q\textsubscript{2}\} & \{q\textsubscript{1}, q\textsubscript{3}\} & \{q\textsubscript{4}\}\\[0pt] +1 & \{q\textsubscript{1}, q\textsubscript{3}\} & \{q\textsubscript{4}\} & \{q\textsubscript{4}\} & \{q\textsubscript{4}\}\\[0pt] +\end{tabular} +\end{center} + +with d\textsubscript{0} = \{q\textsubscript{0}\}, d\textsubscript{1} = \{q\textsubscript{1}, q\textsubscript{3}\}, d\textsubscript{2} = \{q\textsubscript{2}\} and d\textsubscript{3} = \{q\textsubscript{4}\} + +\begin{center} +\includegraphics[width=350px]{./img/min_dfa.png} +\end{center} + +\section{Question Two} +\label{sec:orga1d2018} +See attached python +\end{document} \ No newline at end of file diff --git a/Homework/cs5000/hw03/__pycache__/cs5000_f23_hw03.cpython-311.pyc b/Homework/cs5000/hw03/__pycache__/cs5000_f23_hw03.cpython-311.pyc new file mode 100644 index 0000000..f3444a4 Binary files /dev/null and b/Homework/cs5000/hw03/__pycache__/cs5000_f23_hw03.cpython-311.pyc differ diff --git a/Homework/cs5000/hw03/hw03.zip b/Homework/cs5000/hw03/hw03.zip new file mode 100644 index 0000000..1092d16 Binary files /dev/null and b/Homework/cs5000/hw03/hw03.zip differ diff --git a/Homework/cs5000/hw03/hw03/CS5000_F23_hw03.pdf b/Homework/cs5000/hw03/hw03/CS5000_F23_hw03.pdf new file mode 100644 index 0000000..cb3a987 Binary files /dev/null and b/Homework/cs5000/hw03/hw03/CS5000_F23_hw03.pdf differ diff --git a/Homework/cs5000/hw03/hw03/__pycache__/cs5000_f23_hw03.cpython-311.pyc b/Homework/cs5000/hw03/hw03/__pycache__/cs5000_f23_hw03.cpython-311.pyc new file mode 100644 index 0000000..d005ebc Binary files /dev/null and b/Homework/cs5000/hw03/hw03/__pycache__/cs5000_f23_hw03.cpython-311.pyc differ diff --git a/Homework/cs5000/hw03/hw03/cs5000_f23_hw03.py b/Homework/cs5000/hw03/hw03/cs5000_f23_hw03.py new file mode 100644 index 0000000..f32a7c1 --- /dev/null +++ b/Homework/cs5000/hw03/hw03/cs5000_f23_hw03.py @@ -0,0 +1,110 @@ +############################################### +# cs5000_f23_hw03.py +# Elizabeth Hunt +# A02364151 +############################################### +import functools +from collections.abc import Iterable + + +def power_set(s: list) -> list[list]: + if len(s) == 0: + return [[]] + + head, tail = [s[0], s[1:]] + tail_set = power_set(tail) + + res = [] + for i in tail_set: + res.append(i + [head]) + res.append(i) + + return res + + +def deterministic_states_key(s: Iterable[str]) -> str: + return "".join(sorted(s)) + + +def reachable( + begin: str, + states: set[str], + alphabet: set[str], + delta: dict[tuple[str, str], set[str]], +) -> set[str]: + visited = set() + + def dfs(state: str): + visited.add(state) + + for a in alphabet: + transition = (state, a) + if transition in delta and delta[transition] not in visited: + new_state = delta[transition] + dfs(new_state) + + dfs(begin) + return visited + + +def nfa_to_dfa( + nfa: tuple[set[str], set[str], dict[tuple[str, str], set[str]], set[str]] +) -> tuple[set[str], set[str], dict[tuple[str, str], set[str]], set[str]]: + (states, alphabet, delta, start, accepting) = nfa + + p_states = power_set(list(states)) + p_inv = dict((deterministic_states_key(s), str(i)) for i, s in enumerate(p_states)) + start_d = next( + str(i) for i, s in enumerate(p_states) if len(s) == 1 and s[0] == start + ) + f_d = set() + delta_d = {} + + for i, q in enumerate(p_states): + for a in alphabet: + nfa_to_states = functools.reduce( + lambda acc, x: acc.union(delta[(x, a)] if (x, a) in delta else set()), + q, + set(), + ) + key = deterministic_states_key(nfa_to_states) + + if key in p_inv: + delta_d[(str(i), a)] = p_inv[key] + + for i, q in enumerate(p_states): + if len(set(q).intersection(accepting)) > 0: + f_d.add(str(i)) + + reachable_states = reachable(start_d, list(range(len(p_states))), alphabet, delta_d) + pruned_delta_d = dict( + list( + filter( + lambda x: x[0][0] in reachable_states and x[1] in reachable_states, + delta_d.items(), + ) + ) + ) + + return ( + reachable_states, + alphabet, + pruned_delta_d, + start_d, + f_d.intersection(reachable_states), + ) + + +def display_dfa( + dfa: tuple[set[str], set[str], dict[tuple[str, str], set[str]], set[str]] +): + (states, alphabet, delta, start, accepting) = dfa + + print(f"STATES: {states}") + print(f"SIGMA: {alphabet}") + print(f"START STATE: {start}") + print("DELTA:") + for i, entry in enumerate(delta.items()): + (key, value) = entry + print(f"{i}) d({key}) = {value}") + print(f"FINAL STATES: {accepting}") diff --git a/Homework/cs5000/hw03/hw03/cs5000_f23_hw03_uts.py b/Homework/cs5000/hw03/hw03/cs5000_f23_hw03_uts.py new file mode 100644 index 0000000..173d3cf --- /dev/null +++ b/Homework/cs5000/hw03/hw03/cs5000_f23_hw03_uts.py @@ -0,0 +1,63 @@ +#################################################### +# CS5000: F23: Assignment 3: Unit Tests +# Description: Two unit tests for the subset construction +# algorithm. +# bugs to vladimir kulyukin in canvas +##################################################### + +from cs5000_f23_hw03 import nfa_to_dfa, display_dfa +import unittest + +class CS5000F23Assign03UnitTests(unittest.TestCase): + + def test_assgn_03_ut_01(self): + print('\n***** Assign 03: Subset Construction UT 01 *****') + NFA_DELTA_01 = {} + NFA_DELTA_01[('q0', '0')] = set(['q0']) + NFA_DELTA_01[('q0', '1')] = set(['q0', 'q1']) + NFA_DELTA_01[('q1', '0')] = set(['q2']) + NFA_DELTA_01[('q1', '1')] = set(['q2']) + NFA_01 = (set(['q0','q1', 'q2']), + set(['0', '1']), + NFA_DELTA_01, + 'q0', + set(['q2'])) + + dfa_01 = nfa_to_dfa(NFA_01) + display_dfa(dfa_01) + + def test_assgn_03_ut_02(self): + print('\n***** Assign 03: Subset Construction UT 02 *****') + NFA_DELTA_02 = {} + NFA_DELTA_02[('q0', '0')] = set(['q0', 'q1']) + NFA_DELTA_02[('q0', '1')] = set(['q1']) + NFA_DELTA_02[('q1', '0')] = set(['q2']) + NFA_DELTA_02[('q1', '1')] = set(['q2']) + NFA_DELTA_02[('q2', '0')] = set(['q2']) + NFA_DELTA_02[('q2', '1')] = set(['q2']) + NFA_02 = (set(['q0', 'q1', 'q2']), + set(['0', '1']), + NFA_DELTA_02, + 'q0', + set(['q1'])) + dfa_02 = nfa_to_dfa(NFA_02) + display_dfa(dfa_02) + +### ================ Unit Tests ==================== + +if __name__ == '__main__': + unittest.main() + + + + + + + + + + + + + + diff --git a/Homework/cs5000/hw03/img/min_dfa.png b/Homework/cs5000/hw03/img/min_dfa.png new file mode 100644 index 0000000..3d4d529 Binary files /dev/null and b/Homework/cs5000/hw03/img/min_dfa.png differ diff --git a/Homework/cs5000/hw04.zip b/Homework/cs5000/hw04.zip new file mode 100644 index 0000000..0252337 Binary files /dev/null and b/Homework/cs5000/hw04.zip differ diff --git a/Homework/cs5000/hw04/BrooksWeber_Ch10_RegularGrammars.pdf b/Homework/cs5000/hw04/BrooksWeber_Ch10_RegularGrammars.pdf new file mode 100644 index 0000000..20c9065 --- /dev/null +++ b/Homework/cs5000/hw04/BrooksWeber_Ch10_RegularGrammars.pdf @@ -0,0 +1,1984 @@ +%PDF-1.4 Sharp Scanned ImagePDF +%Sharp Non-Encryption +3 0 obj +<< +/Type /Page +/Parent 1 0 R +/Resources 4 0 R +/Contents 5 0 R +/MediaBox [0 0 613 792] +>> +endobj +4 0 obj +<< +/ProcSet [/PDF /ImageB] +/XObject << /Img1 6 0 R >> +>> +endobj +5 0 obj +<< +/Length 27 +>> +stream +613 0 0 792 0 0 cm +/Img1 Do +endstream +endobj +6 0 obj +<< +/Type /XObject +/Subtype /Image +/Name /Img1 +/Filter /CCITTFaxDecode +/DecodeParms << /K -1 /Columns 1704 /Rows 2200 >> +/Width 1704 +/Height 2200 +/BitsPerComponent 1 +/ColorSpace /DeviceGray +/Length 7 0 R +>> +stream +FIqÑG#EAɎPb$OaGnB,!#@F˲(pB_čC ;(r)/@}"sC ,u6P8'@NRgI1ds/9Q8AM, ^E@("*%8` +l([2*!k.,r3p3S AxE<$!qCtq + Nؗj# 8 BByxC +q/O0a#9bav. EqPFTeuH E#D@e&1LpHAELqal%$!Ds#CDC/Q&l!A":A,a"#vb#A;)2' 0XJ? @ adaԏġӤ@C8 CFt#>Gtˤ@$@A H &O;'u aD0/&P1g IFE @PAaďFB(V0a]#$":hQ 0aGA"aB8pJCR+hB@>>e:8A)fDX-[4#BbaG!ǑڄH(< @E8@X #@ftfQqoQQV A(p1B%',+#%QHxabP\NN!1a)A ŕwq#$tHFgcI^B#k'GqG˱ XB"9pF.2(pLEPS]EpA +#AB(ʛ>! dt9t'`HE[E,DGQa È`xadxa 8DvA"c!#2AƲ>_ +$t>VGC4yE=:.&`C1!9 [Dt]%9c0P@B$|h&܎`VNGB%iGDx B +ĺr 8& #b]qA3 X3A,p`BB$ an,C E[Ac^pDs"4,V +a.BGD|C8PȔ8A1A2Dٸ)`PaaDtGi !V3 4L)aBL:eJ٨wL!J  +#<]F >G@@'LWC+-XB")G aF/A t!<#taf U^#EX ;8s"GG,[A ":B'H$*gLpB6DDDH#_`$tNa#;B] 8#:ġmPE: F +\"E!ACr +!ĎeAPl&#|q#nRo cyDt8 OhDO!"82;0NPr*t^.e:0dvmO#taѫ ZrA$tG#q`` :%N AP"Dh'h/ VpB!.DIt}eL+QA3D| LB& ,H `DP(pG +G@FaFB#`Xq+La@8c$aFaFA6Eex&iŴ"8 LIR#0>`{#VP!Bq$GF2<$4}F""GFaF\Hv8"*zlRDDN#0#?\"@X ! +.-фaF20!8#Gb(G0*#Z$_gW +APTTAPPPT$ SBVe* + +\PPTAPT|xSt B#aD@RAuA|G>CDH04Gфa^"""BGGх<VUXVa"#HB!XL#tg* +b*r;aFLaSEa#4cAфaFaFaˣ0g%>GL , VGBa"l0#0DDD>f|8#0/0DGILq)GB+A$\q#ra2* +*APT $taFA<0(1 + @D :0#!_0]F""#a  ²:0D",! &DDMaF""$4c.#]bX! ,Cl .EA 6e 65Fab""$0#D֌#0!X\A2 +B&A7B""!-³""&0!фa]^8lJ*+CL":.:DP)фaF""kGфa `ŷS G@%*&ИB[:0#1B""&0#DDˣtH^T)9V~ r:x@2p@^yaFaXF_Z0eDDDx2$| Eˤ +!!Qܫ>/#?0ь6DD|0aAGXHDKCDHHPфc.#DDFaF"""&'ϡDaa*X1KH|B!7GKr}B""&?E0'ϡ=# UA@``E#+tq ΈDN#tc.# #0#DD<aFqPP@3tDvGXB[#0#:0aF|0eDDD(F}B8HGDxlޠBhtfa":>#>DDDaфaFaDD BcBGEґtDDMaB""qaf""B$t_/GЈфaFaB"#L$#p X :/ U^Ab]g""CE:0#:0"|0!0Pq ݂vSWR:K0#0DF}b""!'|a^"""haGЈ#:R9_P: XG!*B[G0=0#!:0#0DDD#uDDBD[":#::(8ЈF}FaF""$t}Ga#>#0Dv4m,bAh!ˠ0bGFlVt}F1:0#0#04FP@A I$tGCg EyPT +TAPT|DHh0#0!8 &EdA`H] A"@KzфaFab"N#4Fab"""GGф}B"'c0"uta }V PFt*!>yB"""$taB"$0#0#DDN#>DaFaF""#a6 e^0D(SqAPWVTAP!PTA^WD 0#0!DDD_/Gхr RB]( |(8ohDD0#}B""&>DDD#0!4F"""mbH0QGDNS%>'aFaxфaFBt]FaY"""qFaF"'D]#b$tfxAD|xA04]UΈf!4Fh0DD 0#0!#0#DDDBH0#0W8@B*#H`^R  C?9"$taFaFa^"""q#00#0//FJ #a؛l(.88#1XA aF""$t'aF""!"GF}DG; !:qUv>$tG%"kFaF"""GGфaF.e}b"""GF}b""qEѴaFPG": +"i+x̑"""&F0eфc#0DD0#_>DD}A DGqSs(L* +* +2*r*80T7Sha;: !#ce)*>FA}a,DDDDH1#DDHh0ŰE !b؄ToFaFaFab"AaF""BGFaF"""qGф}B#1C ->$t  rF]^"""SDaF2"""$t0DDDN#|0#DDBE+.%Ђc#W +F1#t}F}FE!#0f|0:0>pAetG@&6X`DI)фaG"""q#|]^""""'}x^z!_#>aRHЄXBh䨐H8#0_t XtDtЂF B :D0ф%:0#DD=# 0#taaF_/Ј0#DDD֌#0 +8l# [L1@dDA%pfDFh80DDBH0#]B""$tf#<T$ta#0#DDqBG(sA#HA>!#DtGA!Ir莃)n9PWy^PPTAPTDDDDN#/B"""qFa_""$taFahXA kp::.JH0DM(B"'aDDDH0#aB""s/FaAA Gфa$%#tAb B,Eݑ> DDDDD#_.DDD0DDD|:0#0!DD(EpArp>؛I3`DIa^""hyFaEDDD0#0"A }X !.lH+UaC' /]#""B&|0#0#DDH00#080eZ.XLabhAőaF"UDD֌e:0#/#0#0!:3GgEh$0Ez.aBT]*!6^]"""qF>:0#0# #0""!$taFaXaFePa0l;$qD}GЈфaF!DDDD #0/:0#0DDDHD:ٴ>1Pa ̛DW(B"$taF|0DDD""GFaFa^""!!$taFab"""$taFc.,!>4b`vCGF!X, #!>DDN#>"2|acA F"""GFaFax(B"=K&+EXDtp@DD(#DD >_0"фaF"""BGFaFab""!!!$taF$taF2# 4KA@EA h>hDMB!#0#DDN#لa_FaFA FaX!ˣDDDs(>G@t!PaEK@DJфaB$taFa^"""BqFaB""BBBGF]^"""BGFaF""$taF21""CF_0-*DD:.(#>.TAQDDBH0DDDa_A aF""!!'aFtPЈ1>"a!#|#.☌:>4DD#0!DH0#0DDBBH?:0#0DDD #{=X |ďA  !ᘄ& \iA FA FaXaFa""$taFaX#0,DDDD0"""N,``ÎS!#4'&"&aF:0#!#_=XA aFab""$ta/Fф""CE MA +YS*p(l:!6!4ˣ#0g8#0#:>#!8#0# 0D֌,mD"G'Ҭ&#! DtgA F""&0:0#0,DDDD #_ +DDD0#0!!иfpB$v6Q @&9"BqFфaFaA Fa"""hftc.!DaFb""o0#0"""'aF"8#vG#ADqA3$WX#1㈈?!!#0#aF}ˣ:0#0#DDDְmA2 9Y@a#DD0#:0##0,:>aB""qFaFaGф_0##aF} 0AmBB"Dyxds:.!ĺ+F""$4#"""s/ˣ1B"""8FaFFH- +Ac!xP#FC#4"'aGЈFaB""!$taF"""iF_0""!&h]FDaF|0DDD>#>G38@8Apb>! tGN/WN#_/B""Cg""BGFaF:0ь0DDM:0#>DDMacp@BCP+(pC + -0#DDF"$t$taF"""N#0"""CF20GфaF0#0G]% .^"!!<MaFB5DDD#0#_.#""&TDDDF}X#0y$|"+F/GF1L#:<#0DBH>#DD#0# :/EA0!:0#.I6EA Fg$XlX0!aEDDO"aFA F_/DDD #1DA0#0!0# dtGXA] ETPJ(HK#)#t"""GGa"""BGFa׈FaEDD#/C`Fab"""GFaFaXxU!#V'Aa(d|U * +* +sQ0#:?F3:0! pb""GFaFab"""!$taF: / q &D4#tc/!#_.#DDBH0#0,DDDHh 0#DDDN#0#DDsU9C4$tG$u;H-8Axb%/фaaFaXF^"""GF_/F""BBGF|_0!10#5 a60B  e@F0HHQD{/_=Fфc/ˬDDDBBBH0# #>dDDDFaF`f++@DЈ:0#!#0# DDM2|/# "$taFaFфaZ":7A".,&Et,ALDM_>DD"|/#!!#0,DDE F2>#DGdta0H }R0d| Ol!A)t!.#aF""!!$taFaaY""!$taEC!!G""kFcLJ+@hAJ""]"&JhDDFa""Bo/# _/ˣDDDD фacŜb"&0#DG#BCF&> ‡*q0""!$taF"""GFaFcDDO#0#0DD H_0 3FaFTC#,YC#"9E|EѴab""GFaa~"""qF_8#ta~"""8ለFa{*&4  @AE.+RJRT* +* +D#}0#0##0# 9 ʴaB"'DyFit]B!#(@aAA#DD#0DaF"""CF|0q!#0#0B$"DDD"]/9ˣqDDEH菑аA!0 +#!#0DD˂ЈA FaF""""GA$tvD#h>GфaX"dvF DHT:."LЈBDH_#0#|DDD/F2V""SaB$!#tqDxRB 2,/F<DD #0!:!# >#hDN#}Gdb +]P!eA%"$taF"#F_0,DDDaF2_BfB"":#Ab6BLpX,:.  L*JEAPT\!#b""GA$taFaX!;]GЈE0# eؤ!"A onQC"o:>!6#DDDN#_.BAdv"$4F,DDHAG"/6mV%A 05G0!4FaL:>#DDDBdYFaaF̏"rt^`":!AلtB"GGфaB"#o<#00"|_.$!r4Gф}2<ePegC]mDt♒aF""GF}L8"""GF_/DDDE8#>DH-qDM"4])3B""$4aĂ3h0#DDMh_/HDY""&0#:ѹle8!1EdRpBGtdMF"qGH"""'} eaE8#> PI gRA&hDDN#0FX<#8#0$6,DDHh0#DDqؠxDVa |D\Hb&E0DMrxD_0/X $5G0#DDMaFT0 < g)DMhF"CXrͣ0# :!!#aHH.8 !0#DDGc# SA@,H莋:4Bd,#MaFF"""$tmE99!ġ>#8#>C.P躏p ]@a90e""GR0#DDDBH0#/ $3EB""'aGЈw`"΍ifH BG󈎄2!8!DDN0 +0#04GфaF= 8HDeC,AB +`*9 #4aF26DDDBH0# +AHr01SL#E|:#3GBHF# +B"1#0#DE |XFaFFG2H$d| N_.,qB'B&c0c'g"""BGFaHD#ꏡ`*""`R!Cdtq>К|DM]H.94"!$taFa^""k$3GbGFaB"$taFa#ˣh!HK:/@ X }*F +#8 6eфc.DDDDH04FaFab"""GXA2/@" |$688F"$4a)㈐:&|N xAA C0!>FB#<#|0DDDH0# <b"""GF>DD`bEБ҉|B +$"&DL0h1@rxaFa_jaH;3Fc/B""Cˣp@cC""Kf3LфaB""yXQ"3]8AA H""PDDD0yB"#/ |X pA PeaRI>Df p""""GBqFach_/ˬDDD苣,֋*# Q#qxD@ #aф"#C>_0:0vfDDD<HH@9X""'aB$4a1"""$taFc/FN9iEt_/DsB# Xv!0#DD"90|0DDDBD  v"&aE؈X0A'+Dt" 莒DB4F#ˆDDDBH0eu` c/G#>,bDt"4"]UX1MaB"'aB"ȃϣ0# DDD$  DDIфaEDDMB]iS2Ô9 2фaF0(A ь_/@2rdaGЈFay>eH! .GBGEᤤ2$T+* +?d2ؑфaFab""""GY_.#1 F_/FGB_ЈP/`:?F"eZ0!8#:08DDD0#|B""$tٚ3FaF0#0+ũ!&!YNUK8D]F F CH0#0 c.#b"""]FaF"""$tagㄑA$|NU!y]GI0Iʲ eAPPPT.:!8e|]!B""!$tm'FaF0#0 JK}r_7q4"&h]B"h#0F@mC@!#0# +DDDaF2ta؈aF})RW1ʲjw)YPTAE:0(Fmx]|/toraF]0#Äa=Y^S 8BGXG4G""qF2#0{!#0#DDDF(L0!DDD#/B"#/$$tG!t#EѼBDF\"GGфab""qQc0<|0#_H:d60#050#؈EQh+ @$!7DDH0!H0#1DDQБ|_/-DDDN#0!#>GD}HDం?b^#㤢GEЙF|"'cDD#>GEЈ F%H8t"D##]FH09&tGAtdtab"qEхeфc.x)HgaFa fЈ#>!EaqU +TЍ !:0#DDH_.!]E|DD0(0#DDD0)yF$fvG!PCGA6D'e0DN"tcȝ4aF#Z0#0Ax}Fab,X. z3%дʨ&TAPPNq"+* +* +q"""GA$taEE0DDEy#"I$!A H/ +P@PL*""qF"jF""h""# DDDSh0DDDH<N(CE#/"GBtFOFBhf""qFaB""#ф}CFaCB"$xЈF q#|H8#D#لa#0DDH0#"|0DD>#!lMH0GфaXԎHL,HArJʂ"(H* +*&"#FaFahDDDH0#1F# !"] <] \X"!%1DN#0DN#}ф.,DDd4A FaR /DDD#yDEDDG;9W#"6KH ͡;%B$# +AaFaxHA:!#aB""$taY&#D֌#0,FB"8Q+³hI0!4Fa0,Dc!!8#<8_/qV:H莊6"$tq:#-!ЈaFaA a@vmFay"#фaF0DDDHOZ0!DaFaz Dtc!:004T0WAJʂ* +0 фaF568#aF$9ǘF0#0!b"!`-/"T# ;8#DDD#:0#FaF""#B"BGFyq"h0DDDN#0# #: +r!&tB"y aB"$taB"CGЈ F2Di19F2aYaXFc0ЈaF"""##tbˡĎ|NV*FAQ3Fa>Z0##1)86#0#DDDR:0etaXA H0;DaGф"""qF1 !RAJ +4FaB""CF2DcDDH_=F=^"""!3F30!8DD֌#ħDzDP"r9^PH>DD#!#]a$taX9"!$tf"DDD.Ć0DHL&#GEA DLB"Ba$qFA F"CFab"tG|0Dq4F2a!̺0L}Fab]FфaFaCTm{,Hr:/e:A Pфa_:>DD08ah0#0DG_/"""$u @!>DDDMbGˡ}i"]F"APT r>_0_.,DDDFaFmF FaB8@b%A!aD2(TAU9ʂ(X)RT!#0! pD|DDHF|""""$t؈#>DDMuˣ #:#>"!$|AhFF"jF8#0DG0G>!'m B"$_.DaFtc/ES`yaP#0#0# 0##Q Sh0XB Bd8#4B$># DDfh0eF"'aF|0!DH0#AЈ" +$tGF2"`u F*APTDDLь&aG!#fCLA 0$aϬDDDBN#0#d aX9P3x8@ˬVW">"!#:.Q_.DD#DL>,DDDb;9EDI4}kATz i AC؉A#=A0Gх!_.r c0!B5#DDrNb]A8A D1$t"ܩ 8#0!0!# +ItFaFxфaF""1"$0#:! sȎ N#TabjX#/D0Ј#aFB""$taFXH0#DDD|0f!"@фa!9#<0C@KDDH0!4F"&0#0!E9x#aFmaFaxK"St""qFaag""$t"aDs4A#h#FaF"&aXF}c_DDDN)0#0# !#h{` Dp+tq"tÑ @"GQ.C‡mB'aF0#DDF3Ljb'aFa\DDDFc.e ;#0= Ă A b""%٧"t""$taF""qFaF""$t}FFaxbCFc/""""GF_0(G"a :0!#XAh"Yvt,!!H>$4"GGЈ#0DD#0DDDM2DFDD #}B""BGG/"#&8 B10,DDIta^qcApE@3Bv8#0DDF FaYP!D#1CфaFF Fa1[#B]Dt7x (APR* +aF"&mDDED#]}eьaB""8 #Z0# n! )LixHY[JHDԄDD#0""""qFh0/ CN#1ϢDDDMaGՒab"kGF! Cr:## H lDA9P$#b42ϡ[J)x0#DDN#6#1˨0,DDR1EDDD#0# +!瑄aB""GGфP! B#B!p@>! IF!:00DDH0#DHy| DE]s8#aFb"$0#aF!@DMdxpϐEZqVTAAA^RAфaYDb"feaB"""'B0(Gфaˣ>Dp.#hREX"轂(t*f!8,ID0#'FaEЊGDDBNfF/B"""s0#0!DMh4Famt!98F!8BA@fFA aB""K""'a3фaF""$|a#.DDD0#s0Fa|Y":.#DtYtmDaфaD0FaDEDDD0"a! aEtaFace8:4GUit]`\B&DxaE0,DDXF2|Sͣ0,DDcDI>aB=DFa "sHAT!#!0DD0#DH0# DDL0#"""qGфaF8>!tN#AĎ @MhDH/"hDMaDMfDDNfaY0!DDDN"1Gф""KB'B9/A^#BA >]F28D0#0A f0#D LAȏEM@.gغ0D0#DLьDMaF}"""GFaHgaFaA Gфac""kF"$FPˡ]E `}t""GGф"gFDMyaB""CFad|}9""GFaF}A B"AQ|H DE@hDaF"&}DMta0#aB"8aFF!$taF"""'aF0"HxфHB"K 8 B&!#YD"yCD0ЈG""qϡ0#Da)|a,Dd0:#0#0!"0! HbGH pvG,Kh ty ض]B"'"$ttDF""$t}Fa "8фaQFaF}FWфc.Љ.,BqDY'qD!8!Z8""GGa03GQ!#0#0<(Dt'{$bUDDaFB8Xф}GЈEaFa""$4P#DMh0,#"a +gcq7Na ;H!8!3F"hDD#0""""2 #0/A`t{_.#0# +Av}F{>!Z0#dthK p8>(!B'"h#%ф"&}xFaFgX1Fф_>,X!DDFaB""q]7 hA!#)Y[HP(H)YPTABEAPW,TbC@:0FьDDD1ˣDDFC8:00DDItaFAY!#AGVXWH BmaB""GF}B""qF""N0e2 +(qF""2 cD #0! фaE08!FaF0х_#aЈDR.фm!3G0#DDH0#DD>#]DDDA;BH0e']F&"a0">mFR4F}B"qF""'aXFckDE1:0eь1a# ϡDaFaB"&0DHBqHX!#غ$#DaXF}B""qE_4J"$taF1fь_DDN"aϡ8MaFфaC5#@ &G/ *A\VҊ6TAPTq8#""HF_DD#_/DDMB0#68#0!Df,ÄqHK:#u5@|B&h0!5#hDD BH0DN#|/FA FyQ?B""2H0#0DDJaB#&1R#,IЉaф"HFB"$taFc.DDD1 х$aFh0DItaF]B"""h#tHB"tF$6m$t]a8mB&05# _0#ABH0f[g B""$t}FaB""h!0"""$}B#qAF:#:8˲&N!0DH0I0#:?B""'tc/]X""GG_0!4FaF9826DXL%R@Y;Ft"&"'DaFab""2880|>DDDaFPR0c.B"}b"9GEUEAPPPP^T s+p0DDq!3F2|0#0#A @DDD}!*#ED2}0;F"mFф"Kфab"h#0!#8h8#4aF3@FaB""DDd F#G 0@% # "GVv +#DMta Ft"NFaX"qFaYaF"""'aFaB"#Vf|0DDF4H!:13FaaF""hБ_0#DDDH0#SFAt""'aFaX!VqFFaB:(v9ACyX莌":(XF0DD#D"uaFa""!$ta@qFaXaFcDI0#>-Yg+ +B"!/h [$* +AB9Ċ* + `y08aFaB""$=Y"GFaGЈW@$#Eh!!AD]F"h!!"qF|DaFaF""GFaH3 #DDDMaFaJQ!>  %ЈB B]!D"qFhDDH># !!!#0h_0/8#0#DDH4aR +fфaB0#"@3Nw(sS +A_#0"::0!8"t"$4aGМF|aB""'aX"#AA FyaFa~""!'jB#фuF FaG{* XB)B'i0!0:0#:0#ϣ0 +8,DDDBH0# 0D#s#0DDGH1 +&,s]*B$t&!#"'aFE""'aFb"!$taF8BH0#8e|0DEDIфaF"""CFaX0"!YWe5<$,DH0#DDN#0DD0#!#0 E<0#0eфa!4EmFaB""$taFaF! )tЈA2(pMeqୖ`?DDN#4E|DHh]F8#0E !.ЉD$t""v6F"%taB"h#0DDN#0!:!#0}Fax2G^"""BGF}FaFFaFab""8A ˠ +A"y:0!:0!04F|0DDftc.# `qA QbBGFaXaf""kFaF""&0#$t1a BX A2!6N"&ta0#DD0#:0#0:0 E8h0#d DD 0|]XF!0#DDDM""#8.`$4aB"$ta"'aB""qFab""$_.QˣDDDN#haFF"""GFaFaFV#0\2)BG+) GĎ菛!;'EDB"'aF""BGGT""BGGь0#0b4mB""BGF3(B"""GA$t}FyF}B"#Ŝ,L2h0DD#8#0DDH>N_/X2#aXF0/E%фaFa FaFхļ&!!` $r0'b|DDHsY[* +HԌ#0#DDJtaˣDEP^B0$#0!4Gфaф_.#EH=8#0# 0Db14FaЉ pQв&ѴfC + * +T; +0Ty@EAܨ8ȈN@#]9""""GF|aX +20DDH}, Xh*p& BʀB $""qGЈFaF28##(B#"""$tabqF|_/FфaF}FDHHFXa (pB$|DvZ#DH0"$t}B""iF2ьuB"$t}H$tc/y""""BGFaF8фaYc.#*фa@ )ʄBe:qD|G8 !#HF0"BGF{/"""2D0#/""$tBGFaFaDDMB0ЈF}b,L!eqʋ #8 #DD"""hGьa#=F""q@xA aDϡDDBH0#02]Faaˡ.e d|BL"$taB"fDDLc!#""8Q#/# #B""8B!XфaB"kGЈ#_0#:0,DaFaH&90DDD #0!]Y.#5DGfAAfh0D"uF"GFtaDN"1FфaEab8EфaFab""'a#tc>GDaD#P9) #9"+uAQ#//F""HF_4Gфa^"""'"q戾_0gфa"""h#04aH#Gsxb"BGFaF""""iGF3DDPDDM}[ܾ%qHl vP#D0"##aB""$taF}# +18#0# aa^"""GFaF""qF$taDD0#4ZV!.A #Hq/CXEDFG""&aB""'}FaDDD 1!:0#0DDD0|1DDф}GЈфaF1ۄ@   EW#:0:0!#0#DDF"$taFaF""B8FaFFaFaXB"""G@yaˣ""!$t}F#GA'@/I%9[E4aB""$t}F""f""!'ayDDDFD"!$taFaFG04FaF""&aGхAHˡ#"%H0DD0ЈG""$t}F""BBqF)$taFa\qF} V!$taEDDDN#0#":B eq@pBhhDD"taB"'ab'aF#0:000!DBH0#0/EaB>""$>#DDMyueЂ:N"F7'0$axFaB""h#0#0DDDN1:0#1FaGЈA FaF 8">'_/FфaF#A|!8IA&ЛFy!:DDDFaA $tc.BH0eaF""$taFaF$taG0DDN#0#DqF3菄<`D/(tm H="'3DFaF#0#0,0DDq:0#0 ф_/F"}FaF""""GF}tIWp PIĎ;V/8#DF"""GFaB"!'c.#DBH0eх <1F"""BGF_/B"""q)qFaCFaFXф% ]."""&7F2#0DD0#08³hDFDpфa"""&0#0r4BGFaFGњ0 à@H(9A` aGvFa*DD0#0DDH0dD #Ž1#|""""GFab""2CH0#Z0#T: D\Dq0DH/FaFAA FFaF9taCA3FaF3DDA$taFaDXhL!8#0>DD0fatB".|#.Nđa0,D#8#DHh1G@EDDHH1F8 X#_8DN0#0!:00PDDlD.#ф_/ˡ#>DK_:0#0!DD #’FBGFaX"!!!$taF0DDc:1EЈFaEEI #]ЊE@;D#DH0# <_0DaFFaF|DPDDDH0/#tc/F83G0#0!4F}d(K.,q'B!$t_#"""GFaaE؈фaF"""2CDD #i!#0#DDDD0#0v""",D|FЈFaBa">GBA>"BBGFGeK68#0DIaC F""h#0(#a~"xфaFax_/F]!FaB"$t}FaB""$t&0,?g +cDDO:0#D/ˡ8#!#_!!#0!DD 0#0/DD!!#ta"'aB"""h#0,>Dp@ + L|O#v!B"&фaFaDaFGфaFc#a^#!~""!!$taFax|0"GЈFaFaF` BDs` 'G#0D#:0#04FaF20/b"!"BGFA FaxAA Fc.f"Љ F}b"""$taFaF"#ӶVB(H.:/B"$axG"$4aFab"""GA$taFc0,E">8фaFaFYtaB""'aFaAB !H:.@ؘD| D#DN#yFaфaG"""GF20# DDhDBBBN#!8H0# 4x0DDDN#0!0b&# DC +$~EьD#80DDH(F"""!$taFaH ya_!!#taFF|0#.6#DDH0#0!D HBGYt'$taAфaфaD #0DD#0#DD e|0&b"B!'aFBqFab"""qa"""2DFaB"""$taFa,.HYD ^]eDH]b"&фaXF""qFaXF1óh,dG""$taF2taB"""$taFaQFaфaFaG\0ANdt ʀ9[%* +"$taF B"!&0!#0,DDD>q$"""$|0:1ˣ04F30# DH0#DaFaX @BKB]"G|DBH/DD]XFaXA a! #|0#0!:!#|>DDDH0#0 6#DDD#0# ,8bBaFDK"_D0h0!0# DBH0,DHьq:1ˬ eDDN#aF"!D#0#DDDD#0!TD8N @A4vMEЈфa$eхA FFaXфc/0#GDDN#_/FAA F(qȃϣ0DDDF0'G˸x qI +BaA""$taXфaB"BGF3!4F9#]X""!$|Ďe|0DDDFaC1:0#0DDD>#6& ʉb$ux/:0"8e""qF&aF""""GFc/Ժ0#0FCDDN#|{# #> #8#tyˣ0DDDF(#""$|M!EBm_.!#0DH0#!#0#DDK/ф8 xGH|_.,DD>#0/DF,DH #0#DDDH0#0㉴XPX!H.:<# DD"""gˣ 0#DDDH0#!9EE9a+;DDD0DaF:0#4FaGЈ.0 +@DDBKab"f#PPT|DD0#0!0"""(J""'_c:6|0DDIфaFagЈHh""!$taFaF0#3F;ash:0ЈFab""$taB""'_/FF]Fa<#0!!8#04F#|DDDD0-e BP2l@0BvZD0#L_.!!8##_.DDX">"""GE +CHxF|]XFaFaf""8aF""HFaB#tʯ&k0@BGF|DDH_.DDˬDDeфaX"1F2LjQ"""$taF_!!#00#0F3a""h `F":#t&hhqh3Fab"iB"Bh#DDH>#DDd(DD 0CaE:0#0!DG0hDDDь1Fa2:!#6Ah.a"GA$t"qEDDH0!0# ::DGta8DDD "_:>#0|0DD."""""qF}Y1b) BGġEьDDB"'2taFфaфaEDDq:0 bGFaEDD#0#DMB0*3Vˠ@0DH8L#D'a 3F"h##4y:/""""N#|ab#"""BGFaF""!!$tuFh0#DDaFab1FϠ@Q<8L':/EЈtab"o/,D6фaфaF_>Dq:0(D| #0# :(Fe|"30Ba9t$#DxDDGB&!;.,DD#!#:1EЈ="""qF"="3kDDBH0#0DD#0<"taP0A.B(!yB""qGaFa)_0 F8\ytaфaF.,0/#FlKA`*e:6e#|"'|0#DD0""$<]Aa^"#""!!$u|#0#0DDD#>Dq4F2KA!#aFa!XBGDxK[Z* +DD#DDN#]N#0!#0x* +򠨏"!!!!$taF"""$_|_/ gvw(t ++'&Ѵc5!8"t""o.D֌"|DDDDBH0#0DD A1:0# DDN#0ل"2r+sP!VSyq}F B(sĺ!4L* +* + Fa#aF""!!!$tafy_0/n<0!#0#:0ф  0DDDDDEq"_qѴODH0:0хF]a# 0q(HA FaFA |_/DD\_/DטFC<APTLgrB'хA$y $tv.!:0# :0# <aB""GFaF"""$tBGFqA$t_0#>6:0#0EDDDDMњTLj sȎDG !:0>DD#ab""q""h#0# DDDH GфaF8@BBA_/_/6""!&ya[<A٪s 0@K IfA B'bD>!0#DDDFBqFAA @ 0"axJsa"""BGFH_""!$taE$|DDEGhreyP} +)PT * +sP 8#Da/0 CDDDSV ˣ0/DF'aFc&$|0NDE# 2ᕵeAUAPTq#0DMaFFaF""BGFabGFaF.M[!!Y*Јu}Dt#uBa]F9g* +A ZcA|0/0\FĖ!DaFax@ !#9C +ʈFabHFF}b""'aF"""BBGF7(AABGFa_ɏDD Na$ta cR|DDD W~"$f̺#EdD!#[(p}APDD #DBH0# :0#0DDKtc<#q DDDc>]Fax|( Fc!5GAO!E"!" 9[(;#tab"h# #0""'}Ծ_>_CBGFa,S* +!#0P@!!a炠)YC""CXq LʰBq]*el* +QфaFф_>DPA ˣ1-]Z.#hEU"'aF"$tFea@q:H#0,D0# :0#1 Fa !#0#|DD$_/_( :0"|0!taX2M@O!!E!:0!:=B""qFab"! !!&x* +;APT9 3PTxDL/)"""'aF]}Pi$taFa!#^""qFA F|0!09ĆN!0;)ˡ#tc.C$_/DDBH0b"qF_DDN"tB$taF2|_H $_:!9#YX  H$]F>8H V8x03XQ8Ba!$0:!&w;DD 030#DDEyq]o$_/"("1FaX]$G! }AFфaFAD!DD H;!#|DBH0"aF2"&/#tBq缺"}%/""$ta^/F"">""$taqT$t'TsahDDN# ! F"'\>DD2;爎8"?b; +sPR#0GDE@F}X莂DMElDgbH"'_/""$taD18 F2_0"ф_0DDHS:0#B6oN!!0(sQs{+ceAP~w* +"$taF15g#:DD[AѭEDDBEфaF"0Dt]xaGѴaFab \DAa:/DD#""KDH>CBGF2|aT]""BGF}E4FBGF""K{DDD/ tGG A "&h0Ţ0#DD՗Fgrx*90H~"""?+ +*8H0#DGF2YY#ոFv(!:"aE:1Љ%!!#9炼*E9'V""!$taFb""&S%H0#DG#Ii b%ѩ tD^T%Z<##tm0|Ǡ/琈;*.j#0DDMYtaF2Dh#a#0##ExB"-""y ڴaBPB( A3ܨ;DN#tcD_/"""5~EОFaX #0"""$5  E1!DGH#'N!h0F}\DBG]|OFaF! Ob"#HaFaTAPw*BA!$}&tD H0#0b"%@"oDNQqy~Dc A0DDAaFфaF#FaӺqA F>HG#@0>9q!7h$]F""GG;C0#0!S#*""# +H#0a~"!"tc/T],A$t""!&D#>,ByB!$|K4<, bFab"]""">""!'GA!$taGDDBBBN#u""0grL/"8e@G*el(;p!!#yta,DDBH0# 0w 2>JPA + "ab""w?GgT !#0 ᕡNPH+`TF㻸ЉF"""GE1Ј2t0_/Dbp!#}"Bh$"3DXH #DN#> pAa +B"#DtXAFaFXHFE)B!8$t'}Xv]B]@<Dԏ#aBDN#8FaY.#0##uAAA"0,BH辢"8A +(f"P BGBq#:>e\H0#0,DEqAфaˡ0D3^TqH%""ΜWHꏯ(ЛEф"&ЗBĺQXFaY"!%Q@b""#:0#0 B"B!!#  #""6=#>'!&qGAD#aB"gGab""'aYFaFфaFab""8ta!b""GA$taFax_.faH#t#A <\HH(*#Da ڴaA"'aF:sTBBBBBE?|BBH>B30/DDD#uEXg+R"qaiL$kB_>DSBqF_0'A 00#]tQ!!#0#ǂ* +!#1B9 GGFp0b"s+hmF؈FaB""!+@ R0# )20DD #&%S>#08 :0؎q$ B$|Bt""o0(r)YPTAZBH0#DDBH]ˣ 50%:o!!#]F8#0%DD F]A@)3FD6@>!taaF :)LˬDDD AAPWF2uB""""G˥F| h0 DD>BE]JtGL!#8"F2#0# 8#0':0#|/""!$u".]Xфc.e:>#0+:0#/b""!!$|_.,qDaXx:;)F"*""h#0DDDBMhDDDgԧ* +a_/"BGF0"6#9DuBPH 0#># DDD0GBGG0s\} +⸭ANqyNw;+* +)8#>DDH|=DD;DGGb"'N#D !#0-A $|"""BBGFaFZ/2#b$|L!6Q""']b"!$tF!#>]"" t]#C3|0,DDO"|_BH/!oB""h#0!:00#ht !:`hBS>D,0| !:0#0 0#H e_Dr#a!:!#0#ˆ #0DDHh_.!D}a*$sGb!9LعPTg/DFc#DDBD 0DD3*""""C!Gtw<Hvc/F/DDq:(FaFaEG +D:Y*B""G@xw;Є0D#0,D/">>""GF|DDD/E|aAA aT}Fab""&0#8LqCH4AK;,Fa!!#e"$tBGuˣDDBP0aE;9ь#0# Dd4F"""kFmC BDDH B""}F_wa FB'aF/ˡHЈԄv"""GF3ab"""BGFaFA0#DM}F14G t_<%фa;ˣ  Q!!}JreAPTq +a(2|!E|_0#0/DQ~"""&>#DDHf#G %A!#'D""GF'}X0#tb)!#1.""h"|_/AA FaFaB""""qXADDDD HB'`taw)TTDD DDD|_.DDE:0#ŒLw;:>#0FC8#0"HgфaB:H]ytGFЄB&Јфa)#0!4Gфan"N#_0EQ#|> ۈф_0"""BGBq)gaFaфft"""GFˠEyC0C` "hKhMl]b")ˢ[DDH|_DDB a3ܡ!#0#0qt"cK/GLQZTAQDFat!8#_\DIфaF"fь_/_b""BGF}F"""!"qH!GфaB""j#.DDMwf"" $_DPEtDeь_/XA"0!!!#ab"#AA FE|aDDBH0#b3hDDDB""kF30#t|A R4DDBH0!/DD0eЈ#|/"""GGфag|a^"20q:0#0# +]Fah0Ѵ"""$tayᔜ":.hDeЈ/^( ]F>DD #0f2Aф`фaϬDDD #0# 0#""'P# 3GFaAAA3O8#DO"|aX""Bq)QқF30FBaHb"""GFaF"""h)kˣ0F8D|(Dt]BGG|.4Gb.DMta~"$|1B""]Fc/фaϣDb%q"""BGF,DHAфaFab"""BBBGFaF18 0#0b%XDDD ># DDE $"taItaB"'HsZFN|05e|0DDDDH # "8(:!#ˆͣ0# #:!#|])FЈ>0фaF8A0A ]%D]F""'aB""'3%:0:0/8#0# EA""'aF"""1FG""#YDʲBLtaGe(B"']FaGFmDDD 0#ax""""BGFȃ!#0#8g!瑴"$ 0!0#@HG DDDH0,DD#L//F""!$taF}FaF8Iq"B"$taFaFфaG!? 1)Qt&ڮ_!7B"$4aEDDD"LjфaF#B"""B$|хF"""BGFF_/# 3DDGфaFah(AA !P +kgr*"&0!!|DDфaFab""!' $taFaY"QFa_HXBh瑚5!A B;,F"!"GFtaX#0Ј#_0/#0,DgD"""$tc.Ď#0#DDD|29cy0DItaGЈ:زr(aRsPTL!:0#DDD0FaG""$t}Q BN#0,GDDDH0#DbDN#}фaFaAs!HEل'Z0DD"ta#/DD#aGЈфaFB1""BGF2qGFaF""""s0aBFs>DM}FaB"""GFaF""BGDt&6DH0#DN#0""BGFaFa^""",q'aFH.;DD F0!D#># ]F2莈BDGG'T]'e8"|!#0!:/# DDDDH0#8GY"""$>$ljFaXF|0$C80,DDD 0#0FaD~K$tmЈE0DD0#DDDE !#aF"""qHqFaF2 3 8#3B""1A G0DDDMaF&x"NG=#""$taFaDBN#>DaFa.B #0#q4F_/Ff.#>!)GB':L#h- 3FфaF""CGх"$taFc'FaF0#F""""BGFc/DDE +8#0!DaF9jP̎ф""GF_.!!#0#DD #0/4FaRC/‚"#0eDDD gs0##0#!B0-"DDL0DDN#00"""!"qE""$} BBH0/"""!$t/F2FaB""$4aFaB"?/BB}D4v#DD#/B""GFaF}F""&c.dcyфaDxфa8фaFaHAaFB""CF}B"""tXDt R]^""qFaxGфaaGaDDb%!#?Xa#DDU0#DDHh0#099H(AD!.mB""BGF_.:0#DH>#:.eфc/_^"""GFfh0eFa\aF""$4aF"""%:0 4LQЉaˣ 8#DDDBN#0,DDD фa"""yQ-!"GF2/ B;1"""GFhaFaF""!$t}F.#0u DLbGDDK@N‘FyaFaf""'aF"""'_03HqFaDb'_0"""BGFaF#]""qF]qCB$t"BGG""$taFфaF0e""# BHO"|_/""$t}F2|0/ +9 DD0#0#0tu.K#>DD Lj"_0F;/}Fr8DDD#>0DDMH0eь}фHFh!6Qb""!'_0 :># QaB"""GA=aFPDDH>#pD|0㈈ F2:(A!<:DD0"D,#0eЈFhaFaB""# G/Eb""BGE0#F%(DBH>!*3 mLdxLa"]`##0"&0#DDD0#_DDDHh0#‘ˣ}DDD aFa{A aF2]y"$1EH B&МB%Ј_/0b""h#]~"">#0#DDF$GфaX琈AGфacA05daFEЂF0:6""BGG"$0#:0#"""&0#0q{!T18#0,0DD $#|]B""$aFh3B]0"'_/C"tc4FDDFaC"ÌDDF|!$DDBD#0# DaFa.# A96DUXA a!B0#DDNeDBGFa\Fo/A H`rv"]FaYA Hh#|_.!taϡA EЉ$paB!$t_/ˡ0DH/"'c00DMA FaB"""8FaF,Fm^""!"GFaGC53B"$IFa .T"vZ/!#DI?e"""$taFaFa#0DDDD 0# 1!#4yфaF"";0:/!#{R6ЈFaF!GA FaF!<DDN#0#|-DDJaE>#  EўHF 2:0:0#0DHFDc/# !:0#7DDX!#0#CXyB0'B"&0!"$t.!'G:/mф"""$t}FaĊ#bm?DM/# 3FaB""qgф_/#0DDDBH0#N3y|aF88H #0/DDQE50#!!%5:%Јфa"#7F|_DDD#0# .# DD#Б|VVMhQDDFaB"B&0:0#0!!!#00#DDq:0#0#\qaFDDDBH0#0!L:rPD0#0DD 0DBH0 DD0\DDBBDe_99ǞW|/FmEDDN#0DDDDMaF]M( ʎ""qF#0!DDBH0# #taRCH0# DDb؆ь0# 0DDDdLjFaFab""qQaFa,DDDחF"""!$|1|lEF""""yFaFaF"""GF}FFфjX<] L!%фo.DaFab""GFaF""!'aF""'A #0eDDXD]F0DDD0#0DDDHD0O"3O DDaF""BGFaF"""qF_0DDD<#>:1fF2AA3PTANAya!0#0DDN#6Dt/B"]tOtvˬDDF""BqFa^"""GFaGЈt]BGFa!lDH_.# !8#0#50Dqv&9G B"sDD##0,!:0#'Etaf2DDN#a"gDDD0$C@mFaFaFaB""$taptfehUmdQTAPTDDDH0#_/B""",BH0eDDDEBH/"+""'aFaB""""iˣ0psDH菗ByB""GFaB"!$taFab""$taFa~"""jˣ0DL0qٽq!!#@ 0#08#0DDD3F`L#DB$Ie""j:0#!!#]#DDO#م!t$tBGFDx#|]F%0#Z0#>G &Dt&Ѵh!:0#8#0/#0!#F2aфaFr""$tBBGFah0#4FaF: * +U sQ$e"!!$taGЈaDDN E9 Qؑь0e_DDb"0|""$4aF}0!dt8t&ЈA FaD #:0#0# 0DDD ##!GaF \y"""BBBGFF>DDN#06,C#:8#&|o4̍r{DDH #DDD #}(aQFc/E"#"% a^"*"$4aF}0#lDDHDL':0#"'aF""BGFaCaˣ|dQ"!$taFa1Aa)a#5""kF'EXG3i12]"]XFa}b""!$ta)8ĎHa# DFCPv$taEafaЈ#0DJtNФ$t"B8N#ta@ˣ,DDFaFA ]F2f""""BGFaF!G]~""""GF0F"""tDbTG0D;KF|DDDH/XAAA ˣt"""$|_0ab"""GFgфab""$uC!#0#0SDD֌#>MHCnaF:DM>"&фaF""$ta""h#0DDD "|_0/5GЈфaFg'aB""ha0""GA"]؈#/B"""BGF2]X|0/E9 1H0#0,DDF:0#0,0DD֏Ј0GFCA%PL5!h0#t_.# !8#_:0fC!:0#ta*f/Z0#a�DJ!#!OG8iDD "|DDD_.e9FaF8A Q#0,DDD^Aq؄фaFa$#|DDN#aCt"]F23ta0#B }XL!:0#0(A^8ãZ'Fф"$ Fa8HH|""h#_4фmфaFaX)$taFa^8L9cA:0#0 ""jF3]0"=DNQTAFrbw<'aF2 """"$tBGF8CC4tjDaFa #:5bF::2DDN#""qaFaFA F!"qFaF"#!$taF͡]E>#0cF17CaB"hфab""&0#0#!0#0# #DDDptaD|DLGЈA FaaAфaFaHBDH0#DDFC;8&qED#>8#0#@""PPehVN#xb""GF|_/#0/4FaFaFaY"""'2|_."$31*ф""'aF; 2>N#DDE :!#0#tab"""!"qFaF2irG3DF|>DDD>/PD !hFфa""qFa^""""BGFaF!<# F_#0&B""%ЈB"qF"""GF_/aFaB""$taF]FaFab""$tyB"&>DaGфab"#"GN.#TaB"&aXFaCA /׈!"!$tBGFy`b"2 +Cn;#aFaфaFaB"""qFaa1O8DN"taB"$taE!#0,DDBH?F2BP\0/>_/˦C`B(DDDF}#0# _#4aB"d0!4Fa^""h#0# 0eJ#0!4FaFFaz<sDM|]|0# !!!#0DDDH0#] 0#DD e|0 8N(DDD0DDD>#0""#.DDG<#DD#0!:0# 0/:?eDDX/taB""GFaE0D|DDBBBH0#& _.#DDFaDAqDDM]ā:0"|!!#0 4}q!:0#Sď"""$taF|a2(r >0#5'F8Ď|O4"'aKDMt}"!'0#DDD 08""BBBGFaFa "#]F""&aDDYW "0Qʑ2* +*:0#!Dc//DDH #//DDDH0"|009Qaf"""y!0tXфDvGBq'F F#!!#0b""!$taFaFC9 !#!$#DDDz"&DDDH0!:0#0!:"|_0 DDBBBH.9ǛF2|a~"""BBqE DQaXфaF180$ EyZPr*B*XT4G"""iˣ"""B!!$taGхgD_/ˣq!8AqD5"taB"""N0쎎"B#8D ##tc0фaF8фaQFaFXA Faf>#>,DDH0DDHH0#0,0:_:!0#|0#tGES9N|*@E A\PPTsPRBDH0/x"""GF2|]b"""'bw!G B"tF}B""$t}GфaB""8*t](ؑКК#0DM2aF"""h#DDD #фaF"""$taFa˭h8V_.b""hB0#0#ytGF1HM‚2фaE>#DDDH0#0E:6|0DD 8B"&0"B4FaBaB""8@;a | BN!БфaFFaFфaFaFA F9 :0#~:!#1X@#Daϣ}a#DDDH># fаBgBq0#4F_0,DDD H0#0DbDDO#/:0c"""'aG00DG]ByB$tG@¼(+ʂ"* +ca$BBGFaDDFc.,Y!ā(FaF}>"aB0#G]m!0#.#aXFaFa"""h"|_.!!# HWmB"""'aFaaFaX@D8#0DD #0#DDDH0g#0"""GH10!8#0DDD0# !Hԋ8DDHh0!!#0gЈG҈AA F2"taF2E"'}Fa}Fab""CF6O#0G*J +VWAPR"""GF|0,q$#1,|0G @G|0,DDD08#0#r#}D|YZ"* +A Gф"""BBGFa#TTT F2|ab""BBq0DDH0#0!0#0,DDDN#0)9ZP +(BGGфaX0#/:/yt""mB""$taˣ DD F]DDBO"|]!#0#DDBD/F"""!$|0#tacaFaGЈF2taB# H:Љ_.DDD#0:60!!!#0b"""'aF Fфa#0,DDDD#DDDBH0#DDM# e$eфab""qFa0qy|_/"""GFaFGЈфa DDBBBH0#|0DDHh0#}uB8!. 0:(B"2*E:!#00##:!#1B"""CFaGЈA3Nx* +"""!$t}F0#0#DDM0#DDDߘpB⋔ܨ* +QY^TAQDDO#/DDH0#0/:0#0!DDBH0#|0#DDDD0#!Da|>ل!Sh0#A!Tc.!#_.#DD3FaF""!!!!$taF28 #0/:0#0,DDDN#0# 0DDFc.DDDHb]A*4F2taX0#|""""qE#:0"|!#0# #0#0!#_/V#yb"""]F)xH"B%~E#]0#0#DDD BH0#}qDDD#0,DDD #0#DDBHH0#R>DDD#|"&Ѵ]2AT sԊ* +""GA$t_0#DDBD1Fa~"""BGFaF#tc/GDD#DDN#R0#0'#)|ȵGDDDHyta@#0#0,DDD >_/FA FaYaфaF8A Fc.eя?D֏BDxDׄЈaˣFc/F"""!"GFaF""""GF_/F""!$t}FaXA Fa_Eь_/EЈ#=ϡ#0!3ȧIГB""f""""GFaFab"""GFa !#0#DDDDH0#0!!#0eф""""k#""f#4_<"D!<莁5etaDDA FaFFaFG0#!#0#8_/|DDFaFaFa`39XDDȕ1D_/"!$taFa^"""!!!$ta# #0#ǘB""!"BGFa^""!$tBGF_/DDD#DDM0ucg+SD0$e|0DDDD0#0DDDH0aXFa^""!"GFaF?DDD"_0#DDe0:0#0/ DHh!>DD/ˣh_/# :0#"""BGF2ta^"""!$tc/ DaE0DDN#0#DDDt!!:0#_/фaFA FaˣDDDN#0# DDN#/Ϣ:0#taX|0#B6#0!DaFal菑!! Da^""'aFaCфc/DDE#ل_0!DBBH0eфcq:1琈ь_/фaFaB"""GFaFaB""8B#'фaϡ!!#0# !#1""$taA$taF""!!$t&ta""'aA FaGЈFaFA Faa* +✨+e(L#IB""GGф_0,"!!$tc.eDDD0#DDDBHtaˬDDDNe|0>_0ac GDDDN#0#DDG!b!%B"$t8#0# :0# :0#|_0!:0#0!#=:3EyA FaGЈFaF"""qF21쎈莁eV)_"""qFaF"""qF{/XE0>_/F2_.ga0"""$taFaF}FaX%"9{82cB#:0"aB""B!$taFa^"""BGF2/FaFфa"|!!!#_/ˬDDBBBBH0!:00# 0# $GdpfG!"f"a"""GFaYA e""qFaAA ̾_/^8c/!#0!DDFaG׈AA aFaB"'j8<0@DD!#/F""!"!$taFaE_/X""!$ta_A tab"""BG#{:!!!#>/:0#]xtGDp<3F경DDBBH0# 0{>֐A фaˣE|DDDDEь_DD; +*?""BGFaF""'aF$6HG :D|6eyNPфaF""$tBGF0# !<ʂ;APQ0 "a!.aAAA QaFB8p7#QtGB"Nĺ,YK(H* +*>"""'3_/DDDH1DDDD0|DDO"|_.DDDN#0#DDMaF""kF2GqD!(B*kBBGFaFab""BBBqFaEaEDDNeфaFAфaEt""" APS +0#!B:.D'@HN/!!#0!DDN#aF_/""!!!$tab""!aE0DD0#{4FaFyB>cCeM:!#taF8фaa Fa_"o.eь]!!#0#0#% a |DH4GO""BGA$ta>#0!!!#|_DDDD #>8#0DDD#GHa"ANPБ\t$taF"""BB$tc/DDB0#0/DDH/F2LjA F""$.9#M"q"9"""$taGDMaF_!!!#|{DDD #0# DFt}FaB9 APu* +* +F2|0DDDBBBH0/:/F3/\_.!N#DDI=YKBGr;ʂaA FaE8#|0!01FaFaFab""yFaA *CPWAPTDDD Neلa"""h#0#Z/x*0DH0,DDDDBH"0DDb"F"!b"""q"aA FaFNGtaфaF]F GхG0fF"GEБЈ#0!L>!#]F FaF|DDN#yX""HFЈь.#DDE8 +xF0#:0#1F;*1DDNfta#/A\Fap< ""kFaFaXAAA Fa~<s@YPWAM5r^#B""$/d#xaф}F2u"""BGFaCF_/ F2|F|_>,P2AKH<ǂTGDD #0# !#:0#0/.#/B""$tmF_.!4OxiFa/#0:!#|1"""BGFa_/DD.#4_/E_0 @D$##p#FaF2|DDDH0#0!!#0#:0#0:0"|]aF""";9!!8p #QQPTAPTAPTq8#0/8#1ˣA Fa_Бь_/""yF30DDFar>n'B}!DtG#GF]Fab"""!"BGF?фaFa~"""Bs.#0!!!!#фafЈфaFЈ Fab">+XDtG8`bRPS +w<TR +ab""qFa_фc/!#1H{0#FaB"""qFaZPH&hsTG#0#0tc0""!!!$taFacA ̺0#DD BHtaFЈфaaFahDBJ3DqHpp/0QPaF""""Bqˣ8DDH #|_/""!$|0,DDDH|aE80#DDD#09]:8Ihx Qx* +* +* +F}b"!!$taFcDDDK0# |]F2DDDD H># 'FaXcb$t$i2􊖁 _0#/X|0,DDBH0# 0DDD |"""$taFc.!.фaE0DDHh0#0DDH/B"q H30:0#>.DD _/ DD #1㈈c.eфcDDD/EtaB8F_0DDD#0#DG&&A PA F_0#|0/:0#>$|_/DDDNeь0b""$ #/""$4aFaB""$t'aaA"R!9x)G:0#0+::/DDBH0#_""&_.#?_.g8фa#"""$t}FB#%7B#˘s/XBBBGF_/"""GE0,DDDH #taxF|/XgsTHH0DDDN#0# 8# B"GBhDJFA F0DDK_/F""BBGFaьDDD _/F2~DDD/q4FaGхфaF쏗A&hD:!!#0# 'E]Fq!#1"""&aFTDDE$|_.#BGFaFaB"""$taFa"BGF !"B%pфaX""BGFc/F1q/Fфa|;sDDD"|_/DDDMaF"""BGFa^:#,:#A Fa~""$ta F21a˯!#0"_/:0H0#:0#0DDDHx B"W0# !!!#_.4E|0/!#|04E|_/ф_.eq0## 4FaF!<#""!$taFE|_0!#_..FaFaX_/#DDDH #0eфa0#DDD-L`t,)pAPT rw*ʉFa^""'a"""BGE|a(X* +sPT|DDDD0##0#0BDBDHhDDDH0#0,DDDBBH/ϣ L_.b""""!$taF"""!$ta"|0!!!#0#8#0ńBqBkE\ F"""q""B$taFaF""!3f}b""GF|/ф_0DDD0#0#!0,BG#F}A E|,DDDBO#_!:!#0# :/ DD H0#0DDDD0#0 t"qфaB""C|0DDBD #0#DDDN#_0/!#0"""'_0 4FaF0z#ЈEЗB"$ AAECF_/ЈAA FaxAфaE0!DBD eфaDDDH0#1";'FO讝Ffa/0:!#0#DDDGх"""GF_0,#:0# DDMH0#0DDD#/JB""%0DDBD "a_""$taEل""!$taFaxфaF̾]F2!0":#Btc.$ |af""!!!$taF3DDD/FaF"""!!'aFA FaFaˣ0DDF)ӑf#B DDBD H0#!8#_/:0#0/:0a~""""GF2|a'FtaFDGlB&hA#""!!$taFa."""BGGфaFфaFaXAA FaXaˣ0DDDFl! . #0#:0#/фaF8aF8F2|DDDHyNrqFaFF2ab""$taFaF""!'A FaxA FaF""&}ˣB164"h!#0#:0#/F0 !!#0# 8e|.#h0paB$4h&<#!DBH F2!:0#0DD 0##0g4ь""#] DBD H0/!#/^"""GA$tBGˣtafфaDDN#_/F""'_=!b/DtmD0v]xфaфaFфaX""BGFc/DDDH0 6bD%BC#0#0:!#0|0DDH #1F_/aDm";|L!:00\taфaF""""iF""BB"GFaFA Fa_фc:b"""$!*Hq⍡BBtG!#1ˣ0DD #DDD&w;sܨA F6!#xA J#^̾"qОDmHB""!!$ta|\A. C +!$tmUhQډ""4aFټ +q֘#aR!!!#G!Hq%Г&9!׈(bG8FQaQDŽGb$a DPa^)E!PD|*]!BĎv"#(LR0"#!xrф:GAmH xR&*Fc.%#(h^ Gqea|K#QЈE9XF*HpDkFKQ]ˮ!GDc&>Bc \EH0A34%B"">)Y_㈔:q͠E<0BDh… (r^ q-!:!~}F"#F|]~a(½ ?I|fB"9:Qˣ_Q">!$#(">_@9.t}>Dcˣ00# G6#0)G\CGBfDFL}N9!185F211@x +Ycc|Nt'U(3˯"h0bI +@#G@ G##Ďe H|D Lq!:3DaܛԌ|Fy H0FEьO(HN+됣  4%tq#hfqp"4!%х#pq 3Oı&Ј NQ."1A R1G>_/Z Db\89!^#BsV4a^a2""N!1}ZYO0b8A Y|TDZ#tGDDn:_H_eYQ9<:JI8{R>a EBa%>DyЈH0 E`q^Bm!6`pDpD|1ta)aXA b$taRǞ\/%M4XqDDO=bB#"jDNrNN5I9c0A f# |-ay1D!4s086)@✤\d$B: y*s0Q0,BBHH0\M@IC!!t8 +n*DBB(yaF""&aFхODE&8 #8G.9A +Ԩ),фaF8dtmDD q"8ء#“*ejw*DDMaFa~""#D#$&"B!eyPTq#0#0#0# tFA! ( q:>#DD #_/фaFaB"";e$QICTAPTAQ9FaXFat!"1#PTG!#>_/DDBN#0#0|Įf +1!# 0!DD#0 #hQo1H莄0:0#|_.,DDDH0#0tGEЎ'DDBH0#00# y㈈A G"""$taFaaqA }b""HFaˣ ѵ:6DDD|_/DDDHDEG.&H]DDDeQ ALsNv'dt$"$DD,S8r*^W(kB#:DGQЗ@LЈuC$t""I" h.CPL" +I^.#<<!Ak8Dj\A"$4ZP wB&:hY\TA""""kZ5"LjׂM֐ @ x LJM%B]y*pGD#b& $#$#L,1!4"8D| #8<Dqe:#kdtGBP! #:":҈B.;)YDM('>hG,807GPeЉHX"HD`!8t%B hBG\aʴ82:D&.vGMKB$#X8J## +$"  t'D#e1K#!萌ֱ!ДDt\D()4GBGB>CRh*1] ; )ЄBaH)50DK ua@%"eؚ,! hL-B: F<"#0ڦG@R"A3D$؉D:#GC"Ўe tZAĸ2:#@( $dZ +9CgM FE:"#3E'#!8 $c4U7БⴂD1a8ˠ@>6ZMGĄZA !)$tS `>H":8bGCa MJDΚ?B4(JG]z.|3BB[cw#mhQ=]$Bl^ KaUĝ­O[#B&ѩt!0\6OZ)kA %tU:qZU$t#%@]ʪ%ւ0BZY":Gz IH,^Y#džzR*VJL<(Az KI-!_RzD\hkꓣI~TI$EuertxNIUG%֣JK^"WGH%@hRm#%(!%'ULН#!D{ hPT~ƴUn>K2' L&O@:]U_TTaa%]m,#F}#.WKIT¯u ijh()#C>Ͱ"+E=-]$%ZRTu#l4*]##.%KK*}k֕*JuҸ^GeaLΝԖdͅGz ނIRTmukRHRՅPP,Rp=/( V")<4.UzҪZKz]#uGT">4=rI$6.:ZJTT_XKB5HBoD0G ^)$_I**ZG',%@uLW +s%4fA0I^%KURW]uX(*F%0L Dy#;">UA*JKֵ%_JL*")^E,i#iu֖BЄ_zJElBDR.cJ3OIR-R ҤҒX\^$v!ϲrXTTiA$TK].광u\8tt(f قD|G|-I}%ֺ֩ +mVBE B})Q(L&B%CIҤUf֗HRT#C!a40͙O=TR +7-RW2&U ޚdu)ŠDjGN0E! 000MqIJvÆNPDDLҖQ0_14"#tMNF9":vGB n,2oS "e7SēDeT!K Zp7`>W*EVtqzEFh=*%y;#:GmiUri „DUupA jG +F:cFU5@֕n#ZnAhJ}c$2:MY>FcPqBuE게6aBa$xhTRҪLf;-GhJGqz;Q +^_]Uza%Q+F FxGD}VSU*^.w)ћ¨@ait=PҊUIRU]*|BET*v1C4GvtI,tKT ­*Iv$t% ޺PNJ)%kk^.]z|Ķ` D +4Ch@F/ҭRU]hIWHVb"莑}eB: GT֩$=$uH("TaUJTZpXuq #](-'J.J_޹ŨUCpuNEO3@hA4I*KUB[hZ^J*V(PN#_QmP.#P5Txii*JT!/JKI%}-,%M5`*pϢʤ`7.-.iAUyZ(z%K7cT%HB_Zl(T"+륥KIT\%IBaDu]e֊jR&&R\$pT(]6")S⢪*Dak &MhO-zm* +D#h ܣc2|BDD$KmSAס#%B"}ȶ7GňTtY <"I4z##&ڥoK `o_!G%T=ai ++_0SkRHK*RRn!Z#]WqEg A4hF?aª8p˨BMKl.JJj6g#O]-I*[1d5:ƫBKIxI$jK 5uqa +a^e]iS$ ]kZS뤳֪+a Wx*J]*kWQP L&fvRZ^kҤqфtY`i¦!PH<1-j Dx D~oǫҊU}%ZZҪG׎*h4"! #m#Tg KKJQJªDi< PJO]h㤽i +B*`aig?|^Jkߤa.-BTw#,=RZQZI$Wz)HSB"#]cGxgD}#)WXX*K:@⺊+~֕J4J@/溤T&S|8#J]D(T֩#!e mu}ּOk ":Tb!ڈP~i)MP B/UI*EToPPi-R]t0C^}R>)}W]J": UT!2JRTO HG hh1G\+څ"YT֒KhyBv"*GX">]FA7ҹe„GO:dt \X:#bZa 05mm/!#1 %W>WerNiҭJ͚G? RzHz2F~L KEG@a +_vs94xj Tz -M'Tϳ5Tx?#Sh/Dt4TR+H,!DyUBA-lto5) .a2OW/DwJy0쏪HIh~tu.$ +da Qޓ]-zIE4ZIj4?Fia0uATqꖒI%uMoƆ + R*)c}URIV&+mktq)륭V:]*Jyuяt43 :;O%^%%_JUO ;@TxpD}PN4IR^-R_a1]VQEM*}) yju">%%^֖ҧ`*CGmUGz*(_RUǭ$*(zWՄH ,n!- +3G +,h6-*_AR"0Vm-B"+BʶM#:I”*GjuZ KP&+KK@Յ,& $:V*Uh%֒KD|\a!P⢸1JGzZ]- iRޫTWIe,-i-% +aa莑PKHu\R}%iRKJ֨8¨":GGFU*Z]W֯K *\al &cZZKtZҦ*X ":/@JG# WB+xn1UFRP&*#Z0֗ P{0HRZX%ua&Eg^SL!!*aPV2\"v]^wk-?Q_.)aXcGXCmZ#G8/; . D#U~Ϊ1wtGE;UKTi=*VW$)ăa QK}3DZ/gG#k]pGOJZO(z]q-8%\Yd>;:ti/a7 +",#'A K^VIt:s7wT"ZZI'֕*#ԓvZ= S TKǤzЄ]piMi%3G# D|#MeEG%ZzJ +K^Lلc7 TR(i.,BRֵ0f"OJJ*Z/Z%龩nKKq(FK IUIҤto*__.:W_@&wNQI$4_mkZk8i!_K;IeS# P@BJ*TU}$RF%p}u Ѽm)VU׭i^f(J%[-K)D%aP">+H I$znGwa(Ц4"6Z='G`HNMfa0xD}+KT%OJQKj"#Z#:@"%45Jm*JUIUDG(ǒg/ ߭RX|:֒JTXU]$*}" &j)WZ^Ki-yU}aUT*f@I5Jt*1u_ZZZVb*hDkF8нA𖣤UxUW]}uI-e$JQQ""<# P">뮗GIuZIzפnPA4h #KSIF}$KUֵUN"(5@ tD~-qZMBUUִUKf>%)Fd:HG$hJ-* q UK.үNghy.)iu_ @1JtP9b#t#aWej$ D~]R]WtYą*]%CG*]ZKK BtDi&~)H(T0GKٵN$҅L!ADءX|Ҭt8IB;Q /J* ]0G&/hUEP]L6[ 5.ZU6$h*= APƆ(+&u!Z~zu_o0UT"qk9&F~ƺ#k OaA|sUdfCà7$eB#̑hA/ZI%EBHA00q cKTPf?S\C#@yjBT ҥؖf":UR3GѠҍ& TӤ*}:0_V3 + "%ix֖KU*bY2:zPUGzXD}$]*KO\]fbZG)kJWֵTziRXJF-=s% 5JxA_^믪k]1LB='GK 9.*7KUHª.Ҋ*aV7TvGل2:UEFU]>רWUZGR4(\!Cbh  TwDyG">TJ*ZTJ Rͭ% hSjjJVQy D}T4wAjkKUiEXXq]\!I-%=#ƵHtKIPR j-tg:bBJA$-/]bIK(y~:iBJ0G䪡P">XF,4GF_KzUEšDM2UtתJVҍ*KJUP_⣇|(PFOA Gw(s ApI.ƪ*KIRPU뒆x(U ?QZI%zUTIuT~륅B0\\8hӂ#ETQ$UTUU_G>ҸUL&q]ȾEIk]VC%JKJ](S 3Z"# #[aq@ubjJ/JRI$Z8I`Lgh&DŽRQIzijJ觗פb"! 뤫ZKUJ(pl iZFRG˪*+KRKImtoU[DEi?K-$U%J){B"/\[mkTiEpMBA q]*wRT-b\Ba6"տBaP<1טKꖪD equYt8V)6ZXIHTR0', (wL6`PvP4xqUPGGD?kG&2:&҇+RVMRָ}P֯X]?NXMu]Oq@l*YZ## +N0E!uUK}Ψ<']I-t4y@KRHRZKrqx!HNJ](Ao\ꨠ0GZI( +DQRށ%AoBֹF3yƾU]uzJ ^b[-PJ3j +@4V=}Rk hiGz<_KIPUP]V$]uΔ}&iacꕥTZUޖq\tMC3OZ)kTI%JZ+qU#} Jf@ ߅jتUꖕj}m[-2Z!L߂v&E0M#QOED#S">:CKح-i-#ECJvVrB#&aH hKIW}$$Z%F=%`*…]X]tJ|GG)u% F Ҫ_K^.+iͲs3jZZGJR-$ ZZKY*H*qôo^P">O@ӥqI{TM/UjB""@M"vG<$ %UؤU_TU)%](`PkRSa8KIRС].tUmu[IG-UUƍRA8akjZ^0ͣ@⢪"!ִ[@G;TicPRZ@֔q\(LRI ւ"=֕k%YWU %K]-W.KR0  ZOB5]GZץj]U*ZTg-*lAzTT% +]-RRvC%]*R] =zäBGu^*#C LBu^_,_-%Z^-/TZ ""W}RZ8X F+Zau  Kj$pD CJaFt"4[1I +8F~AZl1 ],2\ l)莋9n_o%jե qYNu3*jGIFs#$K@d}SGuN5H֒ +%KtG(uҿ괒GVS@.*IR%j-WKT[uMaeˤ]R0OKI%KGֵA]H0J+PZᦶ(%DGcLU5 GF\&ED#ЈA0/ߢ-u<vSXoaq.?w޾덽Tkz0;޷G\}k5Zc#\y_FdodmFF_߯dmQIy^9^2$"Kr$Ȓw׌/n2%ŌwvrJ#)8(L #h\bd[chp l22Eь!"G2 -DmDp[ -h| ``p3 [e#a фGjxETq-S(#UB.dt\ ĵQ#9EЖJ#h.-$GG2 a\ OEM>G +p[jG0eYqHxfkf,P `-UaFiDt}F##|"> +endobj +9 0 obj +<< +/ProcSet [/PDF /ImageB] +/XObject << /Img2 11 0 R >> +>> +endobj +10 0 obj +<< +/Length 27 +>> +stream +613 0 0 792 0 0 cm +/Img2 Do +endstream +endobj +11 0 obj +<< +/Type /XObject +/Subtype /Image +/Name /Img2 +/Filter /CCITTFaxDecode +/DecodeParms << /K -1 /Columns 1704 /Rows 2200 >> +/Width 1704 +/Height 2200 +/BitsPerComponent 1 +/ColorSpace /DeviceGray +/Length 12 0 R +>> +stream +A54G+G:4ȄK:0"ΑOHdH }٘b#wDZo?Eѯr8|R*Cߟ#m/[_KUx">#D}GUȣ-q#k\U}&_^i_קo\΃Q Ӕ{׽i;m}n>xx~??G~7u?35Wnp:ajo^c?~}\2=NDDDDDDO""#W~U G+|mѴCGDaD|Gd|܎>G 8.]ȸB踤q "<]ALa=>Ќ"cs 8ͼ3CYP.gtzc5O"Dx'wa^.8vpDu#{ԉbx: KqbKn&<98 9)LчVgDQ鋪`Tu]4 AȖ5`"_apC.FUAawkCOU[TiGGKG##JU-N:/B]?]~ׂ#h/I_ux߽y $?#m!߂&>b#F`#G݇''c_|~V$kG{݄Gk0:_&;߂#u|U/z;_Gײun0VPD:px9ɽ9CKl'8#Vu7:8^_a\|\ B)Vì(aB(q_:Lo8qdXB#<":DC:Or Oaz?XqA(؅~""""""""""""!EqeQ0Ae9PH|":o_QDD|_x"?0YC +!) +ɰPL,TU U2R(Vַut|* ; '%2@c>#Du|0;V5o9S:ҏ#ֿ|~F򤈺$%GZh#9-IqE9<'.dAF:6ϙa#k'200QhF£=Bj҄8PMxM 0L!aGAq\AG 1_Uš\&ffMƏvPy˱*G#;GgvvPP@„ðB`D* kC꿄GU"GJޯ*M6UW}٣N'o}I #Ep $xnGxůF;ju_OMB#W AO.S"?GiDtH7]]>X~_1,z|zHu۫ÿuDuWF?I1JTǯ8[/z_KZP_G[spEW.?-04/%'/||+}|?}k":jHM-x/ x 54[KM-AFk.?}k}+Q_. 'dB+깄XEO{g{zwݫ">y$[DtyZڪ~/k\~*@.-&ZilGJ#sA}[WDtDu__][>i}E%%/_#B6lSlZ|J&:aHbbGl#Dy6 Km{N'km]R":tuߨK^=ojϥ ! `!8"""!"AtQLHz)a829˰[ABA (!DtF ikiGA*I +a+i":XgDDDDGgv"""""!",0!#N>ge”;$]"`5BBؠ㶁N(uP&*!~bR""!!013P":eMKIW뮓GB#JCiB#P $J",B ˈP`!aDD幒;+ِ;PPO*vX+~E͙jRV)ڪ[p#\'BntN^N#<_W-xDtA]w_/@t_[vkDuuGeyu.2Ku/UkGz,DI.R}B]n!8 +O 5/eқffF3#̠f`yr$R"5nGikaDtpl!#Pa#[Xx~ ńaޖG6^f)2(FyGY3"2tN#^i^6h'Gm: Km>—,z=N(TˈúGx@F_BA: G@qDK!"%ˌ3"6F6G ] +kt+Pm/ GG ֗sI&P8G=:@ۿd#T":= PNSj [K* B#]_ս]oխuIR愕Bŷ=:M@54>CL/wGZG}-Iν޽q8CIW?5Z\":uoi#ߡG_,":]_~{Wim_ǰ#x]o_ҪTAm/]ꛭL%KxDukJ_p?m|oooW~w 0ֵ$|":lo3v?Kn0K˥ P\":w}k}-Q}Vm.)Rsi6ow}WJP">J#mDuW'0uۍ+VMZ +(X"wVGK t='KMUZ\TUo<.->>޿-'򇅰 01'Du +ibLZaxAӊL AI8QP`i(y16 /jޛk %GKu<"""" P! a0E+aN +B`P0a-! ؄0±Q 6!L&DvaA8ݯQ"""""""""!DDDJ:1@eyW GA{V">WM 5O QuuPXDt":-`j?62U/@,*KDvKʱGiU]AH].Q$"F.K5PBa PQ,~M":z,-ޖmH#<'IGJߥ#*IQtEsꐅUKiiiR0*@Rz⺵ 8qPP#DDDEY "Hʑ/-֐TB#UOGcJzv]uLNfq~9|3.E.EC3fq"|xBfHf6"3Bh3N'J,">4(PL!@#= @@A %H㤴&m&iotp G#EYPA8.=kJI׶OzӰE--[ iuI觠D}6:J4oG~].Ö= +\kBjn}i$_WФCKR]j^WI%Iw׮ZץUP V*I~_t_\Dui;VZ]kW8n_GavEZZO.t֕*֗ ]1-# SuFP*UaҳʩVn@["?jEqQMbUh0EZQMR=ZXI +L'PBAfM8ƒACaqP턐D{Q`FDDA"!4D0ac(G`SDDDFFa#> ]Tvk񍜱 +?dB6S"q#pK?^utu~lCDc +Uzpgh&SN:m*]VGTmKztaѨJ"3JKZT)zKK^. =&*Mq:pnH#T0QlED}+aaDuG_W+=oY_ f#G|P^$oWJVC_^^0K"$RKUAjai#tת, D|H%ZUK EStT'*Qa0b?eC(aDl.^ղ^7 OMxZP#8glOҨUՂ#PU:ktKr(pD}]/""1*UAVr/֪"ZIw^XJ*(> +Jb+ꈫ" +LwHG-l3]wwOBTЏNvW#}ER/BG"s3k]B#}>U+$ZZ^?o׸"=~>qJ_TzJ^Uy+":vjK&[huooҫX"Tma حo괂6uARK."^E.DuqWƂ_zG[J  +ZJU)tmvy+ w;MAS{ЦJ/BG GQQI[ (v"aDDGɹ;#*;GABa0-ָ}uI,iu?%_R"HiTG@" GDmjPA33 5 +x,E# phgh<(CˣUB1Gzp%;aJvAa:<5L##(@CB4„ +f0R}=m= +]%JUInA1I +JZ돤륨/s.J#sPFOֵJ)RH%{%PЏ~"!-q +U%Bzނ /pI~":U&A_BTP΢k* KJ&ۥKUZ>~/kJV_G_"R{GTTV}/m;u߮qiX_9kǤa$Jz# lֻzjcXDu": i ՛FmyB; b\Sa7i bSh(%P늇i.J) +FpP I°b L7['ŽI +UP)TuDDDDDDDDDDDDDqa0``C&6Dq D$pl2rLj! }*_EPM~9;} $pKGJ/XI}MAJ/]iTB5Z":UK7_X"K *%E~&DDFdwPD~MƤw &!~DI-$O+I}^{5, 0I##2A)jT)jitXfy̏i.w""ҮWԖij'J%K8+!ToAU0JiZOUK6-!u'JJ)ģ WQQZBaDDDDGl2q zt__mwVL#Rd6WnKI#i#꒯}"_0gѱ$-%ZJc|^bS8ҾjPh3 TEtH(hG`lFh +. +jQ)2!Kudðg\2UMG[(U":{":oߤݍ?q<#zDtT,+G`Y;3Fz6h >F)N36q.v\x"/?4#Y$1#TS8OGv!v=\J0=polg ,|A#dt3G31Y?'3s#s5"64FHںZ)lJ">:Aln)j𨎙n +W40lm035>q!? f"<0@"D0AK8ri#C>I /Ic^^u㿬zO6ZQpuW-bT7&GMBG60GAᘑCm՜5 ܏%;9CpT Ax Z)$k z߯n{_]=6#a7aN":tvx-9ǣVMqE/A$[c-zC[m@]{Gz#vWDu!U$+[t#n?C0_#_֘Du\qX:5DuF * -ҷ_W_B#5mU$aVp=oik/]j ":Du?ZU~ͧtz\[7>?oQK8ˬ'_WOmZ~.;<.,?ժ!ꖭw_ޗ6sݢ:xDuXiڳڰDt}H/۫AfmպE%qQITbZVA#: ` +ՊM6 #=ma^.X"?w":(Du#DuH":~pΊq0T0IIT44."0Z M6E!lS#8"uD4K:#JDuIݘaW AԆtfB[3 1$ #[ 0AxhJ.8BSL&.,&)0Ba5 aH03A#Fr4j$E i A=BX34N(gMx /޺ztRVkP'J2802 X":òlhHq\".,}o^׍mb""""""""RP3P`plM44aaA|( &">DB/:P莐Dy!E'ob8DsmU>udttl#nQ8""""""D0M05p8#Ob ֢4['PСBxQPE1 e AR;CL ؠ#aD9b$yDDDDDDDDDDDDDDDDDDC +A!NP @ _޵_-(DutUJ80B1@8ɱdLgdgcRPeX99 EVd\{AkIDtKCU}pAC=kK_|Py3<甖b(O3(FDQEFOPMG*8.~A PA Ԏ3R79#H7g4}rY˞>0vBT4xhsuӪOc[)oGM7hoQo#DtOUa_pN1vj`}oDt[_޺a?n0^G\0Fup"{GM@` +'ճ}6}k_#=M߄G_B#DuzKN5^78c}h &#AaBa:dQB#4hBlCL&M!-r!&P$ ֧H9CGHlB`Uٲ!ò C]8c$uLDDDDDDDDDXڨNI^TGIe59<29 S?iI CB'#vLplAt zKn^##zzWmRaҥnK]+m.%m +Atn +_Ý[6]%kU\RRí#H(J( ):w*hLP2G"642ۄG@:G#J[(K-~uJtijRnMֺZjDt8]?kKkT_鏠.$D׺ҫl}^`zm#V諆v}ZZս|p}$kU[v%J1תU YA:0K[ jW#l¡*iF"""?ɲ0UuK++6"kW/8?}D}NQQ[K@'glND|zt䚈v+ zJ$zTZ.*]zUwNt*JBb:ABdv1B +dQTBM42?$":IȄ(LEz23b"8Ҽ)H9kZ=AL0_t7O# aנ #T ,*_?u~GP:_qxqZK"?Oh5C8F5f2D@-2B32(GxHFh#^DwGj54{l[eGYE[3#= 1JGA/#*#Y$Gԍ yь6R_ER tA7: Cھnå%ds0 (#;2aSP #l35RGRI˸BllC`r AŅӆ#VDuDy.]٤l"::Apa{awO[ר쎒G8Duh A9CvQAa4 1A0 "CSbDu /2?DtD~#tD8(EGۦAiGDuߟ#?DDDDDDA!)Á D": CiI `[#du2qj0B29д#(DpCHN""""""""""" QLh0Bʋ(pb`"Du^OKֵZTaU"@P%ɺ +w8"*<-IDYBwFW!_P)\# DtGDBį4BBDuKߵʝQꚭTB#H5}% +&ƫS }dJw#:"=WnHsaT9#\Ϣ>GFȆFexvb<2>O?0h"1FJSG<*JA+^RAhhE<*@av?0M0C?㑜.c>gCϣDHjOČB5\GD'Wߨ_xtnm6}tt{>0D4 FPI'NL Dv !PAGhrqIr;82|Sl#x}{zH?oHEZUAURDuDu~ I Du8~:LCޡ}?]kGcSCauDu#}jyU.AB#DuC(ir +ﺚѴ{a4JUDuƿZۯ}{=B#}HN iT D/ﷄGL":{":[|t#KkN I]%E/ KU˪]nۯupֶV">ߥza/V2:GI#Ј#5hT=6{lO^6&AִmBI%Ҫ/İDt߄GQ{Du_)X4hZrElS#8Dw7!-!h6**")bvduLw} +nEx]"0qg{{g臥}DDD[iep"DAB""AD@G  I 44"9% iRZTZZݥDx$F-S'"#(GAScDDDDDDDDDDDC(!HA"Bq +H(PŠGcbElUAyGAd5MG%e{AXT-#uGIiI"<2*1 8LÄ!cNeYUHXcNP#PP#":ZAxJä"5҆uJ(8dI*;B*""G64Gz*+g +RKrDu}DtU, x\ @ӧOJ+ea_~MVDW^ Z-L8tGE L"B.0l6134b:̟<3FN##]/,D G;G +0`#PDtNHX@/| G+ ! 3q2rRȼn?eF#DK#aPp3cG5ihm Ma!4mfug$|h]hB@JFvG lx.3N3q6GC6":Ծy)GL>| R":'GTHGtUuulǪW[JkA]8w[fLii8t%=<_p">ghXT#,!T`08ˌ( yr"P|La9䥏O_i[Dut;PDtBw%~ 0N¦ vi٧M&ײ8"1fG0xF;#`<=7{zq{\>xDuǡ֛DtҺ6ᡠ觥7(s[nIaz +T4I|t o#랧Sz:8G#]B +=~GN5G]0]}/!_0GOwc۪vR:Nݥ#N;P_#}t? 쎌":U`wڷ_a6z7װXDu#$ %KA{=_]}ݷ?vlچ~Uu${➺5'GȄkuO[":WDu_5Kgg#Օ 71nۄGZh_ޭpF봴+XDt[ҫ v&^ ]PaXD}^=GTQxSj^: ħ&d Rbn)AV A7]h":]ma{WDu:<=n_\"Oڂ.0L OB"!`U0NL1)**0Xh0l:o 0"9ϴN D|-;b *Dt +p:1o^kgl3""""#B3L\&b !0J#1 Aՠv60RDy0h; E-]$GQDF~b)PPB00L(&+*!]G\!aaicAl +0ת}TDDDDFDDDDDDDyEqD\F +!R^M` -a,PDt#%AW&WFB_g& +"5)E!? +endstream +endobj +12 0 obj +18032 +endobj +13 0 obj +<< +/Type /Page +/Parent 1 0 R +/Resources 14 0 R +/Contents 15 0 R +/MediaBox [0 0 613 792] +>> +endobj +14 0 obj +<< +/ProcSet [/PDF /ImageB] +/XObject << /Img3 16 0 R >> +>> +endobj +15 0 obj +<< +/Length 27 +>> +stream +613 0 0 792 0 0 cm +/Img3 Do +endstream +endobj +16 0 obj +<< +/Type /XObject +/Subtype /Image +/Name /Img3 +/Filter /CCITTFaxDecode +/DecodeParms << /K -1 /Columns 1704 /Rows 2200 >> +/Width 1704 +/Height 2200 +/BitsPerComponent 1 +/ColorSpace /DeviceGray +/Length 17 0 R +>> +stream + FmFBH!!$.&%莂>GC "]YR{scmKi6B%#B,)4 3#h#.'XDs# Y8 &AWňAtmRM cDdtAŬzPEXBʹ.] B8f2:1\Dˡ< :Qĺ4\DqM6GG@ )4ρ u.,AVrBڂ )cCBT<.#e& RB}ցAxa t< BGAP9XRiNbGAcE2if A4G2RhL!@dta m l B$t!3DUB=fjDr/8=>G@GS#h)Bd7ŔD*EP5pk)m%!8w|HL + /ލzk移緣tUwtfAښ#=|6t|\odt"/_D~X"?jZ_}'Gl)uD}GWu"?!e:Kt]u_ޗL!E_R?kG~)[a핅AV{)B⿿_sHDJy:ujW;#}xUge:Vxn?D}Gt$umz@|=G۟_ay3Ⱥy_nn]!'oB"UxWzڷ?% "aqA^~W["K[5c菈#ISi}N[w莄DB;a\hDDq D!3Z/X""""""""">"B?[.dtў>DD!6 $$xL/Ar:#A~B4"#tq .-a4kdxBȎG쎈##ExG#s#vG r8(. ::%4Ed#4c#9Ɏ$ BPL~K7B[֊6"4: Hֈ#h2:5"#x̎&]f!+6\ a + $qEDDDt"ʚ2E##th$+."@RaDt!L#h @Ol6Z#>!|D0P; 4G!6"X\ @*9N'LuP/>!MO#.G)9DA 8l*#2Xa6ŤD {FV]B<DqbmEu.E!.DGL*ʙNU&( @B":4F3$tylL @mBCEvDBA֙]afEv(hRQ'"莁a">+NAlDD Qq{*[?} aф"-A#aҠiNU6/v'_/]!#@iƭ|wKEф"B&ofr +ADqt\H:SL>YGI{~D"iZ+Ii%jJ0eDf##0B 0`AxB]uhMHD=JfuT}~JẆ:#ԝGTy3DmgDx SaaĨxFt|rc/((CtD|a,]—dth("%33Q4"$ ":APA=fDf3HTij#iPNjN-7WA'zvi}:#@D `cXèF||#E<#0G~D3r=Ińkh{p$]kCdnvoN] +VӨ ?]##<#}qyp)$h3Bi<nhIvi7/8JaҶj&>k_MDMFlMjւI-zKKZ[4~&Vo~q7b~Z? ;G]HЯ%I% h{\uqW_/ntD$CML?= --RA$^R_J^Wy~߿ׂW_u>#宩?p}!KK__Xg } +ڥK +$ *0_oѯwLl? __wKJItRRU8߭k_gb 0'_y{جªZKJJ*߿ |":\#ڣ~j@/}_Nqiv0·IXoNV?RIfKKIGKҿ뭺>]C9uۤA銄G0AAXNF 0AḈ7^wWukh/KKI Ǥ%ivk~zMid~ l(e,.WpaLӾ(rʀSP? ㈎چXVGA]BSgXhT(ya#MqS + $h4N)a4A3p%"GFm6}i7h6v##M01W +T%mb +!Xb&2NT$àBLeHZ. Dx*ADDDY"""0DDq.DDDDFeB_鈄#g&? 7 !WK0.GB+#Nb)i83xR}G!'DtP VИF B)a(ЈK0vSt.䠡li#' |Daq.] ty1L!ANRh.,ȡGB"%; >y Dt[#-LR" ]aaT*"w 2P;D(Dt]v,4sxqB}!5:A%_Ab,FoˡHh*ׇ e~ւ%_`AWU/*E*G]cx eHנWGjaF㪾?JxЊGnZ +]z"X#DP#RS! Bm(D5Yw*E:!MQAjh3Hh*a +"'G#l""V-ֹY:4WI".e/ Q4,#CGJ0a #>4|,#'DfdR#xЎq +`ӍF?YIxIyoA7O.%VzeD#EA'M-g.vNpyyHn ^ʹ/aڮ7L.Jn&k"uNCA;P(ZA.ZZJ)~ [N.'m-Am%oju}k09C}rh] +8h ;OzH%KC7=u[}o~:0(AOJ$JU}ץ&_ߺA"mF8 Mkz[unB"$tHP}.]PI}/":{_Kk@GFx[U߿oIj-}.үoa/.m{Ҿ︣HE۪Du_TI$&X Eد4+_[K'SGL(2%oZ-Pc_I]%5'_)_G}[K1ݛw@#G_PY8 D|Fv}{kM~8-a]'zI h&)r; ]&I-uttGI_]u׭q 6F8l( RHŠ IŠe½b]~mkS+A&%b{#ZPAAmvml/l5VҾҪHiZ0 +!Xh3@&) ڬFmb'TGP;cMrD8QU +`o+cx< q"AA&%8a4؆A0b2Z#N--l$ 6Chi80B""",1ap@`B BB FB[a&ˀB"3tDDaBҭ%B'E S# 3]^P*Ep [a ":]OT/i_GK[ЃkΈDxD|-GL0drmv#n>>~?Fjb#FAk25DfCEtGGv3Fc50g.F)q /NdFjDh!ԉtGYN|QD4GԇNřNK4G3Dn! 4T%;øH6HS*H"f4 +l rXL)^ (&3( s#'h&4J8d +a n49d|#c oIA2)d``GƏ L  z6FOٺ%C>khGDx#Y+%E(׈gR(Ai!2pŠd2qh8ɸ@!qƚqA  !ʂ*(a +%ZQR3.B!'LJDDDWS~A2U"$LֿDq]'h)ʳЬ+j5DuR5OͣDmG%{mel/ +:+`kV!lGEDC G!!ya5ay|O!؉#A B"ap3i,N|#`!>K B{1 ΚT͢# AHGЉ0a@L,6Sh6! U`"f.qFБИ[F3hϫ*.ST8Q#m %g2FE"@(.vӅa@#hsOQjP2:4ڣTGpn#.DIѐvPdpd$nB!`rp@\.a!1aDSBa56L J= .ҧDL":v]8zm'Wm%o@eK_#[ B)?^ӥO^@cHv¯\]~5:%]?+HUa޾-I֗Eiz^L$KaId *KMֱҪoo^]/mr$=FU.@Cz _SSi$]7菔%;H3.">(D|M]z!6ʈTB9¥[~Gdqkfo'fh.=F#}#;>FcDH0lPx3,# TRZmiTD^aiR b"0@*GJ""!"\ +2DUDCx@@I@,3"/44}%W"qF_Iij򓴵u" H 7MDtHxI#/#>Yg'KA:N4&KTI-$$>"-J!i}T`KI%*-AETJ]i$ !KI$% `j:u~K?M$!*KKn.* %ZD$Immж,9:HR_--$T!)RA$_uRcIV8ZRhJDtS UKoH%I/TQ K.ФyC.I.-TI%@T%_t B"-JKA$8TT__HڮK1F=tH#1iwJI>/K;U/YKaj_z*/U/xRhBX3R]Ԅ ­VA%HŠR%IV8J8k+7;Ҋ1o}u]$TI%IjZiN%E<Z6i +Q HTRVlDtyu"HsC&P4 +]yXG[E?ԂK-U(Jw]BJ… +*4߆ qDuZ P5J¶";CBAP"M8w P.L(MbMB4qi$ #B?$)JLBq¬u\TBUL&ShEXM+ :OL"JJp0i,b!(B4͡68LK:8Dn'Pc!O"a+c, M:'=ho'ԏБؚ!5sL!Q-.DZ2(FN,<]4"*SiVQuaD  z#k""[Ƒ[D_ެ".SF6(LЂlFH J3_%:ߔ9PFxF_\ D|M#Gָ]EkPJJ5FN-c%JTL":A(+ES@kQQPGARBQPH&*) +BB)# (UU`{\& 8]AAB(U + DDDDDDDDDDDDDDDDDDvvb# t# +JcF#%pGEѦad]hDc6B ʙIb"8#:"u"ab&}G0 @ "&j#/GԎDxFf(rIm#&B3[0L+d "y #l:"uTpaDK.NGDbP b]ĝaGuK$t$|y.cX&Ri+0 G$!\HE㢨b +MAfDHj'DZdMPS9!R0a3H!DUzX":z+Bרm؈ BdU4 +|d4"G28CȜ(G O!뉴H@9cv8Lm1 +I g:h0@߭B6Ca6Aka DuNG[Tq[zD~SE'twZi]GU֕%>X"=oG#KמBioH-*4%WJ_T}$o%[_OzִIrU*Ukľ&]~^륧[^"^U~O#٣=%_Gzm.ҥl*Kv{dIjJs5Yc#@AL&G¯eQ7K:q^N0Ҡ=doSN4F4dQa0 gAE":{k.D|E5bii! U$""VKkI!Fdh($"DŽч]#R)1'K\#^-I}1䠫itii2c98a^#CqFќ-)1AvѡGzEZ^ IZ_ԡ i( DCiRB""g%֖`DD6i* h,tA 'ZA6*Iii%9[uGXA:\&PL4u KK_K_+0ץI%+.ΛlZCaOXi(Z[IRTTIuB]yZ-zߤUJRBI-UzI-*PMu:ISzuT}ץU%zKZ Tit֖GIzKUt%XJҭ/_PKKKGDVIiGUUXARZ]RI$i--RB6uU]%ad┄5*pEUj:*#N>.a ZP_jB)=5`00 &hDDDDDDDDDDDDDXb"""6"<1L OqGF64xbB(& !H=w"t#q:ev"q2BaϣxFhuavme0Dꏭtqx6l)Fwq2&ЈCFGCE!? ASO V[JG]FVKZķJ)ij7yJYZ\u֯I.yZjF*ȗT ^ͣn.! ѓS3?&,ydh&hg㙛?(zfC!H#D F4g;;ɏ"<~R4QnFv#8">=zIKKAchוpЪ ^IN,i'E?Ah 34)%ֺKZIRK7TK_}/T-U]R]z]%tKIUqJ.I!U]6X%ib%I%RK%}w3꒪ZZ!S.%EzKAIiTZUj o RR**jz!(H-%Wn-*k}p10-IzZ]W*|„GI/jIR֫aRFf.)J~S("$.X$ZuTJmmI(tD}tTMiUyH0%$d-~+KPZWA,%𴴕-LkS ki(x ZUpuƺ(ZZH(@S%(uF*bB *a(L1Ib*T."HT"",64B0FDFł` &DpPb""0DDDtoz:$ &f B 0aXE BPb!(BTB!B& +*Ŧ&)sP*C?0:Ap@":j]PgL*hDDDDDG̖ 1DN)Mr DdD}Fy dGCϬy?K؜CGBMѕY2e3az0y UO&5a&DUZ#TQ}airnK%/6譬6aQ[YDkBmT}}B"%jP*\18r#Q4k̆DTd$":.莈菑_84Kf29 DCD(Pc6&!F`0NFP  L&L&"> Cвʲ8M44x>L}xa(4([C Щ(GRZ;0P":G(s!'aCIi*ZTz[ZIk6㥤CIt#ZAƇKK RKRa֒(UҪI%JIRVUJK%KJ֤F'oB R t-$ +_U%KU:8uA*t-Z%PKU%JIW4U]! +WK-**IOBIUjm ZKz U"*^^rI*]zZ/ҭ$I%F+ +^T]Kz5#URsPDtj Či}/F=*I#^lQ IW)uUIU$Xү +_ҭTҫH%Iz):IΈH;J8J*I +EB)/9GRGzVmUo¤L.)-)lGbNJ*XVa%AQ+ XT*8U`$q,V*#U GQA%B@*!0KuGLW@a8US] +!i”P\(&(Q*a0LB` +؈ MA;|W莄m.6 1qaG.ihaĺ(\O!Zv:0㈛Xb8[6"B#ˮ<:<ˡIQ/+2)\+FD̫&ٌʼ(T¨&0 d >e-U2 h:N"pPFZwwD$P0}/׏!}V:*~0_7CUCHׯF#Q莈3NfjGDtyGPH2 M (M0Ʊph{DVQGfJ>._W7Ng:6F +GgaFMP;Gi{ٹٜ)\o:<(#6y aS3 0h,#0PL"%ˌ y)s'yr(dD@x@:txhhG4Q=\ L":VޒwN + hH`;P8EF;>4kCT!\0vz4>(#B4ôg#ûFp@BߦG]r#tn_i&t&7e&h.WB?B}hkH6/N__ǮHV|>g?|/8DtÜq~ oX[n?8NGŃH6}Ρۺz/W_[{Vi_xDu^m_o +Gx~; Vf5.n[K OKs1-Ub}|xE W_ta\/b"caߥ^Dv׶y*yz .Z8!]#N޴뽰E?Sk|0j]!l^鍴5pݯ_ϵV4b1 h0W [9ifOҽ5V}NjD0%iċM2oaK3:lPr|A}GW{`4`E-GV )WK#ʜiA`a=Applh8i hEDDDD[HlblJi!J|NC N8 L&Lq8b S4 8,㸜pbɾ`NWTq^  F} e (pP@ ` HDDDDDUWʛWDqgDxDEr")5I!uuz{H-4λ5֫t#֫\:aZ%HBh=VJUAZ@8!ASc:`MT .""6"kb#-ewM=Fhi + +^djm bPA +#*wd vAֈ_I;pA<D'?)_.I[wz kKnGyݬ/hqWk:8~Ir1q":^J"hh瓳C)ݑȠg8#PJ9D.G@" vK!0)ٛDx م +Fݤ{h݄k US|R ʳRuF8`qN"||΂!?B7N##:1 {?i7N0@A"=M 54%i<ӻg'G4nByDtHD69'##B*@S>! $P=0¨B,*!H!ˋ|Z4>%;GA>0 klum/m_!%8q .ʹ|)xī)l#wi2c#cP a#Gf;FhT Wm9xA< +U]QW}Ȅx nq ti Ɲ&A٢uAtR'f!3LIM;nӤ)cVIߺ5mu~V?K__tjkqެ7~qlP?T,?ߔV޺]Rj}b \'0mv/uua_^RZ-u׼/Du__"տuE!wo W^ou1BcA +~W~7i}AP~j":Xr!ADuBoz}د~mK9G_1@kaQm|vK(]}+[GKbllBbAħ &a8L aA (0 L -`‘ +bbTA m0FxF \Z 82 dB(Eʤ|KZF>&-IzoY#!;,[ki8(Jo*"a#oOQ&#Q]W\D|D?tz]y$^uJ}-T| ])ZYDk>⿩ZZ##U[!k_Jm":2O[Ⱥ)^bT!^m[:'b$TR䙙 @Z9gЁ.l&G3 J 3 B>%zTB)>i#Nϙ0EhFCGz8#=y#:Ȣ>/ ":4@PAD|&">ގ=~f4|*FnA1nOFxKdDŽgaqG|Tgxch-qҴKWKJzRUIF%JIzRI*_&k@ +i7(-G߭+=6nV* + A48ih,JZZI>I + U}$oֺJN/COשA;^4RJ_ZJ*%]uI.HJ J+֩kU֮"wDp +$EU%$i/_@Jk\*I$A$޵~[u ZZ] +PT +KP_I/ARrGZOk_>ART]ЄKU~,4TA?.$ +K0S *t%"_᾵ZIWZ^KҭiW멌 OK_@~hd8 DuixF~GAoݿ-$jUi--*֗JnI~J,TSzGYXZK8%+1]^a4j]I%ICҊE:_H$YśT R]U(KKJ*ǡ]kuKt>Z=vᓧ"?|zUK# K-]BUajn#u`uyTPq] +ҊqH*LTT$kNoIp{nm\3-s~qh~T/KZGKTSIҴ$]*⢢h4؆E0U…PUqL*iڶ &׵NGA+pҾ|0KtZPªPhWJRҶUJ) +HVDu8AD(K +'f)Z`EiCuIAQÈr0 lfa0A6F8Dxb 7aH &|9E0P. +PA(LU1T&P0CCgA +GB#ه)„e220D~#k7 jxi8B# +L& +S \&UXCb""""""DDDDCb",L;d"""""""""""8 ÑN xI:HlwIzM$k{JʑGצ: Ұi7 cQC"0f#vfqdiDdb-t֍h %]$*@pPPhƊgPD ;2D2P„DP;"eԫBh"?W#1A/ 6_(I?Ȏ#ZoVQN(,ȑyש>hdAh&G8CR +`>D-o6F#qB1"a" +aB45{0hF=QʒDNh":Sq4ͣ#5Q#6:dB2Ce>oњ#> Y.Iь3j#Ȝ—gaL"݄g(HrGm' y/'HCܧɏaƋxxhhg${ħhД;GgmP"ݠS54SvaZIN>+":_x߿}~#4v8hi\`Ҷ vgH' i\ ;NӳLO0K[+qWk:ۿx[B֓t:~ַIM>}zO]upq?]]o{ZHwÖ:\ a:~ @w>__zCMz*l? tֿ|L#zoV׿^F!_F/u wA}]mGߟKtf7Jf]6m'뫅}i/iڭjw4aױVGh5;&4! &M6)8_=g[ ^^=`v}f+$+#bm*"P'QA**i徴fP#aVDuPb%ZG_ibA)N6Ia5A#B``DDFmLRb1 2:Ba"9AH6"Dy&6( ؊#b +GU4 iA UL&d(APL +a0C)8!xa""? ~; +6":aP`PD~a5a0D|58Bt˴ V]1.)G~"""#DDDDDDDDDDDDDDDDDDDDDf\B51x -/B##@دe4:22-@v7;) U[̒">vP6c n{ GjxgizD; 镐q/R3e5;~^q/1x⭭?q*\z*w~a10.D 3L|Yt#yt9ԯO$u בXF(>D0GXAӍ SÂ#X&-21$JUAQ."R̗GѢ6**8# 10b< &x&13xm5Rp&G˙xA}!l AG/rxk^TC0F0dtX)Gxf +lfB q &*(@ s3aU DK ! &juMk|z= &ڄ;4$ݹ~ItF#kͥF# J$q&;a4mhGHщCĨhz`U!+@=.>0#Ѕ7ڤqo\$)tzxt {[kސ:'+ng 'I6O&i0ސL68gN= %wQ AvhI_+z~nm뮿'ߧR Zu){ޗ4Z*=*ZWJ! 'Z\":Tݪp?a*$Q}m#杌pD~#8ڣM9)?T}3y^S_o;BVЍT#" _ iH׿kURI -v\{n믾׭ D۫뮩-}u/kי"<N@حUҪ^^]i+`{_m/GPw[iC[IlSi+UoY._Ak:{;.ث ] -H">J.Q^{}߶}+>ZYvg?upM8SuXL'rnamE "<6Bi!MK}[P_it:Vf:<d~ +q(p󰢟u(pN8DR!Va0 a(pDy lAzIAh"?xb6* v)#;#5bG4aGGT+Jb0#؂#LnbBpDtC0:!a +A<&&~!M0H$":cQM'q0' vL=`R"#:ฑЈHDDDD8lD0DFDDDDGҋ*h|RFzK]}$'_+8=pD~m%ě&P"23A8yqk:2vPfhBKrTv6#w莊Lȭ9ZdVAP yKDtvNH A&TGd T*I7+!v +5>҃P7rBiD3+@\_ ҧ #[CBSѬ +%B[nr4~]̧GHixgH+0PnN'Gt:2l<>0UAZA6>4QVK&Ҧi 0GA( 00D)MB " &&0DD xF\#C Gw*J**_ta{ʒmuuEVQ.Aj{ #c4QvnFK>F%@3Ŗ:UF`t$:K @׵zxo ]_h-Ҵ! >OL,i8ga0IJ -.IzVqG]SQe zQKy']\}Cd|"TH-% N,T*  z 8Q +'0Z{ RG_`޲(DuL0@l"<4M~5ҽ8J!EFiчSDEb:! bL'F88"x ۈؠ0CF8aPL( 4 &R4!qj! L& hDDDW?9CTJe@u)i? fM3l0J5)C8S"<”8ApaGKjaL0B"""#ZDDDDDDDDDDDDDDDfÎ,DDDDDDDDE"!-.FgFrFuku`/j6+4!qD %##(0""23O)2!"E50BoS2PSpAD$z=WՌj&4VDN)/A) P":HC eH c eknh]~#갂c"k_۩OVDe2JR1BK:V%!Co_غԆ33Hp"ܹSD 0dC#q3c6a|uA2i{jI{5g4DhXM4a#a "Mavĥq";L>ԍIIj:":"&(F~&2tGDA|&Gia,C4ThaG;6mܘi&ܞ4 knfo  D}0ABPل-ff~PH"pTaT&y( A 3C4- +jM&mZB};MTL$ Vn:PG>N=5M# ;}JxkhzGh~l՚`I٨:[4a~7[yDt0 I̝ &ҜtA}$:"QJqUAJPXi6h>oBq;N':U1_JU+ ЯWu_!guߋ_zǔEqP] FKnФoh0տ/uGI|ׇ+ :n*ZKWJS8UѬo A^o_0_*j!jЈ":{{zPF֛UIkU&O~[ۺ׿_lR ׽unoKmR(M'uM-u WuoZKB":JR vNsݳ_w{g7tґ}6k ]*_Һ]W۠'oa}pޭqV2:TjS`Ko{h%YŤsPK8/So_G^`&IPM0  h8ƚlRa0Q]tWWi|5_o뤴#}b""4Lt _qiv]w4aN6)6 +w0B 0AeU aAhm("96ȁ>GIMMB+ACb +^dr8PbC6$L vAHL""""""""478($PQ TS@&iT8Q +0BA BA0BD% bXl(v"""""""! DFDDDDDDDDDDjb"gU렝몔mm!dƂl.+[dG)~2n2YR[)}JlL菂 + %:Ÿo*KSKX?/*KSZ Du1&]EC'EfHJ]-J}'}pVl'M4vr-/^;K-W]}ov{~~?)GV78O?]wqGVu`~i{^U}/<zW{ȎRkЌZ[uug_]ujm7#`P¿צ׆M겟HbQËab#vlSPh4ؤ4ACM ^kPA `AZq@82S(rq [_7cT^S]{v]PA!De:f:uuqe:&j2<23Z:-iZL夓"o |;_:w+Aj8aJtm! "̊9aAzBG"GB(]"ZZL7/DDD.""")+IH¨":"!"""8b#.o KIiD(=B~Ԋ ]-pRhF֊zKKIҐ$SKKJ++HĪiV -PPQa*XI5SҤ҃HSiEEE&!C&#Ђ$0  uIu@iƂD*bLDD[RUJ8 aB0LLUԡ#SeDDDDDDDDDDDDDDDFktFAFNt] "{-_!a.@8At2ژ#DrFS7xGv̱\":S":'B#:-puuP~uU*6TR[ZQ(M~t6ORr&n"K!k庨e4eGљ3HR6Hd32Gљ3H#ϙ>AB_ E@-$; E@2?AG`Qaɶ=4hxNJ` VT: qh734*JXZ^ +QծZU֖UU 5I$UKKT[IR^>}%Ҩ!UK҄ ~RJKPIzR 괿.mn%n_UU*+I*&.UK$֪!|i_ +tT#tҭ}.$aVt*ZZKQѴWKjKKF-5hN^3)i:SҊ% D@t$UK8i,^:S_ K/Ҥk8 D|҅:B֨%҄J K6a$*)!HV;Ib(*9 +iE&.));J(ua(hUJtGT…LWQ +_ Du¨LW +!SQU*C0CU"6(m40R0:1gAm#ޝ>S-hL5鈄(]QJt1j2G)uN4e:SN)ҏN)rGuZjS`-5yN0R2C(ȜZZ/v$QDCFytP莋Dv';%DqS>,";#;5|a# D0e1rd㨓 k C0J6 iP{ڭҧHޕk7i-}}$fZJu7>I#JYZW\q#.F]_"_~:K+Hu^.-xDuzKVY(}#DZF9":?GQmץIjZU׭mFGpa0@P۽-%}ka[u/!_tD=F~GT{h@DDM hGhGf75G'f2;#k/Z/K(j|GVr'ffh./H Dx.&"0WK6kG*BoY3ct 3xj3~,⠁T +)x%[KU#SV^q$ _UYĪa(JF9s҄y$QQ +*6UJuQ55S.KT2*֕-mu;QB" t (tE1QW +0 MBe (PPKZNTJJ**(DuT)SRbl)CU؄ AGx&/A + +Â#PU 1L& hDDDb9&©Z'T5)Z +J0N!hhDDDF""""""""""""""2xQT(N&X$ $#7:ת--#]u&4&KYZVtV{__+ikRղ7DHG_o+$ )3fqDt3Ff:ˣ0#d♙8y34 9NFsvT4@>(!ŐhA#<*ZAx#=uěi%:Z(u-^RqGKZX\*K8 R0糎_ޯ]*J_%.J1WZk i*J%Iҳ-t҇H*t⢐J +ECI KJ*8P TpqH-&p +)URPU +(Mp +XL(P0DDDDS CT""#b"#àA7H:Ai\]_&%bbB1G-@#s"(/2O ALDgf*;Dn &*AT20~3Z=էҖM%#~xa.1tk)}_uJw"ڤ>}k*v?"3JE h@„!.E|ߚ%ʌ.)NK B L):7eD0~ Dx&P ' ̥}Ux`" 2+09qD[f;# hr)gȜ`C +\ &DUM0i :Fu=$KI$U^7A694  iFβc5#N0bT9ツkk`ka#]00 ď]cN J/J].u_cA&|3(+f[ 3L'I0jaݤj,3Q6ܡet|%Iit֐IRJ1<":֭/ionQJ+xVwtUUJ8 BB>ҽhzWXi-u*:zU>:MZI}W]$֐%I$v@ҏuHa-R$] |-_izuS UW]{k<{IR)}$ĩT 5?TOE`u}i,Xocc۾K~~7܈W觤Z0--/1SJ*{_g[tw-i|":뻿~#+TVTRD*I.ElW oZφoK&҆o_k;bQK T& a0QaE*G;҃ lRI?iAL+ XGؠui.A%#ph4ӐP镠B""""#t01AN ,07Qc )k 'AL{_o~uPSXx=0~>CWU_\}}_Џukk0/Oy?nai``": ]]oa?x][}w߷z}m^~8]Du՜V6+< ":(p G]w /w6B2:m2:UaP2:E~>=i^ޖ7{vzll8R1 &aH8ii;b 0va -5;ﺄGWDuk}v{hkiGAtJAaFS)p! D0L0a! *&]\*i뭦t^5Ӻ[ lU]OXҴث +a& QHASwI!DDDDDDDDDhG0! 8#!0h4 4bilJp (M46 &ħa4bPˆH0\ 0ADFJ"""!iŕa"!PB"F!QDg"""""=h>5_}.0?RDG+" +… +D_TxIrM.A5t{t X_jWGt +ŧ}/􇫮駥kib>?G%];Y^  k%k;'@DG"r3@C„31sY`R쎌f_#3"s? ᓊh ҉PⅣx M02:!}ԝ;*Tf"HF3#֎iH\f5"; ";B50J :O&ٿ,~ڐXF0'2:ShFG#gENFV0|#[CP%C 43uh'H:VӾ[k&wJ!MNmм+i٦j& 6t`OܷH+IN\& ޟ[nלs8":];j_z}v+uݷIni_x_MǾ"?m]KǯAǾZJ~61?1*g+7h\_OvT_#_a=5onmx@uuWam/~>/_z~׵o___knz=^8l렻9m龿6 %ukhiwR>'W]=ZE>[VϮf(5tONՆblaPl2杰˶)0ġ00c|Rl4pl4[^鳛OgjK-s/]b&M0$0DyCDDC( !<1LD6!VGKUv캆G>aZiIZ 1DtTM7`a:MZ` ŽN +8QH0 lPiP§6 llBch4ӆ]OA)dhXbkh">DDDDB\Dq`+`]+KEd3̔.!ls)d$ImP`%">k2%HfTf@FU0c~ + +&byU=ݽw:t:}v^:d `0;3Fh:DUI4-tS$G#L(3/]Dh30BH2DN2?Ȍ75P, X5i4hh9N(CS \U!tF׹zh)BQ4{ssA>' Nᷧi+3Ntj +60Hf5Af%/#lD%93 +fAjDN#RNdt#D\#0D}S +Jv NHt:OO^0JW{Jr ХFL#iUf|pdv# #[]krcEeSCզ4{ug$ +'mD6wtKJtWi?<~nƛJҶ[pD\l0h/:phRweTӳFt ٩zIsEinB^;BFL9NStt޿>_Jox_mϯzՇߟ_ {O됃[xW_??oou_p_09=['=p\}k"<>K^|#_ۯlzz_}}֛R9_ ^qݤe #uֲ0~o!~>4":]}jpGy [" _7_uW~ :莶>ZF_/_y!{D~ڶl4v)Gb.1 ji6GUլ'=}o־ϯ =Xa66.i\݄ķQ +i641*(5MlQMZ w o95h[9߶GIB#ˤӈa4؃MCv! +L0B"2"!&d0Sai5epNMGJ)qd}SN GDuZ[ $qCM4v| """jgR`³l WAV4 ӊg)1)ƤtAqa&( TEޢ"""""""hDDDDDDDDDDDD0B"""""В!O]UqւK-/ut 2D|P#ԭS%HXՕJ8INQ cAҠDuG ̜g,ꢿF?c{zO]k_/v~fYDU#%Kꅅ3d4GINU_0KUX.aɐS♊G @g'a8mnW§1#zU~T뤗~äҰZZVP@Gҗl!qG•\*N֖?]%J %^$4P2B"#4GGi!"r(av묧#q2i^iUZ[Kn^ijŹy#:.#C|DDDES$z*^^Iju:KU]Z&莐"; M3.[\t'a0W%K7/ҵԄU^٦qRFg侪guo |4"'0!&{ ސG;3=#?L4ZIS^磻[AzZ¯IGI$ÑĽ,} VI-i~!I-/IuK$ KmIW IW}oJ ITIRV$ҭ}/K0]s DuJJҩW]i+6-#i.GJVjXImZ-(qF[ tBbP%QL/P*("""8"5~WKRȪ^BZ]Z[dK0n$lt8wgu nGIS]EZA*\^k_*U띴kZZUtטJR֗־갎:0IR*ATZ0*" +IBaDGNɰv?-?\Wݏ_@KjD\}WY32v^Ȇ/yagH C8BJ<@ZNeUI[@hvNՌ .JGz_W~B A./t^91$K%tJsKI*ZijT_]%TP..cI#i*KSA8/t0ސ#I +%I/#w J*GRP +1`"=0߈#8& ۯKB-ѭL"́ ^F#qf+pRZ#D4Hvj$ђrP?PBvԮa*@n iwO%Dt8_/?CHZ[^vRW>kF$|YvH38("(.Gߕ__"4# a4-pB08"= aT&;Ag֍u\b#4FDo3ys#̠""%Ԏ(F'I l6o=Sa +f4A 8GxhȜc4>oPᦒx' 7OMyF_k_HkK׻i|$Wf Nt|qYAwIp4 |Ѓn3WfOa6Vzzznk]Uw߯}k4ڶZO_m +o +>«{ 5zt?WC߇W?~uUm[u~xS#ќ ?ҏ_Q vD~Dz_ޛ_ F?P{_ZݿCu#G~KM_0Y@z]o oiKiG8 O+ku5'_>l҆y7[ AfV_XD|M;N`x [#.{gal6'A;L&DlBM8e Ӑ)qU2a4k o={9kuw a׫i nlpi$b gB0" !l*aAG\}lRiUNӸ6x&}e"H;#( x\ &"""",lDF"yJlAaMA 6 AA .qA07 PAQ(pCcBؤ|0S: !H]b"""""" `gC""""""+g"8ZIiRJ~ ZJ%~ uF]]C)DZBE)#HM"E:2*iPAaPA tvs^|z _ޚ[Q_mdd"*Q%**>"Ah l#a'w w}ջ &ٝgHyoZ4\0i6X忮H(a$|LxGkr˙ʃh oڏݏ?J_wzm믯{~~ߪo^VuaC /W.~/u ^oH/S=t՗ё~| __(l?~&]綠_׭nՆq}q=FƗC )}_ߐSnV#}zw{~}K_ZJ]XaPWa ]i}׫Vww} }0i[.:dc`Lpn +5 T! !d:~AzGdLi8iKaDp5dn D~bdt +G 6Y +AlTTTal֠ALئZNՊ݉Qv UTq#k)xړb )Q8&( ISb"""""""8~_]vT":AႴDGYARԈ#5zq#K3R.:0>55ltaq    +endstream +endobj +17 0 obj +39374 +endobj +18 0 obj +<< +/Type /Page +/Parent 1 0 R +/Resources 19 0 R +/Contents 20 0 R +/MediaBox [0 0 613 792] +>> +endobj +19 0 obj +<< +/ProcSet [/PDF /ImageB] +/XObject << /Img4 21 0 R >> +>> +endobj +20 0 obj +<< +/Length 27 +>> +stream +613 0 0 792 0 0 cm +/Img4 Do +endstream +endobj +21 0 obj +<< +/Type /XObject +/Subtype /Image +/Name /Img4 +/Filter /CCITTFaxDecode +/DecodeParms << /K -1 /Columns 1704 /Rows 2200 >> +/Width 1704 +/Height 2200 +/BitsPerComponent 1 +/ColorSpace /DeviceGray +/Length 22 0 R +>> +stream ++2HfvV52 ?SAL6)0*vF @ 3tzZ^6 }p#tl2:.hu"# VP09D++2:#r: DDDG&9sPg0TVi"""$ #9(r8沇)""IQ#1DtGE#G d|#<":5("jPB)9C9(rrcr8 rDDDDDDDD]ꊴP:.ᒈ.쏑DDDDDȄaE]EtGF#pDm@7"tDpb%eVM0DtW)d„+PV +>w4g}wxѭ rg(_ju;r$#9]돏Up 54I6h?KS/ 2p21蔡_D[쎂CCF`Fv$G5/"qB"O9aCA瓲4/h ܷpX {FġaE@80LA ! hAM'34b\!DK4mD-pWw_nhyA(JffފadsFwoh":l085.FL(0dm㈏(y%\uzoרnC ^;.; +IO46 z=5c 8:6aq/$??Z^G({tCWUn#CL)=0#Du 4/>;6">H"݄wG_}~?=}7ߨOOӎbPDt;O  ~QC⾿ p(WmJ%KZx*\.~=t}}?c_u:i(}-A'eۄG_D{Uۮk߄ n}cN__]ݠ_^ f7ֿz_ۤ߶I[޻No6aFm_ilZv +m-[[w|wyUh-LS;|#^sbrp8lR VG1=;V +àfk-]pLmiwDDXB"N љ5lL  aI1#mU&3_)mDDDDDD0B@iGPD|<B#JaiX`#pM4#AN6{x0ٿݶ=""",0AO? SQe[w]vA 4xD}C :""""""9cGB""""#C":{ #HZp&q PcP ?ҺB";uP֨ч"!-BdtGW?Mp--č%wl&6FݶM0-HEuwЈ(r2@""# $7uUI4H"_i5@V a 6Q Q +""?sR}㠜0-zU/Z\Hnn[muanw$Z;GFW&zI_'%vJbDG E &\ϖN) +]+m*tDQvҵ]:]&JZOXMmQݵ'_pq渎#5 %^R;\ʙCTTҸZTW޺WiiUTGU\BVM;PǎaFj-!(U5d;a„KЈ)+"R<$/#GK)bֶ7_uKB:CNoD}&ٸO͛H;,p] N5hhZ5.ZcWn|GOz!wKߵo[bT #M3sG.fG^ ץտ&w(p:i}GM;*ЯR ոIDt:M4+l[_[|Dpg.a¿ޛƺDtoP`hN꿾?~?lE~VxFk^#F^zktޛWo Wm}Λlg po#DukoMzh6-l%v~ /׿IKIJ|8IMd 1LB#F8q0I4a^ҵm}+GXXoV?VAG@":"""""#;3CaN %ba l:m)#">/;G#0o ⴻV+V)_+_/DuDDDDDD!a\S*1  !a &Ȝ$ccaG[پD}Duz]GK|u#0D3bb0JN&a*D}G08iYuDu.oKXu""*"#0f!-N-8) lTdta7jeնv]/֨DDhDDDE9P 0YCmD &!dHu1/eI3PኇTI/[ Pa W]Vq֨0@(WAB/{ؒimD0Fq +?qlD +*+,Fw L8Lv%<=עS"$(:JL):gttAH":|;bZ6.t{xDuM굥mSEA܍nIv*'FG,Bx^C`R8;"r5#k2 8J,ݭuhVm${ī)ލl+ G"<*rhqO\H2423GEy.I޲gfB4IBv>@&;=.6G3ЄGLc0"\0@fDxx6#9:%${WҶ> +In@vpA +GPFvGOu9hqQA_8$¤}ut4ǭ I/I反fM7 lN]{hJv[CFxL!  f9+%dÞY2C]hqJv?\= +V}'w   A:pp%^#[hA ?%yH/ޮI%GW^TZB#5ii XH>pĪU6ФRW?nntukGA 'tGZU[MWïK>#}ү:WInȄ-%^Iz]'V/߱y+owWa":[o[|1TU Zm={[T41}z觮 vM*JZN֖);a 4ᄓclkDuW Sl">gM88E0th莭n ϊw8Du0QQh4,&@N"4GVa0]#78DukG]DDDDf؀""! . 4.b) PM4,1X[.-G":DunNB}[":(pL!4L8T,T=a88C #M/#4m%n Gծ":#oDYhDDD0A"B0D~>ж!![ 4"xp&XDsN[8a #ﮐeR":Du( +8B=#4">uaPB"!2 tDuj +<1UK׌":izA C Uz_%tSKM_ItP֖n^`ح&ڄgn_ ]觚8B;@vXIǑEJ!+AVRm-%#NH+oZҴW:p^<":Ta""# +Q[n8oNETV`;>p}.tOPUʴd$NJ^w'֒U*]$R7u

[#IBh?XNuJ(aA/eҭ*i+ס#iҫIw}Ot^ }~ii6Z7+aQ9)ڛw(r&9C_d[$hm6w 5 8ZGWݷJMT 렩Ҧq%K*K R:1$*I6T"")+:m$u w048ZJIm!$;I+"֕PP6$UXLTDD`xQ: +vJM!r;!`3GΕ"cr'DuA4aS|UTaURtIG[#jҧJ5tvJ}.֪߶M'AM}%]M]+E6F"i"im' j “[5"8Ċ7ې.;S"V8yk G=+#}U <[%0GR8h)9PåG}C*k K0݆8m&DDDEO$q$kikU@]:POZI\DDB.$}*I]IRXD|$'^ZډUȼt фt2--+`T6KI ,A-i-kIR!TB P:tG K H;\-E +LLBC5:V Ҋ(!AED(P DDnE N A?031PDt!AJAvZ3@k' &C‘ה {Z ua4?8CKVPe JH׉X[i|i*%]{ۤE="UՑvDVҵ[DQW"VPΡ{e9](vTdK:EZJ}Xr(8^ʱ 9flLVD]XI툟=d#̥ #:8*h3AI,ILQSP:GDK:MZ OdގL$a3ڈLh:0Il2Av<Pᆖ6i,6ZM$A4{y&"va֏/""ʱj ۪ҤU pKKImD6I:Nz ėўg<4=i%TIvRJ֒_0ZTIi% izKUIVIRZTZJ#n +XV*JZB#7RUZi.JU$zTT_ZZ;KH#t]IT**Z, RҤU$UizT HOGE_7KZ@ҤIR*JIVI%h$Z֗h">x"@}RP B(ta* VGu +mA$UT-RI-$zNU$""4EZD[GKmHK)(yuA:SE>*ZIl $#R&H":Z_":I]C %A):I$)A&ԋHjҪZ)ꕲ#(#S(tatESתI':pB8xU]80[PQ + @¨QHT@^"#JJ UiRZT8JGTC B:0%@""CB-0BO$*SPJT +:a*8v +T+]. iU}a-t88a0QPJ!SPT&58SAE1Pa`"0qQPi6FPZ[PNQQ`0Z!0"""# #4R(US 6v4(L23Rm܉I#Ĭt +&dWIʨz +gfB4 `SKZA'>vɽj B;J\IEW Rj8Du@:1K +08a #9 hEh<e:ɢxoAGZ=-*5T1#lά3(D%Rd:4_N:MN0qa=MFA0A# )'5#K#yh?#eq ix{to =76g(GGPdsZ &B!.ElDz433ߔ聬 z}_v1E~OMl oIAiQ7&8":>6#l&'s'g\4Hz<>WwYc}i|z il DGLַ"th&D~=FrHU#[‚3A "ADRl#莳q.1Zӵ?#~W+aM.[66ѱ! = \F0ۥ뼡ޯ?G>B#ZۊVx":iGI63SmUl!GVo6aJؤKG^)]+A69VA׆]ߺo~_k8" iG_a[q}#cAk߿ǫp׷}GA[皸#q|"?PK!#GMISG\":E~}{ U%#N/?0álCbaG,G+qմn#u#DuJv}=RͦR׿_ "?zC3XA\&P3v 6]LUT>3$SDuDDDDDDDDDDC12 +AWbGe04N J60R#XDtޛjukUO]$Z^Ӝb"""#LGPՑ8q)H0AzvPa&K±Wq[m{G^]"""3)B! "Qa0vPl b I> &/MK0":CGP"8Duvy먈ʘ@D(C !lSM6 GPґBVEj#ze^x B1Oia8QO7c:_8`lEZ^"""# ~^ +v +569NbT<Zɰ sG̒": ϐ@S#GGD-%zv3rqO TҬ0TL"0z K.N] +|rm5/J 3"m!nRɗxm(DK͑(3fmK +R G0s("-l7)Dui_Yi6,> pa5av (&.! ̏Svqiה&i")GI>GL":fxNCufܷZ>4|m0DtFxFՠlS"L0OCe!Ҕ#5clep6HVK#qm>ݣۤ||q|aMGAA0L&DtGaa.2&3 2M6h%&Aza_q:6P~)iOҹ$A vlt>4|zġGvm Â4!dqDd`feRG[#=AAcUah{zV"5I%>ϭG_cnA D|W7?AUO}p޽%K߯_Jaړh":Vngi$kj" &҄GI%G_~`*Zar +@XABM/G-G\{gW{IQ"ӷ᾽zEzV"# 7B[ d01IaFIb). ﻆճWZI]qkk _@Q@""4)T(pC-"9Pa0 A4-b##(qmtGG#aDuۜOi: """"""""""58C#AS 4|a1Jm $7]q|":wlkn?u``E9B{ +ؠL&1 :#8D}ջ":GTGL5#APk2%ɵ L ͆u5/#,k|EhD} FC0G@/*eh%Ƞ:С9'ȩqrt *f揈Tdh2:#UAt#T4iE"UG]]Qm&ۨ0|i4|pDvbG#pDx"͑͌ @΢"r9dxrLo 7PGJ0V +xDuMBJMt] 040jUt#[BP8F &!<0@ȁE0gDG<{j_cJ+M *kG)GƆm T 0L%j8dQA#l8vHDB)٢6Q ":?֣wT1&_W~lthn6== q{ޏ5ԧL":0gG/0L20e{#~=Uy5^_a>)0xUokZJ4I'qKh!ci4| *c뾫ߺP}mֽ+ջ}[Q⠊":JuDu}I%N[wIkI+uODa檵FǫHkKxWw]دl%y@_[PM":]pQ ףJ}m*]{oCH"8_G[SGD>D}uAUћ/jnmǭ|":]t^Gj$'g6 :נO|:ۄG^#DujzuKﶒǴGDtl%Duh":ҳ݇ޫQ/y}?hGuq# ~;HXMCpX8##">/v]+}6=ӶDuSDu5uGTIDkMLUD4P4i.iH_B#~)կjKWz[m-":Dt]خ7T""2XP m=F؂#N#DuTG&Am fն":A~ GA+#K@ן؈d"""" Ы we{T!( ؠ!HS|q0m%҄G5Jޔ{p9":4>qyDDDF(#  cB *qH6Gh6%M銆">k""""""""!8!`B`b؅86)IDDDDD0e{ALBAQQ":ZAjțR!5E X#M2c"VGDtaF}5 +[j]AZW թ uR(Rz# r^DtdP_pFw̫Uz_(Du4䍺 5j},}T,Ǒ\Wɴ F`(b!S\)r02q |DfkW/CGM#`qTxaX((@DK`ό.F3g4Gf(dc:DF@A{gH+4{z=fJ* aKA."3{#:9D4A2=J*t}B#-toW)OateG揃GrkqhaxF4bzDkǦhfœC tڄ^B,}=znQ +XI^!rN0 t4 #[G7&pA.N Ij8XÕuwk_.Du]~Хxo[Ve{-T4{DvmG^u2:c D~izoY@b ݚ ՅIe&#@Ga#TDuϧʜ_}x":[#Rt7ׅPV?h7znr#Dt ?c!MpuPD?-^ ik">?|":1_J{~qUG__?kW֗7 s(DuoX6 _/ +z#DumWkGH":G__p[<#Gm|#֞iG ЇG |l"Ds eSh":.%?]0":Vϣr(ta4"""""-*` ] +JAYcF>8 33A D3GIק":#JgJT3Y0DDDDM0`m&LilS̏O6!!4ܐ!et+ׄ]RWHCDTiDZ"\RpC ؄ŽL;dIڂ#Du( +Z8":!ЈzTB#;iZ#cUµXen>ŤA$]:BbIk +ua"&Ҵ#uGXHF)C1 8YC"1g@Eزq@S< +OB "?{PeNUs#Jdi QP2:#Du\{ Ao?ODu=GiG_T||uAf/3ir *5GZ(tP.(BG%`ˑC=̏e:)٢#"__odyh͑_= ; %VðS&CT\=@̢#3C$#C%j!:;_zGJ= +]GLnJI ma t{B*]E.XAH `  +q3(<ך1]Ok`v/WuAt]A F݂#ZġGGAڨM.X N5# 0c<)3#3ޤ6_n"P%w}VJpwް@ tz6]ДNGl#GF"?A0Йi H` 4$":=wu8N*(Wuz_.#m&oH:KA 3BFPm2;#5"C= _7G":_s_k]T":P"~7ޡ +T":޾ &Ti 5 jAqoO]{⿯_qQkGO L#BG_#whMouyOa8O#ܫ^0OI?NGAGTTw:pگ~ij#sϧ^BssUKDuz ":տ?e(ϭWGWyw]GZ6DuuÏooEſ/?Ղ?ϠE "MG R: *TGZv":`WO7#6QoDto{":AgD{#D6_Uà˼(1HN !ІM4aV\604#T~q#n:뫎 +_ZڱapA&.nU_Drb *#L4yqfJ":B#DuZ":SG^}[bT"""X4)b$:HCbG&bH">J#XO]GGAnh lGV}p_莞DDDDFmPAb؄] A`Cb( FJ"a/9#g9p"""""""" a0LP DEJBL"B`DshI E&ⓄG^"",w [#D "!a;A(aDti6|(!"""""""" 0DGL/xQނ#G]T_ D&ۥ!yڨPE:%PqtvH2@;6 -5 D| YnE*_o mvGY6qOo~C 觍!{z]"0A a0f=jc:Pqnr9~4U({ha?0AA#0^8E~|%=BUxq)GG i0.0r?3g<ѪGKKIKV{!*# S t{]bqͺ(T0G T(B!E-1F9f3~o #!dBס]t=G/TFPDt;CN=;@>v#|#:# "> + +@0#.glΙH2tEJ^_ro}?WSB~0i-G -ټ;#:h0PEӢG#PL .*e" "fsda ";+=!ґGQq„GBwVI(puAi `Pqm4p3>8 ":@G)r2HzBPOoDuֻG[s Gb1_Mt\":wՆ6vOqD}xT ma K^dAGv5":UߴS,":T5.ӻzurO>bx?la^m7;u;Dtc#_G/XA/lqa~}|":gG&>kuNOzka +EXo#]vӿoO}' +fӒVt#GGP>T [A_GQаbP"= $#VV]i":u#_GV߆Hͧ NhֺDu{4,ALTmPaP@݊0B!6! 0E"=}KGGn?`p㏮6Cu +o+""""""#0Ћl haCdⅱT0b@;JҋTӰ1PEGN]Du_qj߂3կd}{m(EVD80|c&G64A=B#B""""3l2Dt#_O+PRxa&_%-9Dtլm.GҌC$Y-G>JjG@R#SVKUGTGɅpw)\daרݒTu 2UFjќ* +YgptFڻGOG̲>Pi \vEDuxDu<":GW_MiVD?"-'fdEm7":54Hx׳m0,&A# 313N(LYEsEZ"1/Ɲ+<Ģyx#u gDH(g25<Ě#B3_ uKuwm&Si\B7 ԆLΙC#[Ix0C3A.@K#Пe|(iR{>5;ϦҭGM>' bUm6{G(N;Fv0;‚qa4ED[7\>`ȃAs'y$,]}џ?":t8Du%":uzGZ0 ƓpANlgp^X +4%?(> +ڠAG[[__oo=Z#Du ^C +IyC +"}Q:ӿa>Go ێ|j#:_w}׽">[j#g_vGPa~/#4D~DuwUa#!_:֘h/_-o7pnFc#oIY3{GWF(Du":]Z Du~-҇W㭵Dt{Gר%"GؤMt 4|l5a#m<-}o_m4GN"?M?"[k׸+ ( 60@˚a7#lB#(; S6;..0OG[gy4GGתqѴj:.0":Za레븈`RbB. +t;bTC +!0h?ZX 莡8E6XUAkXDt§GJdsG]'"""""""R b !h4,1A#SH4!iXDtl4">Y-{iB#w~*3FAit#PA.bTÈLTID}ұޚ `DDDDDAB&hb%ʋ1 ++C 厂F<"<$qBDDg٬DD PD|5cHDDDDFr/AB#QpE ɲ|QBd":»Tɐ̋WCR?DtfwxDta頍P#IV#;USUTD|hDu":N":SɷGBIG'i*_Mg`#>~q0fy3䆙Oi6~DsP-BhaT;.M۲0MG^^ĩ&?G0et|p6Hjݶ;͑B"$ Dh8W&A3MG@FX0DKDa<"q-R _za?G$'+oP5+ ]$ۺ#fx"=cXwNM}rc^b?=莅G[{uߥڻP*#E! XlЯuKGT8J= GU;:a":+wEP_a׿?ۿ߽׎Hߏ?GO#~UK 'z}׭ᄑ\Dt_Wnz/f MGZ걟MLzڿ": a7":}J=a#}Du᠈mv (DuIUKAB#⯰oO5izu'R 11(pnɸi l"XASI +|":_׮a?WZ":Ѽ1o""˜H!`PAh B":ض!%ȕ`NGJzdtCXf-+?XD|l5w":jUo_㈈`} ."a0dsC Rb 莝 M KkQaz(lPucDtMf0aaK!!)4\d4⛨D|$Gp&˨H"? .PPESip6G_":DuvDDDDDDEDDD0T 8 +) Ba𰁧rFGS:< xx#xDxeb I10A␃`H%"Q(rb>#b 0vPH& +6A $"*aGAPDu*sTuůo FB\Gl +vQVN2! !ʪG@h]<T楅(23;ޜ":GAu +I;wEzK-zGap`y#Z}aGqm# Dt}|\oIT;br$ֽߍ>SGPD}~e?_*Utg$z<BH*̂iR(NkZoI F##g (&DC,C +|y?2@#>qfpAvrF xx F )h9Pw(r9DA9PB+ "?4?Nn.4|h!p{ħl>0iT'FfP"9gdhmGB$K_[ƛ_G_=:Nl:^aB Dt Dt&k*G~=Lg2=2r3~m!/"kVGO*m+ngDuMM˄]2pH|QH BBhDt4{ 8ќ5 !/SB@<͚GٜaboGJ!XˏKjwQoMXO !=3r#n͑kqsX' !@GA=%k":":p89CzC[x v.{Q[a +WB#":ixM|1LGfꑿ5{B#m-S}z~?":uT#>Ժ ׶к߽Du_np}u^"=So pU_[qmGA֠B#uuK:":cGr Ducy?7#ion ~zDuIK#$ߺVյz_[buxC~~V!EE &LX vqVam":ڸ#WMUQGLV"=_^A": >bbw({c6)4! +$ DxܕOXv k#[8l_l鶫G_v{B#EDDA8BfP@S* Q1 5L 6)Dv#{&uNN=":a쎵ho$#a#oGWPxA;#""""""""""" &QsgTb]EA8immZcm˸Du_ 8-b8A $6P%C*B DwT"<iGV9u"8"?} ŞP8":G^0qYdDNaQQU&hC !mд$Dķ":UoewaW^""""#2`x1 +!qA #"ItDOb!7*Jb"""#(XGPKGErˈB bG2+*띔GFv읆N0J0PRI] #s޼v)BKڽGm0_a#IDuƩ*E>/&.E 1*_Uќ":a4!@ૅ3gDBFv 6E.~ 5yT:vXa wgU.Τn#2'G3<FAY' 7OMVChC?ۖ^h6k~L0&q )(k#dm3֓G3{ \UBPT!xX##)RS7yu#ZYJA8fMl} +8f>PL"%0A'$Er&Pfy!⓾>tMoTz nvrfx#DFðo:ЎmRn 0 g$TAuܡk~NZQj":u|i/n(ܼ]֮_#z>|Oؿf{[߯\p":@^M=o+_}^8( <(uz[UKjDuWDu##_H>_u6iiEh":cq [ƚar܋h4Gv)#p^uWf(fh0wU! &#,! ! 88aa/ "=<$ afmGճ؈a0B bBBBlM&#4M'aaqQ "u(tM8BbAaCc <a 8A|`""""""> +`+Q3"Ge #!AIB)Dq !NF8ºHQF?H @-M]ٜ9C؏;Aelpֱǻ\ה??󎘿ru5њ2qSB#?OG?kG 'G8Fq="=CGUiPQB#@TceX_zY~a":"PjH"?q&1P뾵!j(u7RJOt"?TG~G|28kq'pE h"? >&"?GNlAײC({!b5#rp TDDDqx&JsU&܋F_ +3#q;5(S⓲&Pkn]+j +dUSmȚaJ +dU\kGZ G%""Dt irޭ}R]'Ȣ"inyڒW{6fJo$#DGFEW浭 >hC@Dx Z" +g0YC7#Gƍ = R8 ‚ " 4b K^2^W>("_Ɠ}۾a4Mr g Lpe=T0ل@.DjD^'Cp|t_~xz@"wnkwҫ A_IA3m =h09WP*] @.3vqN.A8">0_*QpT_z}}&XDuﻱO,"> `=h\0 cF\abUomn½WG?P[ҏzuvh5uA>#Cgv Z]o?DFG^~#,ztVG]7:o_}KzDuO;H":_ד_^ժvDa}q{B#W|":ޗ]9CkoGJV7GGPoK5p_E=0">aфQiZ#ݠeqZ[<77|q #ZpERq_aQ BJFMHZݗOXCv0׷#"]#z Xhލj0@0NC.qAceApG?[Oa[W6sao6p:aY8ajMtϲ#@؋qba⢈4b|TikPҵxDup,_""""!.t#Il 4!:MACKꛄGZOXDuv6DDDDDXB"!B":!!D|1(qIhd&1"8V:#Dt.Vdua\{Ӥ#"?~"""""" GceLD&qA PІ=:G";H3[oK;`DZ?S[T!ЇQabmB BgDUTaY!][062PSP/"i5;Һd.H;b@W@_֝":aH觕KrEGC w)㰙$RjDt\bҭoJ߿(i VvaW}$~/;:]?-%K>IO(Du":waPM8Arh3H'436!^DS__G~Hhx;A=PDtm  +000DKdq)vpfSH3G?4Gd/Cm&٣ Nt9N#G+= +( #Oy6do#2:d<*":GCXV#¦ឋTnLwG=l!JP85!!N3]#29D}ԎgD9I!7Gׯ4Ыa>Mw`>4|h3,ug$|qX f yTyH#ͣh#tGD\ +>WXп^S &fոӥDu(sA];\":mƏoC +P2):G 8FC +^>)432\'"3DB#'>G":GrKpDt5N]}c#KaԾ}>`~lL$W40pFvŨAL03: +">j}B!^_FF":DulA8FNahf>4E~Dut /">>yz#W! GA&-5?nk#*G}1cGIj:)/o}KW7~ւ#G_Zq1z:}/#{o[^a[ۭG׏I{zۜ|w{VN~^+[mio}kִGJ}":{iՠebUn===׳ɢ:p-WKkV/mX#>J'@kzGm:nq`DDCA=@莅# EՆ M!l@%n;Du_":xDt%":6oQDDDDDDDDDDDLe8Dt ":&v֚lPMGM6 #q^.n0.o{!2B{[oKXlDGNJaq#CC UF> pGӄG2"7(z #ЈOi6qGG$Du}Sg՞AeMYCЈqMD5]r6pca³0Nn mDu 0Ob e(b Z E#8د a;a(`A& Dy;#BuLe8{e"AP0ROO"UUצ$": A/_!E7H":H!w?+i,Gq8Y*-AĚ"Jp)ؗrR))GԷHv ":<)ՙwr#RC<_vGG`H E ]F5= /G_=.7oEQq⮁]!_w!菎1ˣ4Ι D_G_D$_ªan\a" \ #%0fh<+٨A5h6f?8@0G4qFA(R)j<\KRR_OStݑi=WQH3, qAD9(%"%ˌdxn(G!eL5DNA~{_iOIv ܈0A\N": T":TpBU8Vxg̊r?d1sFJB65CԎPn -6C@?RGh44{ #a8A#dlr8(@|BAxue+ +Ԣ+W?_'xDtjB#{mm%QRQӠ._POa 1hh +xjG @Ds:yȱ.)8f0hsdl:qۺ?UwGI>w}+ '_t#Dtl9T #K*>Dpیtk)%4]F߫+z7o"?"oa_J},{yV?G_X]CGK밈GGWÏlA"8#ҵl׿VcW_+. Fk~tﷱucBpm`&$6˭&#|":KDtY彩GK}m="; w~D0A4F 6! 0 `ІV,$mҿGW_Vym)"?(u}OAݿo[b""""""""B$F!4!bkPDw CML[#NL5GPF0":!AۨVP{}[Z~DDDDFP QNb]\b#qLRb"8[IG$du"aA0> _: +w#=<#Du":3]}c +y8) 2T !h]4! %r7irCDu}:/G$k(":B.uF"""""",)U +PQDtp0@B"$RvD#O <m#DDDDDDDD28(X)J06CL0A +ІDDDDDMhL0C_HDDE}u ":u K"(_M_#xP3FGWpi8 U!QGI2"ǩ\mo$NPiAPZ/C,":Cƴ|okDxRmH3Ds!Dau pS/E<‚ &;D\Г#nj/ͳ ƙo?<:L;8Əo=E#@h UH <"%„ & rL5EZSII>[4$&쾁;GA0G@C4D 9xYz(3P3GΣ+_Ы+~M驩m+ Mre>&:FQTa@a ">P# r0F>nD~G I3:H}}_`vIӇ'`@5׈5`i%Ј!4,",ټ"rd12yΑ[ϬoG^<~ BW4 #C}¤Xv0L&9## NDy C +G0FA@0G Ϣ>s#SׄG^?J8AuߊAm&wS PH[Gʙx *1G#ۋSC@DuO~?#ۿ5Z^(ckI0ХvP6 m+ha9Sv_"/p "?ou#nj8uN+_/ ‚,]}0:a觯X^cDcT.-F@G_An#}UՍDt6oCu":">slֺq~aA'^ ":_O[å8JG_*,0{iB#DuZ^Yo3"::_ؠbPChA*^7=K_[!7":pN?П;aaJ7CD}1P !h0;.r8#%Ճ &nͼ7:_ǥkDDDDDDDYCH B !6-=6)4PIxv4"?]t ~Z^mM% *a1V'v4 iG0bq] Jwt#յGH":ވ":ۄG_gG۾zӈb""""&8ASG@!!Aa8ll"orL">[#DUBHh(PK+/~2": +d?GPD|̀z`oaG_(Du#R).%m #ˑ84hD`g_B:"Z2V":w %T68Dtp "DŽg )rP )r4hYd|ٜE%PGOH: :@6ukp4{|D8"?x@菄Dy0D14Eur$"_DuޝGK# XgA XG 6⚂03D+09,.H,#,K]o&k]k(~MxotޭN L @ؔ3{D`8D~@I3"&H C>fgߚ}ϣ"B#UI/]~zo !oA:l.Ukq'P (u@jx xό3#u4_}kD}v:n>A":_ߪ ߾ & 3h]i8Ie=tqGxGv¦F(0QQ&!0 a`a LA4(Dy4L#dM"""1B""0 2 +)4'O-D ͵]*DDPB""""""#$Mz*;Ķ=Rl7 GT +@MWa֡?d7q#@ܓ": :tHQC4":G$Ga '9es B4GVM][%t)i?6sL'l!z= Vѡ +݅8 L&ٶi +PTkfzͲw֊~D}믎_'}'h&OK 8GzMj(":P<#xH(GxFUB"<"<@G$ +9vn/dtfg 7%4FyGDGJjEmYָUcI-$#Z C:Tx Iҭ~(*VDtjDx! #:g Bdz32|uN(DtC_tm?NꏭGmF}r8o-uJzqTTTztZM6&Ҷn9#X[AP +&&`B҄"?¯~?QGW_kPIX itk+m +m+vշk DM:v6;8?860Zûh":ozˆy*gg׷ޡ/@S +Z_oKxG^ zn ! t*kZ#xDt#i*HuKYuIJFW t}'I_EnoLJVbbY캈D}#@_IKIW6i%U z׭$]wF#&_w|DDD!`0(0Duc 0"S"%blRHWZpJbTҤ5T-tߟW^Qn?pDDDDDDDhB" A=QAw $kP'UIkha0E;nDudu"?_7Ɩm6DDDDiUpC*!E1 +]XشD}uV,">GZPE[l_IG\DDDDDDDGDXL&Ƙ G!# 4 :#s&Nk /WGp鳟#_JDGCtYp +WpDt#"JzcaI Ñ XG%*˨EۑQ qTDDDDDE&*`B؂e1LBiT1Hc/ʜDf)7T(aA|":G]Bu񥊏_GCm `h#2B8YWSl@9XE'":+2dB~w`p/8uԷ5Fj/TpGGfM{<":)s*H":U=#?;hKV;ǥDuB#G^JPK73DRh0ˑA3C)لGE:8Ѵǯ?GA";.Y$-#N,008'5#L":%]qJ<҄GL64=1MC7#4|z;3(B ) 'Ǚ!#o#!U_>m>BkUMI iGFv#аL&qf(&GCqCmΙCѵUGfзZOAp9J79WoGЭ:Gp|aH L.𐉡;?yE#:"=GW07{qz~d+4) 0DufGthhFxF +dTEo10 3t#A8=ןW8FH~{Z]Iٞ;֐h>A0D}ٍfƏ*B";R9@ !&/ð_ #xvuDuTV ٩h-ٓ+=4)xA%[oA?QSWnu+h":GU[$oI=~؅m#:XDub֓aRo݄Gϫ[ǮۮxV#A DuAׄGXoOQWm}w n ":gYD +#_  (Du?M=PmV}ڿG_ߝA; /Xv}[u>uGC#_UXhV`{<ւ/ ׂ-o_}GDrl4ӑG/ +ڿzoz@ÆuzmT~? Dbp mM A%L' CȜ'U5_mzϧ9V7?-4i""""6 0A4&;![SG$1dt":Ӎ{=-B#L":Oul]W": _h.ծʛglLA6\ 4C4؆0#6=[ B#GH}oK#Sɾw":kЈb!"""R˴ +b0h4 LQ#&"jՆ#7g"":-R%*qe0+AF86"AQu ,":aҰ@":I\Vm S&#(0HƘ&l"8~ DyB ؃6).І5ZK!`Dg 9CC#UvR&GC먈հ":#-#ႊ,S,0J, Fj?ɺ3KKa}2]to#C5ZDgFga? Aӣ-BTt|z].A/xc}#aa/Y2 \GDu{_k74~#uj#۽pĞ) 0p4q ! &U?(    +endstream +endobj +22 0 obj +38674 +endobj +23 0 obj +<< +/Type /Page +/Parent 1 0 R +/Resources 24 0 R +/Contents 25 0 R +/MediaBox [0 0 613 792] +>> +endobj +24 0 obj +<< +/ProcSet [/PDF /ImageB] +/XObject << /Img5 26 0 R >> +>> +endobj +25 0 obj +<< +/Length 27 +>> +stream +613 0 0 792 0 0 cm +/Img5 Do +endstream +endobj +26 0 obj +<< +/Type /XObject +/Subtype /Image +/Name /Img5 +/Filter /CCITTFaxDecode +/DecodeParms << /K -1 /Columns 1704 /Rows 2200 >> +/Width 1704 +/Height 2200 +/BitsPerComponent 1 +/ColorSpace /DeviceGray +/Length 27 0 R +>> +stream +G1Z@ЄSB&kx@.#kFПZ\!>eሏ6 'BhtB#MG[5/t&х!<\MH\F2$##71>S]\G~%Q D'3R:2q8 +b'EFC3DNG5dN +Cf 3 +lf=`vpidGFbA#(2~u ~s$:#X~ߴnN`CA?9ρͥhRmЃruC.@@VG?tGK"kWT莈//on"__~KJ_&5RhOEϒm ~:"?8Du=+|U_'Sz \GTVߓӡvo_Cz׈Zon~+޵_FۮGׯZ]_OMޗ^mn (_m/go!{{L {)[o"[mtE8)I#c&S8]8jj]Yal*$b"""""""""""""""""":\D.DDDDERDu0" LĐ>cTa*)DB.g#tG">G$"ȑ:#<]8|dpqH莌"8`f菗칗 "莋r.E_#|DvGFT B/8!ьG2<\#%hJ#+"PD|G28`!G U؉|{"$AD㈈Aʂ9;X4G 29EЈoZ$Јat""2'Gi3`u5:e*]t=!<2:jF0L-F# DG# EDd[E2[Gq]DGDtGDtG#|GDtc.菗Dv]E#:D]FF"莋>#B#/.20hGEmEx#莈D|# ̎/8#HDDDDDDDDDDDPB"""0DDDDDDDDDDDDDdpb"""""!ă \q#q,r6CL| 9CP(pAO"ht}eF!0P ,sXTg*9Csq(r+ +(sqLr9VPS +Sr)ʲ+(r<8A ܡ*ea(88 Xa9|9!G0Aȣ`r 8c9#C@98saȣse+<#(CV9PS;沇&r9Cr(r)9N# +"""" #R"""#qdpЈ&#B"0B#DpqC"428xhFG""";9NT{* s3c9C>] )һ*3A%8APSA@ʲR 9^U9T[/88$<1̎yw]>]Gg_ #h'؈9#:""""""""""""""""""""""""""""""A._/D|$mB}Ft&<XB""""""""""""d*"?Z8c貉EFUhnjKAT2l1$Fљp83<âsZmK!b:dthg:٭xG;j +0L!TRNXNvnNq0L!'ӫ8ܾؕl#[EmIAl&m4k4''M3II龟 wL5JnhPn~#MIŐ}~nw~xˢUwC_RLÜuS_ob2?$\DwIuۂ#Q٥ +/:ׯn%ҷ5*`p_q#GPDATラ,p YkoU(6kv$H9t{q6^<ǫP鮻_5j}iݧkua6JKnaᬃ@!p8#Ma6!؄"< lJ8Lm+`pA خP`@ *LA0>8EBa + :IW?r\Â#^RDDDDDDDDDDZDGDWm/TWv^c^QdsA! >""1hG0ٚUk;W#LյPl9!5g5nMW )]z֗!^~5S5L/DNf}R;_5flY8g\sy"3$,*4!4"BKH(L3 q0@88Ȗ @M#L)0šGPJDѳ(,0E#iT N)(wg$x˶ɏF#FD|wj$ATa@Gx$"?^;=A uAafxMzZXKK \OAR #Ah&$quKF$,3M}ﶗIcItnIWG}iijkii.nƿt71I/KHVzHTU.MtU5G&+KT%iuR^.j*IU**\x_U%#IRUIr ~U,x׭}$kK]V/CO괫.UikIVs uN R]tF5\¤ֵժ+G_]I*-eҗ]ZGata*фYZ_ ooX5XzK*-%K]% W+N҈jb ' $и?aX`M + +␤*8,QPئI5qJNɄm{8.0XP& +BHWc +) +"""""3J""""#5 X"#0ikHDDDFD~**z&< ).jAhH4#!,6tW:nޤk;>d6#QKqmGDtc +S UQw')"!o}W'j?wnŦ_uKz[oGW4}/JK@fk;.óU}},"6T#FF/.n$d|E?n!vCinHD"'DMeB%&Ig A|&̢35#zZ(@Tq0A(BSlrī#Cq͌#cVnG"*@G„;}3GTpV5{+ˌBܝrNոar$ Ӥn3:N)GzN.MutҴMui+x .pm4R_tk~%TCkKP~IR]M?u wMw + F!I.R}-- +/z^q}?ZIV\*PKKgTKЂIRUR/Dt)m_taJUKI(/Kx"ֽ/KJW/Vⶕn&|R-u/08$/+ֵ˪\Iij.K^ϭ_UҳK8Jt_C %O/fI[_ GaSM;O׿B~J+\-P"Wzv ti<+iD0AJG 'a8i&b028 ]Š*!\U8 1Ӱpm$i A4Ӯ1$:ˏNVG]C ip§JpBP*&!A$N=81IG00v""""""""3ln""""""""Њ""8hFПZXUNA*UKkiH"RuD"B0qIIGDr3293Y"(eA3G!gad쐎e dva/ueC(g33?6B#NFːD}L!:J< Ќ*a0ݠL &MB,v9C…0C +0A 0DL UBwWQ(vm a߰o >4mfq .1J=xeSsG̟q*Ĩjۏj:N /DA'/v&I&ݧ +'8; Nӭ.;anka:G߽WWǜg~z*OMun>BïwEZ]ߌuzGPkןsZ8G>u?:WDy}GHd]_+_e~][Q0~h|8Eov}ں\l  G*+٢zD'S~nҲ?":wyvg֭[g봗Pk7ӂ.(:.c鴖NaN JҶN+U7ӊJ~Eh84.)0 A0 (" 1LJ9p؅Aa IMba00\22GLJ*aA Z 0S /aa +PLCGA  )C#‚#U׵B""#DDDDDDDDDDFiDDDDDDDDDDDDDDRQ,CAtnH-TKBm +)AȄGDܺhFve@0V2*5 duQiHi#m+bP.A\4 d❆IƬm1O &lHlS (MCV+bDDhDDDDE!q !`D&JDDDF:I%_U[I,$/ȍQas<\|dG]"8h#>G#8s0tG#GFG"G"v]̏E#|e2;#R>b#r<\R>]D|Gͣo#qDt\4G"<]_#;1Dp8̺02F}D#:C)hDXB"""P """""""""" $:h\\AqD4@*2>3B a%!E8㈐ cmDp 8""""""DDDDDHCRd QɎ[90-9C9Paȣw(rG!!!9ĐØsBAq9rnq$9 +9CXÜsq919#|qh.9WS\r 9CsP9C8AC(DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF2 .;񐈺H8pDbdP;戅FUM5yB tE^B;Q,JȅR U2_Td㏐j='O7wv 39Cutw {Iu4??:!mi|%hF*#y05_3Y.$9H,GLC">H3k kf!HFm3yG 133)|!_^[mp]}OBGY/\Voo"vc|"h@A aa/? %[qϧZm/;__]za]?ϯ~/O_UK?_j}ZҐk?a7}}߰{m/i݅#N!ڱR1lTAAaL qR0Q b@cb.0 &A؃4Si؃NI8`LX4 L&$NGb0 &bPؔqI!0pua(AUM5v{ takSPa)TL_'t aSԡPDbaQ 0`X2"""""#4DDDDDDDDDDDDf _ Ku )2q8@  (ʵMQ$9leEFO#Y\;ȞvFwPB  +(P o?v %wwm_":_k$Kr&;_72:;>C^[62YJHDtAL"#ȅ"D,9#'HD}TtDtDnaekͣL,!䌡D1Ify6hGH=0 Ež >YE'p"\02OdLB`z..@P AAHG @)a `K B !aa r6g2lGI0g 3@gR0gL! +a@ڪhGaĨaÉL&(w&hJ*":BSx]|.Eé%;{JvLz5}а5ŨA|q*<7 #ۛ=|q8>M\#[Gh'e&3LMti.AH6ÊW. [:^o бvdnp5{ ma 6}-\'II&:MpAhB7L*!KWK}}o_t=mU+m^:T}ީ]:}XJUw=>}~׼O~>V7ߋQSȣnq֌>qoeS~>q:__ +QrO6j=;g4_ ??kG!ި}DGu}[պ]Bw  o k׽ +z[GEX"?co>}z-\C{o׿^uu wׯ t}m7/u³Oҿn8Oq;u߷o(ϥmϯ}g~Vϥvkt(fl77- i-v~kպ[5o&_f ^pӴi1T[ (bxGbv #H4h0L ai&pLT$iAM"?kjb%Ikv ؇LT0JDH">r7 $GH9 J8P*(0aNPa w %ct;ap4b(ݑԝtح98 aX+:ij91IiLR w.RBчPll`*fLD!a`!"""""""""""x"#F%kKPZ_":d&@6;:#eAj2 ~Zؒ2^Js 4v:2Hő T{SrP0STª@5Q4) *>}ȟ5G݋t|Ot߭莞n7-n·DuM{J?_8?ϯ_BY1^v"w4eZ"6"\:5"#ou7v==W^*G#[q=vKּho;zu#km$#^a bqK_j/ҿ-k_=_C_U߰ _]t__]o_нiK~1@Aں]_^okm7^Wa4vm7_ا~ϯ&Zt~o{[_w}V)ٚ/[]GMzR }}B#lky7{ Wk/[_{amX20zV_P[Յm#lKVҴ;.Wh+m&)8=udu.pdA(vB#ADsb iCM )'4ABb c4#A ġÍ A;a=.lPALp؆h6* M0dciԡ(Du(pDu&l +W  @O4"#SDu8 É B` a +qB !A 0L`  P8!a 0B"!DDDDDDDDDDTDDDDDb"""""""""""""""""""""""""3J.ҨiWB.Ux0C%~2 FAFJh"YDDF„… (P0"/2,Nf#x:zw &)eQ=vo~5W1/¾n~#kgfr6ʏ,m# +\]YNQVTtED jyuB#c /"F3H7l27ѸydDK2rvJ=HSxNÉd#AO&\)q KEՔ +^Sl#d5A@"[8AL\jeȜ aڠ|"%8i‚`44, Gġÿ0HBgh6B39c"9NR WD{}mq_ua?o]]uý{t}l/}_a_$/{7\#_#+i` 3ۺ_}\ _}a 5߯EA?/}B__ b&Z[As 7~oi!=v+^W_U]}Vu֐v}/^g4_gfkt+nwPk%g4[[[J/~oﴡٿ_E]:a&TA@lAz؃دu6N؃0Il&GVYjikud}5bv4Ӵ鰤tkiZ :V*b#t#a06*i4)N644;X`0 $N(1H8A,&4 'k$)4 iAq)ŠؔB +bwQ[[ 0ZD|5 jq# #b(Pg T"""# "!vR`DDDDDDDDFbPB""B4GB#ƄF:/]JD~WP6GL)2]d^ؒ"(+$WIDF)h#+ +b +}~ vɅ%Z"36Ld\]jE""$4K&"C)_6#~Ag2="'d#\GDefN"eF3i 0ePt.l>Yr(2QG 1"-Q. Y5z +c9='mH=E"0@ aK 488-qahqS&D}hZ@v,& + +Z>0ߡi5qk !BPU +;CUL&*hh04B5&8SsGƐpaIyѮ˙x55VA7GP(לrƁ0ycp3sznn  0٨nMe䎳G64<":f47'>qjv4i8gO +:N+h}+ߦm+ޞwJ:NВxDtBoW&B&ckl!I|ךiowҹһuH{?~;wn?zun/1zߏxP (F_}N:#Ѝw_}/o!B>׭Јs>Dyqupֿu_~.8]E>jշW#[_ֿ_}n4.xaOV?~{޿ _A}iaL6*_jqA^/(Oz OmiG7Vj_]fg~Mu4^i'W}~/+{^y~ f5·[ZﴛU⤿i#{ oUl*ݷVIA&m[kii0f;a&)XIVTC +A ڊa4Sc` PU" n (89l&r0݄A%14AA !à 1LlTC4A0M *740QA]aL-"?80RaJ":eP " XA9P Uj?Wpd DuC `0C8@0P g N!@!a2(pE!ee0 0h0B"""""""#B"""""""""2 <v""""""""""""""""3 +bU U_ +/^ih8PAueSmq/YIQL_+YxЎPbe\(HQZK_"輧cdG f##Zg`N粟Ok=]l?%G +v>#㊿({;eJ"UL,/+7Wz^v,]Y4JTgLE' ".e3A2 ' _#2Dx3̎Pd{6gS6FRlh,b Оr1aH각'-AaZ,r.P=4wC0,*=MvEhZ= gJTgDP%@h=y;i8fjt Vf/Gjst MM綃ME 8FOc $h pm &g}$h D#^0#&pl*;:NOP^'m&ߦKu}M M$ޖD~_ u']t))isKw_(!PƟ0_R8?G@(U^ZQB^Jt1mK뺏8ZWQXih}G߼Gqz0RBxz_g v"=]uwpE]mΣ>\?_xBU&n^^I:_2ۿ/{u桷7:#QBҥ"W?}/K[_b"޾-~"u/~}?_돠__L?iMy. ^CjU..7wP"ߦאl?pa{uGU}(z[?ߥRת]%I/k\~ϭ&vs~ҿJݳm~.wy{WsI+KR֖ZQW -ka;XDt +뵻I`MӵWb #鏵GVF>҃P-5AխV*+ +ӭ4m8h4 0h6%alqM4";8v*0A400qA{ A⁄ll bAl jit0LBPU6`Ba0B}0T"&hKXi>a0e:縰6~0 0000&!a;* A0 !`B ` L!a4"8<1F""""""""""؈"@:MR[-R tvJ-Z$FjKF"9%dQ#(TTD)I2/xPP(R6(H&-T0~w2S¬,ro%}Mi]yC;o]C#ԗ~_x{UUο""*W\E:L[E:) fDѴBkDQhtNfhC4F3Q2A.G \9 +p"[#hH00D#}Lf0Ss#rE#)3&\f&PDsBD j ds6D GPa +\fS2‘N36a9MA M03 P#X{|J5xrc44hFB#:.AX,#[XvaJv>=CA'L!a0t;Gh;S8#Xqٲ7Vs 07O@6!'f3q8w`O+#: 7>nh+ ٢An[d=fm[ѭg6n[v6A?A jZi4׺M^=m!Q_nޞV\hk_tH^o}W{o~׋kߺI_?~>o},tۍ}?~)??PLJ_o}57 >K%u~oKkj np Uao#W\|:2?|=׾wQAxDu}( XA\|8F_{q__3o4|/y. +Έ>/z O{߯ڷ{ϯm*!_+>aKsKҵ:GoK{k_{ {_M]5w]A7PGN01L"8Zwa&VGjDTAI0da IAٵlAA4a(4i +dR &0&q8؈VT- +mS Hq 8"8cHAl A(w$ӰR#2q`['*ARr(8Ј@ΨRoJ:O%Cu_^Pb!于KuZ#!"2R"R!vTEp2T +ATA$¦$T"Kʵ/Du 9n5GbU6շڤGWOP&wNLp-yS(rk:C?~AXJ?X;]v8?_ԧ]I!gvR}sAV萈fhA"(g3y%\u亲9%iJZ6jDma/k5id#wD2237/2h(DHi%BDYDda +Lq#r2q.@D˙AaKԻBhE&P#AC"ܹG"̊\34.`AC\}>4s Ó=ЕbT:RaԷ.qe|Mj aIQ<$;A8f^:TWKm.o߶:OtַЯm::NuO6 =[W-w߱պ?k~ޯ}CVuo}[:?ukhPw[-#%v//Du<_p_|Co_|__X"o޿7[{]/]E݊_ ]~@}+iK A- AsK_Mͦg]^G]V/]mϮK7j~M {K8_WZֿG7 ߶tD[/l4iHA4 4r1 0AiA-6DѧaI6p؆#BM6*{t2Pb&*Ga%#h `؃bp-4PA &DuBbjb&BO : 0NN6)zn(8D04- 4A(M6M48b$: 1XE": AC""""""""""#2,XB3шP `Dfnxhy"?%Tְ֗K]ʲK lBAE(pB2]Q|,"4[*T&ne PIB[@^ь;R68)(y.~Na~߯.i]_ƟFn~?K+,ֲT_dSȾ#ﻨZ"B&ԏ7.dR=F s3G٦o&HFI=<8 fy͚<3hbu3˳R:." 2s32C(#[4E#d) /}7Zpj5fBV_ x!SM._tG#8"/å[FHFѭEOOvF"$#"34fc:B1Ǒ4Ee>HFѦOF"f<Fcˬ$ffPfhȠ5 q㞤 +5A0.0L( &(&0PAgIB +AXN!}aA 0A ˌ&,*!ń„ PF<4;3QƏ IħĨxFt|%;G):0*>6Z>7Y(3T7Iؕ r|9p#~z=F˺=t_XInPO0o'VA'I٢~ + oXJ](DtsEvhz[On$ҡ3mڂ#hiqv}}Wu|uou +K+Kz6үV[Cբ:6#c4_Qohu}$ok֮ۧ`׷h%/\О/u_}wj{l:#:o+ ҥث.B| /]T>pKn_6V~_ޗMޖTں䛟W.aWWVTZJN+}~}[N|6tN->IozkӶD28bh8Mp اdN4 6҈a6)";ll5lC AatGa0liCS‚a%R]I-x8*'A) +*\7 +* eژ= C#N8">,0Dt )C +wR >a#"""""""3l"""""""""""""""#&;g鴣ʛFuuw]_ .:֫MTU֢16":VP"<#1VG,b +KqQڌQuKm|rѝ&k5΃Tixa’tҍ]*).KdM7mot$ɾm[o]m *oY& }yʂIWt؈JĮҥIM$iPIU:ih">SF:J"A'@A]DDG\G%r]G$؎[]y\#>GNNdQAL`…wZt^E:A}&׬-ҺoyZ i/ai5iH[U/ZW6TWU}%I[it3uJGIҴ^a iB bL {pQ]q.亏k%>v]3" -B{aBѕH)fT@v42(jqRVw4HF *$C'FJq)HdxB ݎ#PLA׿3a & +%% 0 +[-az*Ký8h0n]pWinƗm[ot޻C~O_x->VZiuGTJ}*ҽk[(WV_JMl("%2:'#Q$EORUO/q"h>GYtGl~'G3膎#83uYf2GY(3{ץޓ 56P&A7KiRt-oPA+|Z?٩iƝ.6٭%tMճBi.}Pn_uMDd` KӮv1?ozWkz+ݏPxAoq|bIՆ#%a׊޺﮷__-!;hBUR^/9}8?оO_) +m+zBuޫZzNiR^  $HOVhn#-u`7T]#ҩ!3d0}. Ȅ@a ߤ"#*I}Kꖼ$apkDuLgەuR!zj%HknJ5HuE?llG_/#Dc}{[ICW莕5a"?v{+ .\zo5߶ mvVIt"^{kB+wi 4bL` P@b &h6! 1Ri aA">h6N  -(3   `(DDeإ.ژpL6q# Du**Cf*#heG BQwЎ:B""""1DDEv""""""""""#8)ui~_UI'tAR+MP$TⰬBCXh!RܻD~cBDd*e\긏VSR +GHxdGԼ3q8ι GAG;j4!MK !H0xAF*.C3'3 |nxy 4#4kԎgCDw.E72sAOj g4GH7`HDK0Pg=L${w056$|qq㭣Baa00LUTgKC\!(wC +C +&0PN-Ba:TkhzƟIm'[~JסM$Smn2u_^t_OC=okzп}~m}6_Du~?uU>w\qKGoW{ataL __׽Gt_{k._޺_ }_Jd6 +k\&.7f?_5'otZ-.iot /?[_/>K@/*t!]O_=#J~~k /kL3?g>K SIս쎌{_Z}k`wG2:OdLDth4h$ؤ UUOz# G'teհ!m˯KAh6Cb 8~G Ar7 b r%pئ" !=a2 `"K":ZBCpe4a0FlR 8ؔ8r$nm8ML q)ah8eje6**' RP:(rGYT(!B"-EeL!`E^`S1Jq`a0DDDD4""""""#"""""""#DDDDqzM^": %tb( ":Pࡂ9QdD%&02JʞI + *,w^GD###2;O- S@)! 8A {7+V7a, vj/Mk_5i?82cShh5Lz58 \rqnG?Q3ˎ搆a ~BJВtWkn:TGXzayh`AqA7o- pC 6t a;:MھڶޖSiwitU8ڿzZ{uwݡo뫯&~Xoǭcv(z_?N=u꓍Z %6>q{{u:4Q$_W׼DGAp}$r0X":7_a/* +;L D #Gqv ":oA}a؅'@uUYKk{Swm_O_}}u!+z&vVyzSG]}}RjG/j߶iX`ui 6sW9DY^GP#ICI)H1 i02p.6"> '0TjqCI0  R2(p""""""""7"""""[fdG d|6*CA#mco6=B 00 +3d9. +xS # !` #@p"; a(BFvx}oLTw>mhL>ݙ9s#Y(*Jr8q)=n+G>=~H4$k4rG64mh'Ae^PMZZ 5W'I˄A Ii6糧){UWzii]6ӤNF.VT|6AڡӸO]Ԏ%^rqNT%v +ƿ^]G[{hhGqU=K]' kF/_o6ǵG Z¿UU$z~^&{.+[m{瓮%ZJ#ogޟhF{RmUkK/+ }Ao}n߽]MG^gtF-sI=:]: 59}0_/oڽOlm}Cݼ_4TK+a(KKg_zv֮g׷߮SWvIbl$+ k":҄Gm[__Wf %iA |40]&N TmXv)H&)1(pzjY.qEł G +a0=;Zj(&a8LTSA M0L46HpqAnC +> `*L&"xVHAailJ[”8"<p2pSL㕖!> ":v:8L0 B" gLa^)8QDDDDDDDDDDDDDDDDDDD[~c a-:) H,*a¯ hEӸI(b +C#[hDK]Kɱ[&깚&3 xTxafJHG@PiyQT4 R/%v~#@&h7eefGQǒ\B#όm7M9c9 XXa0@ 'oh$w"?_-uZTN%^EZ{du5m'A^ 5"(JF/wZV:ZrRk\$#DFd4I #LͲB#ҴIҴ#[TtP(:Dff#<7ژDRP"-P"pa4Jl*!$r% qLwKx9<2gG .h#O"%ˑ8—¦4 (PA ( /*aSBDħzA{Ghha3PA6xN]?N4-ڨP0M`IgcᘑV珜YU8 =xٓ&&٨ MMn#EA5 ݙ9}G*紴C %Bfm&ۂam6=?&}[Hޛva-v/i6kT{ڰ_}_u[_}zCHDuN?aW_[cFr߹q氤s#IB;X5%O-'o_]{(r,rox'X_(}ۭDDDIҲXZI:,4}ںu}'io}]W2(VJ%uuuF#-gw4a޻_KIҤt_?z:~I&+Ai$gaϧ+z#IFzIKM--|w<[_׵JIo`\i*M^բ:K[Kw{8m{imiph":#֔k ($nlB:K]_M׷Ta^V^OUr;i 4D|M0AAeazCb1LT@ -”)*<a a4a't„b; e& 4rMEEP[@0":eP""""""""#6DFiP(1 JaJR!0DDC֢)""#*m U% 뤩$O^VQU/ 1Aj!2# !AN2[́g(JeESz#z~8̕ښwD\#Ӟԡ"#hnvVȪGѡqPhI""$KA'q +^BU. K7ۼq*(h#;=T{a*ꆏt| 3I^F ˋ:o=w8wKG_KFG_ P_7_ _UA~y7ݯu>mNUoa+ +Vݮy~V S"Ak#vlt"q႑զ& ҆Ɓea^U6N ؄a\S 6'a4Bb DFuȈwGajIq3s#IɵgQR?dB-^v6$xOQresׂ H 8P2:*`ګCع?W]9$/L?PGP_i/Td!Hh"fKPk3_ 9DW3Ds*2CG)DnG";D'D|CNd cA3C8AvϑRa3BD0A":!aаvta0Gvu "AGO!O 8hr(pNFk29(Dƨ8=Q'(wy]0z%n7Ks8|y}q c |!yxg + ;z]:d}8\B,Hpo\{}DJ!t DW]GPD~q ?>QB#r9.FUSX>88\-"?t2渎5]Zk5dv,8x"::_x/t j Ga+D}\*[A^C`Ds'GDxLr0aX"=JP!4(ss^H G7ե Jt"#~?H=iw;}z';DuA//h-t&DK~wqI^":_#}/UU +Dz?Z %٧:E5l, X":!M&YZl](">_hW gMuMb08Dt`p¼[D~cC⠈bd+q V{!DzcLCDqQD_86B>>F;kd\6D llㅲ#1ķ&:c W ]!l,1Nb`P`5(x`1 #l ӈDt 4 DDDDXDC=j"?t*t+ X(餬SMC2cx`B$I"aM+;U¦ +gkd&owaQ:N9, &+gNM(@n}\j۪J:pmߤ-pj~#_E>o4F~RU"HJLy^F/~fskH6a2 C1rPan`dvfFyxxdΑދD""ȗy"'G43QL207#3B'A#1F IA 0AaBh "m4,#CXƏl*kt$|i l(Б9#k",@D^D|tqPԹ!a5 3}B Ah bG:=2sM<'Io&4&u&#ߋI#ߘAi64{r(z Gtxlh3r>: Eq +ڜM5(`79 N0I|ខ6poK[RoFzCZ q9'A:N/zmIݽwݧwHwK~m+_WC\xSҺJ}w+^7 q9CFW(^CK?zCk_/_rGK9_"??95B#`^?i?r8>u׿ЈK_kۿ_ۮ~CwwW_#;ox?\~/z_[__S֕Y*VA_O߶u_z3s[t ou*v_g]Z_}_}^u4b>*˯ǰ҄D@jZi[Xg}C[uW}am[KN 'd}8lUpbӃh(0l6i HPa2DtB iڿLSȜ qpA4ثJGbn iaPr;vi" 0h6(&bn &llii47 e+ 1A[&"#ESPh8a  6]AL!e@b eD0PB ΀PJ&DDDDDDDhDDDF"""83KZl-C9ddRfKUX@…G(Llj GNFΠB#LDF)W;{ wdrCtbW4S;M }߿~?὿1?8~(~?V +oMnua2dId'5^vɚm!GHȏHEPfB(YYBr .PɄND,RAfs'#H40B"P +(T˙$cֺ!zihDW>[}u?:_7G ^z>#[Kom_Hom#ix/iw_8m~~ [oO#__arf]tA}7}+gӥߥW }]?|":tϮ/V׵^[t[gg=[=Wl3=zwg ޗ{ .Nv;#}`L"a$Ӄp #lIy`Wl_aGmev /0">KlW{a U6H8c vؤ 0A&F& +DCd&kLD`V] Qc7EbqLT(lAE64\ilh[L 2ipAN&ea4ħ %aJLa38B""؈DA`A YXPCD[,(heeDDDDDDDDDDDg""""""""":U /7oKK0)P-(ʒ1өhAdy&XJdW;2S":T!)dKݜ=DW_a&wﳱc}K>׽b=꿏㝃FNe=;m~Z3m&_"k;HN߿4Tv̽S 3͑b"3Pc]Vr"RH::-ȄGF!,#RS^]2 ΡOxg 6@a0;B`"P +'<0Pd3lk2 2D^%2p5.{hl0406f"'a< +FB5n;9#h\8f&hxNMoZ=ӄkaڡ F;a66f9X@G5h ۇ6 +t4'ۧEn oh''Am+V}鳝Wsa/mJM3ݶ 8a["` Ai ؊`؅bq & .0L"=; &GLihlP`H鰃*Ulh6`a'M4APM6!)h7#b3 +i01PRTQCGAN0(u +Qh02((v&%IAab0 īN!ZI8">$q”Rʸ3 Ѵ6@٨!"8`iЎ+tT1Ah1dJL;X̡BDvFvZ7B ɔT*v>EP2P?wI'*C`a]OWNB eL3M[__n#}x2,_MvY)њ8B4F$#-5_4g Gch#@KEH4GrB aPX ɛl3YENja4d@ϣLC5":!'F(GB$NYx~#3g3d +G#dNG$8$8FF0hh29GvdmG_M~ ݍ/^P2^P?//\%߾>yGlq ?iWg}+_Gׯ(7Ywվa#>MB][amGA8Dueխ&i W4GL2: ; GL0G^>azwxMS]nM6Av&`M)&A bCL! LaPa>ؓ BM=5A*)alBd#6*"BL ئF8h6( ؔ8i?!Ð1A4 <0$!;0¦TSPeEPBg!lDDDDDDF""" eP!L)C l2+@ !DЈ""""""""""""""2+#?1n.]u%miCIXئD7 + aCkr!#YVQ1$Ņ +d 2)„xRh#x"hMէJJmȔOtM=~zc_jkk5Zk_Jי !*9A:"J$2d槣PF:3#O&j(^/tb3gR )4G ! eg7^9њ##ts42:'G2]u#fPfg2@@.e?3S=DA ##CBh"=0<#[C5㰚440nxrc0vFDCZa@`D‚a4Sg*< +0xL!x('"<5f$|hX~{o  h&ٺ礛A7ttm۽4aZXhRAfi;4 rGƏmg$|vj ==H٩H<3R+g"U N0JVҴ'KzoZ{IW}sQ7 Jޝ}m+tKII+i辟zp[M"뺑RC}Ǐc_^V{֫]koWN\DVP4}ru^u_UG}EТ:xއ~xq׽0'Aϧ>>UOk}}0]i_m~%UU/Q(?oר/,9u uߏ*-}FxF F_nAx"vB'{]o a]gV}ZK<~/IlM[g;톺_[u>s5ﯿ^9k|m&lj"+mVJ)K~[] -0V|_ᄓKKҰr1GJR݄PA#G4M"H$Tba4A" )ada7aBlY8IbPGbLAH0r7 1I ' 4Նa lZiaP)C#Xa`""!qab s"B3̢fȆ*w@0 aBA<A`A@4`Z !"""""""""#B"""""""""?A‘-r2)P B)YG`j:d.ӾvVcXG B`@,ÄG3ڿ_*ޏ0AIq/<2N)y#y^9X(s<Ec& 4 GkkiFDx&PBP5%ڴ"sI&Nt&4&GCz+!zm m֗Zm׺nD_tv>:_zo}.?/Z}={k}}Kio DWյ\A~z[Vx wI7pۻ^p:Ʒok^{p"OB#`d~)S 0IocO6ӹ\M:"! M& )#6 sL1A4 8aƛM.""""2G aDIDDAd"""""? +s8iIf;D-9\U*85##aPU'|q}$IB_$Cti +]zK/kj#_;gjHb)gegfDPQA!*H*Sk5ȣR:#%::#AR#udB1#3=lr;<20i#d4A2 +Dx! + B P.D \8F + H"a#!"  EPAd#k/ +\Bhl!xL*;@ EE„)(8f  uGPAkapr3= oDAm$">">QMꊇwH{hhF4xha a+5'M4hv]f 4N.Z 4ºvWVaM<{lIl8۳SOO;4$ +uotzm+IVz]Zowuai6+^Юo_o9\}+Ɵސk޻Suǥ[G8_Ggc_zQ@|7ym}Zu?Ҡ_%K_W~m7XF4~}u52sX"o}]?+W_)om/@׿!Zm_VڱQUo /wJU>Zߤ}gׯySl]3j0jGW߶}׺_jm׺'ߧ 4MV]]i0ҴltaR/LAaa10 &9p'lUM8tJM6)a0AV pҰA1aiڠ؆NAbj*(1KD|8hA +C`a1c2`PLb-GH4Zvl aC*pD~S/1*հ7i#f ta0LBʨ2l="""""""""""""""""""""4""#@IZZ}/ګKT#PDb#ZZFZ Sb; N(Y#:!YaBĎ*\&H_'p`0",R$٧N각I1#p DvLN}pfD#twڄzwo}m!q-.OWZM>d d tҽ{%kw^e?(Dԟ'F!fzғ#6 +i=h/'E"&tE*!L942D(#r3 #%0)È32<"Z ( aj"C#0e>\xdG?4GPFj\ ( 0C> T0 04x (]GƏvi5hw> +endobj +29 0 obj +<< +/ProcSet [/PDF /ImageB] +/XObject << /Img6 31 0 R >> +>> +endobj +30 0 obj +<< +/Length 27 +>> +stream +613 0 0 792 0 0 cm +/Img6 Do +endstream +endobj +31 0 obj +<< +/Type /XObject +/Subtype /Image +/Name /Img6 +/Filter /CCITTFaxDecode +/DecodeParms << /K -1 /Columns 1704 /Rows 2200 >> +/Width 1704 +/Height 2200 +/BitsPerComponent 1 +/ColorSpace /DeviceGray +/Length 32 0 R +>> +stream +G!e9NUSD iQWr%ߤ N (PPD;iiEF ![ABⷂ# <.<. K#M-!]SII244ZH(ÇXe4h◲9M-.?;`TB"4ȄP2hGDs83P5EH! ^GFHa}C&>w8sx ":edGDu: +CXuZHK_>z0CG"?D̑_)qwvZu_UG.VZ]-M5ץڵǿmPa[ koN8__:h \E>+wk #_w^7?coW^{xIIݎumi>ID-%׾e8_ e6X$I}R^{ (~#L!DDDe*h.mȺ#:#/8B>GDpx4FF#>G #tb#xG|$#p686"88N""AC"90$<ʲ* + +)9NSPVQʂ)9R(NWRV Ё 0@"%e4iSFSF(J24_SFe4gیjѧ4R&7y\S"\eT + +(P@Hʪa) &?pG[3Aq|_GI%_ǎ/+ޖ% k_ga/ޗ;-:$%buKQ;St] 4YvCBL>fn?7ekͳL|3AB4$˙GDs!7l"#AE9+'ܹG3)vN3p#fdf4Eqq}#Б͇'+Al}``640Ab@. !i`9 4!L#@aFz[i =bTjTJvn =#Xhl#@kGv%;G#!PB`4#"9alh:ql.ۭD}L;f?_fA˝Z(tÔ?Paa:A٫Hm&$oPԷAM&&4IifSCCi[ &%cN N,":v(a7)Sx0M+􅮷i=^Z[B+/I?W ʅ{u~?_~cDuRwm/un[߱IkzWCuVDuc_GImyXfn烎c|z39L9car_m":U":F'Cҫ_ݩ [nE;GHFáakUXI|Lkj#߫껯t9]O_}~t zoյu{I;K|ouo?T Kko8ZF'nuK oR տ⢫ۯk0膝qGmz[Wz4dBo9J +yslf?}7joK[j^}=nDJނ#Pu}[":2A#KmoQ|wճ{Vs[9^nҡQA=Tf=qVL0N ?muUWA՗IGWqWGb҆"#bL0]Z">a":m$A1Q*J/GlWO1IF6a N8lJlRGP-bScTK50c iG)@& BLS$PSM BжC1":=ApDLZi:B&D|X":A8B 2P!*F@pϩ]Sq80B",">5Ќ!(L_Dt4#B"""2GڪI*]*S E_Z*#TC@ Fd-$d\JjƁnPf +""#ѢѢrf#(v3-ɰ" + UzGF܂#%M("՝gh5FKQM 5 ߌvҟ8]m(ۖ8Duv qB#c绰H Dt=CqA4GKY͈W@ ƍzvj.m-}h'h^pŚ;(pwIS tiUq=?=HCOM4CM.РUM_LnEi:Z|z*KߵkqkUE}Ҿa׽V4/Jm=ObvӏZU}Muu|%kGY V%|;{czE/:/DtGL?_%UҮõ/mֵzTI/a#VK_/_zzD~wZA%/n[U\?挏xou7~A/G#=wP>DuRI6_?wA; qu< AJ 3ROL^ Afv,(D~md?u.3vC|ڿ~k)yB#/NgogH4 Dut# 6aooOJ om.G׽N֐>a-n8 5#] DqA!dt!vk* եGNDTSpD4Dvq 4AAL CAdTdu#&29(1A0M Kv-? 7H0JaH*)A(pqH[6)% N8wG!F%8ح4-Ua2D|4":eڕ"0!G +POtfePnRʆ0/tG8Duq8a (pD0B!,aӈb""""1TMU&ƓҤiGKB,x(-&Ul-\+V!1SdKgr3QhG`< +ԷJvYө'JB":#$t$}DhXBG5Rz tA 1`, Qds/keC":QŴ h&Ęr99Ba9%r)X '797(rqq9ܡ9&F91g&9ܬ8AE"a DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDb?&[fZ%*!fKPGAB&#G6 +O[NNFռGfJ[җ5Y]ItIDG%j>|.u]^_WW}}}l6ϥoe+]޸+_*IC@][7ڠDu~Zmᰞa$TNWdqQ%i&bi&vG1VؠGd0 & 8%8aA˛A6)4؄qLh0i{;`b#ɆMBM460APD}.0;"?D~6SDuHLІ!""PD0B"!QC""""""*"!P""""hTEӥIW4פ 6%bC;Pd +s\Kj-UvZ')$Id)+ܫ +e}Dt+~yҺmwVy&D}*M%HDqdB<<<%yGIt9Cz`8P@@x0 +" ͐*! 0Bva<'aA0i +a&{q*F\#XmPFe +@JyV_m P6{ +J@Gi:8 +54It#֡=$S֖'IS>OJҪ}]ۮW/(K]R=jKx k!k$ߏA>t5Ct*JƶꠈK_j/@T(!'!bDt.]t_t}U.%_e9CekC_A}tuK]&ҵүKVzKP_D]{%]tUzFU8=B /GIvi:]$)A?4^aH}?I^iQ]$PS9GXK/ER=%i$auzI۝֤AVGO_J׷PpD!T.JPU]+DuާYt0"?q\7&jd8`kKJ*$mFl28ǨA0a7i:+K h4(1 a݄$RTPtxD}j)؃LbzbaQ]5˴ `ACs*? +wʌS +* U g BmUV Ppv=P"""""""88#Ј}U,i[ %Vi$*"UI'MEWTDwQSMGZ D4yy:0qh)tatGE Fx˲;a$v1GiH鑤N|"$P#͢:0#ьDDQDGGF#7GD"%:DDDDDDDDDDDDb"F>":3GGf#G2>G莈 dtL<(Dp).8$ .GE8R:#\#|1GGD|&,$8b_. IG8Ør(s P#pdnT#B +#ePC xiZ *f9%g!rd%##8~#q)|)̄;9G(D\=SlW (A&hD0CFvoGv*x@3`b-S !G0'FL"݄SPI<(Fvt ~n|ln Gݔ9T6:N뉭QO!Z5ʭ 'IB +:p㤸xA{l!xu}z\6Â# =$넴iԧH-RuKj/MץGi>-!H|R#k"IUpqv[E%SmDtWGi8Ia*_IzVnpϧG_OkG/.޿ +äkrKIRGK ?G^ r]G[~Kj/{r/IP\^ꖐIm#G\tKT^ݿߝC7A~#pMH)0 D| ¦" IA=s R0 ZH:믺!Кzd4eSe3, #~/_XDtqjPWn Q(Dt&qM i8 JL*Z(pT2c8 (" R 3`Lбl"(&!0A8 ` ` aZ?GDDDhDDDDDDG%zAoa-@_Q":U[K _X]qW向 Dw2uF\":#D_##G"9"8s#G8\dtG1a&a2A\92GȎ +p$#9B8q! AġKDHQ-eĂ,7A@cs[W8Hr(0c9P9919Va(sCr(sF9C9C sAr($ 99OͅqÐw!G#g"9VqLr,r9CPCrܱȃ (rSAeACaNT29^SP[S("" ĉ;&.C\9PPANA:DD24'2菑@lDF6yrcਣ#菉B"HB"# Dt)AQ98RavgYs\4 *xq +„ HU.aHC/":.#G"8쎋GFx";#tG1#!P^#tGdqH# KW7Khm^/?l9Mklv"ax7_lF ?_a<)^ɄEahדv:Mf/ȉJ Dy<grAS#dtA#Qz< L2ϑNR= aLALNDuܹ)̳Sg8WL& "`">Fx@MB + QݨN4{ +{#I* nа #C*!h#0#b&ߣ+;ы2D=T# IOGt4ܱ=a"I>R6wt xO -":fLz.fR7\L D~{nGt %A%GxGiz)M%;BސaAվ^ +/\%S[[sM7۔pCU*I{F֒URI |c_X(վn7 :@|Å|Mo# %SI"H%@Ǫ._UQ|}>oP BJ!V][fk~RIa%J^IRB$[ׄGMhSi_{l-KW)m+_HBKXBQQPKB{ $^WVL2ȜATDt4G&atw(uGap莒8XMiMD( D(P 1I#=4)ӊ3 A6%؂Ml1HCbDx&[dE4h"<#F a +8l v3 +a3a !Da0Ռq """ȣ(Ll!D0(pB,1a #B""*"*4#b"3U8*M +, OƫG\2Iz[֕u +#TVGTmN2{I\B":B5qPˆbVgT TUWQr0Ӿ>#W|i\$ut6YKZ )h#ETNh2:pm ]@SS9*gP.GNMq UCj=RsM厑5;\qxnaBZGt_#A=%?P]Cäl/>t=S &ҫ+":F|0HM%a֖]0ty D|kꒃ r2VCE:I߸Duw%M}uQlM": +GNGQm@"<ѨHM4u^!)b OL1U GPj׋D`DDDA""6"#MDqR"Y_F(pEku}-u[D-G "c$GF5MEGVh#GLhGyȄGFȼ`">^6.tc#ѼD|D4E:#:/Fȹˣ":.3 5#4tFњ0DtmֈtS!GB"%!B""q"""]Q8 @E"="s!DE!DDDT"""NOH̏#ґZHp=qGp^Sg\A6VG """"""""#\qxB """hhG A8CP&9#9Q9CPG&9-Ô9(r-r8q DtGG"GE:/>GDs#vG#|=#| dr.GDt#;#98ܘ4P8sHr9ܨw*9T*XS7kTvf)JB*(PaUUH;RhSAN8P'wȞBOGI":hZZC^moMﰈt":KI6ޒtij]bX)%:WwX#Uzˤ7__:#תkZ{?IJk6/qDtGUk "6B7xVDGki#88\'=oM֏~}v~}Pb7ZW}}CZxK(+Rr__o}}}A0۵}zv~[ [+~(Aq{Lv~ݣU{j":@3*:tt]ͧ9tf#I`/ۯ:">]7":UպS~gɳʚ#pϯU_=GMdZkuT5atmGw`aՆ^ + c eG/m$=`":hAKN1P-nI4.oN!ZV HT0b!H"LB#8AmA LA Cb a4"9a`ҠA؈01M!P-  ! .1 ; +R]]>Bh5pajPp+0sb +P3@A>(5S08PEѢ )C# 1ˀn0Pfԡ#`sR B DDZ#Fʘ߫*ZIvbbc,"tCDtGD|žDtGD|GGE>].ˣ4D]F.628\B:b` R83\pB8 +Dpi#92@x6DDDDDDDDDDDDDqHqn8 q(X3i"Hr&9C>q㑎A8aġ&9CqsK)‡(r8:QzÕYc̨(r8g]N"]DD] .b#hL##Y^{Dt^6;e9CXq6tmEtGaGF##:3%0pF$sVjSsP9NNʡ8VeACtyC9CL8AY+ņ"9&G[T!H"8IG LIqqH_P@"""""#davGDs##]DqI F3#t]Gtj3xF#lGD|T0@DDhDD,8ЗA8""""#񬎒/Ag/{2DtBB_/łAt""""""""""""""""1,ш *+2T,&( ª0GȚ\Q#DtGwj !M0M XPT!G!GAPj=<& +h|xP,#UFwD&pm 03*=:Ft{W>>U:?f?˶l3>=3 665+:>:ؕQf7Q熃 74M\$ܸa7/AbSzD0-N[kVtŚzzN R}^'(Du4$#ÎWMo_OV^kmKV_ oc\":_/mtV7{":ZƺoKX_Z뿸?r(pDއ莶n~߷#{ꗊ^?߬":m(-"?k~#ֿ>?v釫֖oZ_K挎mKR0"?bXlmaӫ M_#\Q[&YGD|#| U^}⢿Ԇᖂ?NbNwEswGi/u?O?\SANl[[nOKHH?mPlճwmt""":"?dtӵo.NI |":Aծ _|{e֬"8>+ 8GވDsGPWma¡ !ÑQlPM#AiLAh6BN0uFA B #M6"bAq#PHA 1(tA>) PM6)݈Q5#R]0MtLL)NYCb`ECB, њgND|2њC'0DDDDDDF"""""""""""""#<x"""""""4""""""75J}.v__7M*Ҿ [. ":EC# &!l0A#AUHr aDr8! 1H6LtE&*0!7brQBUh8pROM0&6%t.0AXGD"!8!(C(p)c8L!C"" !aFT ! """"""-rTDfфmGGQ6etyeB:#m>_#B:0t]ͣ<:.#6dt_/#v]F؄|#|#p9F2;.]̾c0ds#0dpsx菑̺̏#/0aE!tGD|GF"a˂!h#E(rnCCr+9C(r.RحM7D!| 1̏0C#B'Ϳ<0h0.E"$M>Ya "%AaPA\3 $ .3l`F00L d}0Ja8lf5 +n„G@[ +Uad{P ('(rh#F0lkq;{qk}D}2-FƏXFaa>=!a3 GEvnDtY0qVPc |HA00o+:OH' Bg-l; ٨nhzMNnP&庄ញًX*)6𭴚mAhFh7MhSG}c')>.:V7TG_ H?z_mcWJۥWƺq#q$ץ)1Ƽu#DuP#W{;T(zZV4nPտ__Ô9OmhØp_zK?(;mmgaaZ>_ o_]v__Utч":Du[z ۯ މˎ_?g,7"7}:-VtlWA>j]_A~">B:#vG/~P} _q<":K("+8պo:/5'Q5eDEJy@wl"?a"?y GWg~8A ]_g6ynWiZ+վ꾶%Dxu>#[zOm(DupՄGfb"4[ aհ%ai/i"?,oV=D|DqI Ș,+f0JoDp+ {'l1LRwGLW' "tGĒGa GD}a#a ؤdvAG9r0":aG[TATQCa lBb␄aiI銄G( P =XM(L0 D%*p QB: +PG\AT)8Ԩ>xD|%@l*4AM +PpAeG`e 4GC("hXQeO^]%GI=WAWX(K":o~Ҥ#GA6+ cvDD6[Ep&GfE񯂅Aj(DtD":G#.cK"c_|"::Ymvc&a_Avq-xy\itapE j^NDL,q3FiYxl"_:":'G2h;!#GIqGRfdaKPfلE" " "8@a#R:< ‚ )`30@‚` `^Cc6Y/x|aE|%;pH>QF#bU#m=Ja*>mţFV|v n4Ul+e%IW3Np'IA":nh}.N% +@꒷lWj ]-%nK-~#zGQK/]/:dOk_ +믎'ǿƾޖN rZk84?+O:xш~8_G_W[GK_O^ ~Z_UxOK:#?o|cKmcz _뺿wH[ N6&krl3;]#Fh/~h[_Z8yA(z4Y9]G:!\R:##l#ad|Gfr>G9x/28#G2.菄84YLG"8#8s#9\#:##>G#GD|t_#D|#:/*d|GDb:>GD|"9xˢ#tGE:#hDA""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#)aԛ,UIvKB  +[$ުIc522Q +Φ@u"N#v4GNvgI%a8炜":_DuAEw77 yJ?M6nUޗ,cI/\ UJkmEϨDa}WK 9ķڅRadoUτG_5~GKtGյD}U=GIOn{Bh9􆣊v\D4ñ#)G?G$ AlSDw pӈ#A"!0:H!MNԡ": hM8NC''&Bk eݠa0H! +S (A 9'HqaH5VN*;\1&9$9 CX®"""""؈a`""""""8lDDDDDDDD4-b"""."#^βפ:]$WK]J R]q6GMЈJ G`ئ!1T. (sb"#-T]DB6#L#]DB<#D "t}E7>]D|Gt\dqN.Ofs'Dt]4}F#DT"DtA_(F|#]0p"|Ge󈏗Dt]o'e:?FDxEF_.Eь7uEѼ$DNDDDDDD\DDDDDb"""""""mB(Gc1DxR>%">GЉG/D|ȏ baP QH>!C@@!z6ty "" B"a2BGDudr#1AX0:#"80GDp<$ +d#Y2DDE""hDH.8C cFGȑD@X2!98n89r1ɎA!9c 88ĐANS1r +T.RCe')Aa9^,* +T+9(r0A)(rPP笡TgsLr* +$X(gÎF9w9PPq\SWaC +yGГDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDMGu"H ^[ +Q„ ̑#P"hVlr%,O[x2%>vQ&;8E#aiҰ6GL/#bQz[C8Qnqf4ߎ״Ҷ:x,V7Ṡ[i}Y,$T#pȒ CmMkԃGhEaeOB$D4R#l} &b XMS"<C;F"GB*hhh_c4R +mBh B#GPG4xhG(MT4qH\"(z=GIZGf2:h0)oѲ<ށ6 #{#i ܾPNXMp +nl 㗂VPMH6ĩ3Ml@7(rpJ $1;M N'I +\P֕Э#)cVtj;^CӨ@DtNP G_OBGMDtuo[uP8q?GBp_HtԽG2Dtǥ0E?Du#~t#(W#uuo=T+C_KvN_P~#ۿ.x":y՜'g>K_kaUmi#ju$:/VuP]xz;^":_1B*Pap@p$GH_ai D{b2P,1LB  aD1qMBهLBФlif15XAL n0.qb L! &[h㷉O&toE BBc +T!ABCGML0]8 DA8@ !L`DDZB"!`t!A DDd""0DDDDDDDDDDDDDDb"""""""""""""""""",[,]`!A -##"A +DtKDe25Ghy)n)LʒO"PaP(@|*)iGABT BؚRA>yoߧa GV#M8Qw]}":?Tx 1:_/G_"&"dM^":\KY!Ѧc<#L3G3hD:2Qj_>fs63L0e̺#|#q!gdGAK'ٴc9căLFѴ]f3g3q?A"a?dNFѠ0ٞ<.hH0g!NGKa0CPH00#q 40F00 jA?GwA eńGz; "aA>40CaDGao#ap + P@(wgꞄ4h##XѡP4tGxFB#0.GcGSc":GJ*vrG@9 @0Pg-3 ' Wg{U}ta#oeiWp#}<":#?}[V}Gk~ǿKݪ{OZDu#p] گ#տ莔>ah뮿z#Go_:ׯm+G_.1bzk#0{_ ΋xB#^a\?u'_B#{~WI3v":3˄G_wp$uuwu#x"?YGPD~#D}h[G[IAa":Du\'omaŗL"9wz{^uM#apmGM]B#ڄGyGh|":Dt."xDu[ :#">D[mExD~"4cHLA8Dt/ 6D}[G:i &BAAGph[Dr# A L1H4о ħqM!h4TR6"18 gÄm ,>$!ACM8@7!lThC[ Dq"{!a7 !&CC q;@":`(th3A>њ AVB%`XT iaDHb!EPE + +""""0DDDEDD$qDDDF""""""""""""""""#B#"""#D}*u I,":ЮZ@#N]qVhN +""? +FEY2U%aB":PAao#=}=":B#G_ڏx":vX+%$/^?_ROE35>P;!K0#/"=I9+% Dk$….AnG8A.D>0@N3PKt{,s#.G8di\S2qh4XGAT(Gi# #[GH#rGǣAE⏄Ѭh3GZ5h(vSmFDt Dt;ð nh&FYw j h&H][": DtAGN:R 8AҹoA;(r^-M"iZNM0aaԷ_mCwaC׸jGKX":KhWu'?‚jFAV>6n>iA">>>ޗ7|oF^={8H@*/OSW(n?uB++|":}j Duvc?;smݹ<#ޣnqAqᷯ׽B5' bj[XF KA~k].~VDt(1r}x*kr뇄GNvzGU^#<^[JDt}/z #s9ںQ׿G^#B.[9ͨDuoGAnXpPDuu/\-GK{.G"*AH">l ^Gl4 >NGq@R8[N˛?`QiƶlPb! {#9Ca0h":B#c ƃ0)д4ЄbxDt":EPj6 C Bb!B‹ i:eX*C.I@MF`B" ¡'B0B""""""""""6""""""""8DDDDDF""*#*ySR_Ijjvޝ*aZFEʹ ƒVኈ TD: Fv 4vf艆W$GaȩrlK &&GBh㰴U>H":A~58ut$rF]H^%JNjC_uKiz8YC׫GZR1ugn$D/LJDHd3fL#\ L2o>32 44ѸS3qA#h/D|y5Ce ٴGDtmGdfc>Ce2/KPNA?&S>]0ٚE_"XgUP8"<5-/ +~.F4%B#GЌ( „ + uN WGQ[oˠ){Z4#u](wtGH":oߥj+莤A xDu;?~zh|GW":]wqVmӯt}<":qʛDt_?_GV'gQE=9+J?۾}].?_"7#|/{qG_L7w_v=Dtr?/#J[ޞ׷o  KGU_n]:6?/c_[jCOu;}(/ GKw" Du毷lSGKGFkDtM"t*mG[ s釶y7YkGIU]_Ϯ0 &/Dt%{kDu #xDuӯ":0鰟Dta.դDqTL^{qv *1Շ 3Dt0KGA0#\b ii4GTa4AAL^:l!]]&0"khA莂R1@ AwQa4bhX'!$80 4aAA0Bդl +lf!qM:(v ! ؊"8L@ Bؠ鲇(p ! !ħ!iiP/)/D pL–8! B"(B""\"1^+>b! D*KCDDDDF""""""Ј{I]/XeSpa:]L1APXDDG-hy2GebdB+zn70kdPxiÄGŕ#&2:庐d0 +Tl!%`OMB#?;[r 9S?d7\;Ǧc(p\ Zt4@O)eO]ueҦu0":kZNnn/WַU^T-+}!On8wߝ;rȿ黠km!^Y%{nް Duh}N/ÿJrOG]R}3J7Ѷ תN?aץRPDu":Dz$H__k__ްW uFcǽ/ׂ.0~o ":A.?xJ7-׆~6/pmبDt/GP@aΠ܎HCG# Du#8#Cu UQ}WZϧU6oA/(G_#8DtxDumwA+ +~a _ݧG~5ﴶDu"M}i#2-=Pl":;8D~q{D|⶿KVq[N&ӰvMch 5 +p<0PGnp l}#҄GP:."?GI7:IaһN? R PPl"Xiġ 06) NF ";AD}a بDqB b!8pF0(s A1p +;<00b(NCB"BC )A DE,qDDGDDDD3w,B""""""""""""""#:I%T7 %H$PZ_؈z #]A."?Qg`+…": _*j8"wO":Du1>u?G_5ZL$^@;XQ.bH"Ȭe:"HYN#R6rYLxs4f| FA f4{ =`頍a#":׋ ' #B#F*B&!a]aB0lhJ{{l&ixDtl#Zٶ0z<|#cti; +lh'e#U +@VpDI7- }T7C toςV":A7(r {#*ikl }'6Dt{":Oߠ:A١< 9^n +'I[_OWGOwKiZKMUﻮViom`#pDtv֛kHxDu_oߤ8#][лJ'uqt8GH":vG%}H"W1__Dt#[GUد":P":CGCT;r_wK\TQ~ V{WqD":Dt?c/5B#PGW_CzGzF*_~{;")ޣ[Du_ ]u^吝a#Xk+o}S +{W_mu~?G@8յ ޺7Ղ-W_#}o;_u{":0|6^=oq~Tݒ!q8⢸lU[Z7#ZAy$\`/ͮuN#=UD}+6CӶPDtx"?kGH":pƵGZ#]5#am^z۾6y6{v+O9GwMhmcޚvkgתAqwASV1CTzoa[tSU G` m7#i$&"8Drb)Yl$8Du#[.;">߆":AUDtNpDt">Ga$ӊk.P "9QI`vdoP#">aC8QOaASݥL0c Bv 7!lo! R &A8ІA0P ,4, 0@ب2 Uh0Dt׆'b' +(ea6!TD&(h ˴!Ca08a(&A"8""8  `C ! ؈"#DDDDDEq"""""""""",DDDG,": -'ֆ_mxvDdF#n| .W(0QV,YUYҮS{]T].":/cDuX|DO +yjDb6NI Hdct]+(%kE:#M-cA .Ht$= @&"DaA0;4EYq t `rB#,!PA#Dt0(餡aa@ԷXFX:>E]09P@\> >0!)#":I&C,5 r;Mn:[ ba]&DD6%\ؠ6c uOm +ޗ]+TGZ]tGZK#~PDu +m/G UFV76"ݏa֗~G]U_ G_K_$XDu#7##?FwI,||n#j@߯P#Fyta_v߿j޽q;kdpF"28j/{R#՟O#3^z#Q&^Tן߶qB#Oa ޞJ#莗q"#Q6kp":0GLiZu#a&D"9ᠭmHC`G1A0Ak <;i؃#p1(qж(' mPQkjP<":bC5L(pEӠ[.ՠD|2CGM!- !Ъ""""""#ƗUA-*JC4+unJwRiGUY6Hb">V̯j#zBUYC?׎_% dx&pRK|":ޛ_"?Cu/ dC%FBpDy+43AIٸ t3C<"9A'2SC$%!D0υ'g>dtDނ)Cw_D]N? C9NS;xAL8D}/#"?h#EG">";H<^5B-8B0N0  ZGƨEƅ]WKGM!'+Z"DƉ]D}qya'"kt"YB؋Y(>C9>qT/;(|ptoW(JGACD":%0D{҈/x"?LOGCq#GQ 00D}$׷(uQ1} ca#^0Q9⫮R_zcaP"1~銂#y7(s:Pּ#@E*=8~k:Z#U"'ox/{X">v+kl,pD}GG+11 ~tԘ9av_#Ua)az%eZl']#D|XOGX4FhÖ ŵJ~?GDr}DkpD~{w~| G؂#{R0"A7Cr4]("?Y8[=D`8">AuGճysxU ?JqjGk }6 B~)?#X/8>ajRǹaWa6N"?D|"ph":_y(B=Dcc$ FF~-uG>G5Dx4QD ؓN> bvLs 3MDzDbM D|q[">i0j0l'ӇBv1M!q;A"$BbDDDDDd""2b""" 841>9 DFOYC#G*T_PP:#v*""S!G^LPdcKn "?m"h[-2Y.@pe2vsb„G\l":wG]":|":x?\bCZ׌ Q1f3F}>mGE9l4| ̊#l<8d4"!4gDK(yFOGf'vC3ORf T +0A 菘, `A#^NC}Aڗ&2G@g*h"< (@j +GF3 õ# CGdsC#@2> +00MiA>0HxA3r  B5 \=hAA-&r (AѰ+FQGhG z": MaA4{*#[b4~N$;WbJ$iwھ}%DuWJ& 1º8_нC+S#ICޘIӤ =U7vzaO4[J⾂# bj#//k|CZkmePiժm=oDGnH{B>V׏DuZw>E~۬":}= XZ=g TuPg~#DtDu?Gϧ uwzi7Z}V\57za__=pݰ~ {]p`w? [I]էM᳣/_`^ޮ4z_l%#?ϲF{i(aEǻKDu^({ﻺrz.<;/WA[^7xނp; 6wq=O]G#ȅWnVyZє'G__VϫSDu GP{a":wu":_{ +q~ﵻ<#":aҶa 5ӾD}m +#D~*Gᄓnګ#w^[^'*#":GPC+)D|,Z$.a#uKpBD~M Ni Dr DvG0pޒXcBA#(-!æ)llRki 0# A= !D}d/ CCbH0(+1H|V{PiLa<&ܡ#iGHDt0ƃ Q e (w0pN (')CGHWԨMB.Qji#\DuFAepr>D|'@000L!D"`8UDDDDDDX#)""""""8g""""?LQ$KKWIjګժPIMuGI_^t:P]ia(tsdc@bfS0Q c,yeUk%[(MT($AT(GvLMC($#90ZB$9CHx"?k}_hտߥDzku^!q;Zs+h$fQΦhFgϢ1.xJQ/NPPgGAѸϙ.:<"\]fT )r05#4"9@idr6AUta&L3Aga"8))r4"lR` ق 0AEGc ‚ *aA'͒$֏y(|J44|hFP4Vah !Dt4l5Aa0#X}j0r;w4lHEJvvx={h7lR+J4lh~ la:NJ4V6lКIjӷUlJSޛ }-Du=B#}uh|'KpH&<]' R nWGMīT[cZ[++u:.뫏w":ߦuEXDuB=cT?o#[Px)_wVTpT߷w-۪0luW'IGNa}h\Gۺ{Z /[GZ=xa":orwK'u-_mtvzI{uolV+cG[ ~xAqWGL":. #Iﴷ~sk]/:Mk/uN(? 6I_MBsukwUלM":cu䡳K":K_Vϣt":Ϥ*{":g\h":## 37DtNB#GaKjpB#ոD~ZZ#la*G]CG]4DtiZU^҉8h1HC8Eh4h2>#CblU xA)#^ DDu"itGD;#tW4r9#mzbn'A؃Cbˁh6*) Ia|!6ǡjN,8hQ* MhaJ! 2GL(ۆlH GLX?GMjJ\WhlU\)C.P.C ": & # DDDDDDDDGa؈b""؈(ʝa?ҺVTK]-aZ߯ +-Akt[tij P@2:t0 EEbIY-!hDb#Fh#FXt0&KyK K!nb#ĆGD/PjhEU#dh* GW&YKG +ɏ] N2J2>]AGLKba:pu|":}Aֿokt.{]q*{@t8#/zT&ȭ&;E[G_׏+ }۟]*I~S[2x 2to72vQm Ͳ:6a|Yr(#l0G"1<}#猈fyyuFd8A9Ž5+#PNqg'oasu&NA0CD*`B Du)koU-r(r{F8LsDu&GapMރ;GWBj;Qt兩knt+|$vOZTzpGPi_GT;CXDu!^G~ m֡״GP},MoS^m#~7/8oNwt6G_kvDP>`WDu":׏tq:C۔>ע:ݿtTڠDu [#0~]aҿ~ZkiߊU||":/ߺoDui/_G]֖ |~٬DtP?G_Duǥ~OW-~NJ*0tG^n$oQh%"?.a_aXDu_}GWz5מFگ^믰鶿l?#}~^נ_#kk#^[O{{PvDt":G[p#_J>_G]Du57\.I{KACP]mm: QkanpCD}}&G/GH"=ŠEDtM:T6a M# !06)[I ; ++ 1[LBa Dv,BdD|& + 0A ؆_M$!R1 G% Ah":4OeA"kBаh ӰLB ‚ !pDDG ! e+NuB +5G\": dt 4H0LA 0B.""#Q_+uU`iGȬx? RY2JA-ʑЍDU#X#q<$(ro -\ +-W!zׂ֗#ȡjBߥK֪$u/V^K_K_i%d֗C#Zo&9N/"#\a^V)sGDGDVR%]5S$>~B#o8! NI"8#a\VTʅfFpeP1lG'K [=\DcIeJfV2U+#!B":20VR"!aB>qIRG8hs^LVHq>"鄓Ƕ5A|":DS1џ":nOzK BM||w|E'>b*O4(pq7]R^F,IVA.!ףEbκBGpE&T>?Ѣ$%%*F::BH">]͑iNԟ0&2֪#ȑV ":)ѤDe(R "(#", dq )\ Eq$."P"`.H""%031B"[#A\)CAG,2.F332 8 1ؓBPta0AGWLG`G&mG!qʨ6>U 㳒 fF"?3 >B5565# Q(z=3Ѡ_4gz'}==7cpBzob޶:M{4][(ei7[ ٢4zN &e hbh'uv~{OP|a~]^?uӥz-xz":aw}iwVpthG(.+va_oXXCO%n_?ҷEF B#T/ ovۿ ڶG7 ^#G5w 3XI%I}|66O/~G_uP@)~]ךkn_MݺXDtow~8Dtm7":ҿ^(7n]B#|o<׺׳=A":֡]zV}ip D}]/7須#ADt]v҄GHIWHDaCiq^ڶvWa&8{ G~m>(a@iE*QT/ӆ"hC);h">;#B` +b9(l0TI#S$pئm<0aXa$Mb Xd~ol}+!&(,SmԒ)x\vAh:0J DtAChk^q!D"Ћ\aA<": (Dt8">$q J@NiMa ؠTB(s .w,PMGQE +k +UB0B""#)@DFDq?KKIV_KQWG_#HFCIX* ʦ?6[dPlax+(΃6D}j?m_D{ߧA!3Kv2(Jaf 342#DG #P4x">"+o&_":_4'K}7#G؅Wv":.hx\ằzEm[> +endobj +34 0 obj +<< +/ProcSet [/PDF /ImageB] +/XObject << /Img7 36 0 R >> +>> +endobj +35 0 obj +<< +/Length 27 +>> +stream +613 0 0 792 0 0 cm +/Img7 Do +endstream +endobj +36 0 obj +<< +/Type /XObject +/Subtype /Image +/Name /Img7 +/Filter /CCITTFaxDecode +/DecodeParms << /K -1 /Columns 1704 /Rows 2200 >> +/Width 1704 +/Height 2200 +/BitsPerComponent 1 +/ColorSpace /DeviceGray +/Length 37 0 R +>> +stream +"tGDx>:6(ˠ@DDHFO/w*o#t?Q.K"]bÈt( @K C'a HB"_6qm ϣr>"8 Yq""8# ":e9IʲI!#"$t"O@ܾ"$t$t6(LR ^]AlBDD:t$t8M +؈*skDr0!.:,Jp @K,E!0D\DDy쿉 l2)4G@bBQ"&ф$e&#h"m B"%HDQЉ`'Љ:q %ቴtG@"qʅeNbt"8! K9 +! m #5I%Ѵ'1Dthyњ#?TH#٢80q4V!BfGSbȷ\"{|":'Fy34B*:4Dk*JЉWAt3Fz&? fqOD3"H +ЦJth[ҦRY0{ѻ0aaPwȡD%B=jմ#|Hh}hѿ>VAp@?K/V[K"?C"?߭6)&_حҿnM#s{nz.'G"?GBG_֗!_^۷i_# ?{k~uGFs8_=+]'hw}OǾ٧y:λKQ#<&#~?w\aз'^~"f:{Oc0?p{ֶI6߯GTn)Ѣ#›{#nHsu +dtGUox{u}oVoJ!bG!oW '>HriW/`FqB'7wfv8?oėB"""""""" "?¬0/D|B/a"Mǯa-/TqTF$WTѫ!#.XL2Nr9rG!C9C9)> +(4`Ț01DDNta#Ȏ莋>GˈGf""""""$Q x09CrnPF0r* #)T2H##.:#2;#r]:1)vGˣDG_4FhDGDԈw#hDDDDDDDDfĂ"""P""""""""C`9 9C+莄DDDDD莈R>Gd|#DGȎF2reYG(rPF9Ck$:ň8">GB}X'\Dp,mqD]`I.Dt]FcH\F֐ahJ:.dt] HxA BؑБGBNatϮ$t'14BuE%P~" i$5z#CIW)?GEW]! aQ|#GFքtGȅ<_X%Z,N!8z /Bx":<  B6 =F axN#O$i)gB"(& + AoM"H'I(I6o +MMKmY٤)iz#4&mwO] N& }&nI^G#o}-_17Xu{_D|3G%_#y +"GBbJ0&[L7jq7MmpB-uNGE: 78H! _ 47umݧ [u'L;~61N0A :)mA. i tw:o"V ['7`NmvӮQDb8(S,&#*tG "CEvGjYP~.)#1BD3p8>%Ј2a`@„Ań>"]@+ 4:P!DprAC6vC&!%G$)NzsD}%!"!dE a".Xa D!`{:] +0` `  @@łh㠂Mh @BA 0B( 0i0߉L0 0$9B H9*;8 FA a Dh6A&2 M$tl iaRm[I[bG A9#AiBxEm&H6fH6 $#MI&%i66ޡRGMD)6 +I/`m&ҦB%l^2=:mIm$a-uMDi6[BI'Ыi7[oJ莏BInRB"V`jmGE:3[-ij"GB_+Km"IZނIk%~!o#r.iS&iV"L-ո_Lk"֒_=x"?߂6=a}_#[Iw-}L[c>_] v_~PmDt;"4xb8@vkK _{oDqC}|?=duC._]X~F8DwCB&G|]!Xb;|I"""# +ZGeS#?"|Iץ-+ aC![bGEZحBmCx Ba(v ; #{žQn&-{أ4hKFz] @:">ޖ<ҋЎIR#]i7GB.th!鴛"#ktBzҬPں󠛄&kiUt0I,![i6\]6m\n +m*tVm,bq0tm%غL4&m'm$VmZAaՔ 0mA HA0NI/Gt!II,b"mM ; VDaIH%Il0IS04AaAa N%ai0 І a 0&:$`00H!Z0A> RAa`! B h 聑 `Ƞc,"P ^ 1 b kё[4u +!.(+ A`ČK)NGDx̎  B"#+]0(b!` d ,":bj6tD"% 1GUˡP莇B;.CHAG5? \`.GCǗDux:zHַ/x\lJyPN"ԛ"+F@dGE02uSH!t OPoG u[G"PK~ݶ}? !l'#mC}>쎇nӢDw:oZ_"YRo+SFCD|7yN3C(9&G3N#>j(F>qB:(KA?# GаjBFi #i` +]Dr'$ PfCfy2U8h0Dt@hn^g4#Eqhq*hJчaZa " Pgqa2ts$">v:'m>oM{ufNa; In4pY9O flhDĨkh{0 І}fc3@D^(r:Ndl̎"D7F:5}==?L$J٢_MI/7hħ|#{kq[ha|5#99ɐNg\tfjG>GOk_ ׯ{]_#S& M oI̜ / 0h%„a B\m#(_z\}uЈCAlUtkWa1a]uuΣV)h}p_ 7 E[ﰗ<^~u:kVպKAoK]: b T|wt/ׯ.pa+_n6*^W +}zu{|v_ۨboؘOm5Aؠ 8هLBq AM6,wl4xa{[3i}zG¿@S'` XLL&]seӒqN% )lC`بu#iX]v>U[On^ܠ/ˡ؈a4alŠu@lJp  i!(!폢:v˦M?+g5V+y^yb?qDDDDDDDD2"D,^I$Y#!bؠiM 0]C _DvqI\DDDDElDDD0|DbEIA9A\UN3HDDDMe f0֒Z>3DDDDDGGTҵ_/֒iiB!eTCKfA +qalvaa":.+Zg`B%ZZILD$vm+d#T(AG_l/W2^PE߇߹ +>E)GD@3 +Tw A㈽3N'_kۭw_Erߍ ʄF/_셙r"4aK(53RJdg#Vga4?2g):'h! ]0Hh%\#;Y㆔P #; +a4O002A#f3PIfgDm)2DQcm utyfO N]&::a~y Plgܹ,G?Zu4t^?մ;I\Вl8 BP&iX;o8O}}oGXc~OLސmk|$aeoD}WZz[_k_W[}74z &t/KW_omA}m"mN=P;OIG^uMkVwboށKA~_ʣ_xm[tz C<'׫\Л_7⾿?:!}}v}-}W]]oRuy];"owtJol_#O_wMh=a=HRq 4쎡!ٽvL0L0X޵ꚯ][>k7p~}}}5C<k +dċTY;ė +%=#q8ᴃAAa v)+cJ[=A..AxB"""",14#BS 0ٰ'GA+дL4A8PaI0id}Sc#m7V/-lq6""""""""""" aPpS"=Ǫ iA N!6) topnaS""#B"""""" `(u*/VR": V*`O0@<6 (M0AcX@t""""""""""+]9AG""" 0B +UHDDDn H@b`)V]lt]q~]ln4Ջ#lIfAk P@p–TFKKJv9"@rF)@~i!*pCJ; +vW_f[FA#kCwz o[M;.ǿw;_;#_/ +"W(Eig`K$^^4#u;oI74ˣٌ.dQd# h'F?0Ψ!5_ḱEh-4˵3!aB ! UBD& "'sq#0Կd7UDuw 1F5 .ѲJ?9< :жX%[GI0P` +^80Ƞ ("qHZUh'ikO6֓tvkN# 鴜3&4z.Əo#>-XM - 0D(Ah"+]d qHvu.]鷧JmܷH&~h4| #u C#h&34wa5 "".0Y̎h!)Dtq_wǏk#?nӰ₋uw9SQ5?Ѯˌ%;G(O^J +]t^rOWþv +uwII{[_a렄oQF_xMz ]}k/N+Gz-*]?]pcIwn a>X_p[%KGOzȄނ EΊ#ovXA3k3ۯ#=6}vWZo _/ "_׫~ I%ޅJXlUpvF:n55EG>rF1-- lCqR7Ga0b a #ADŽd}׾ ׿+{wku_߄lZaTB pJ t)8XR(xax,p'A6F8a  ؆b=OۄGKDuGV?7]D|DDDDDDDDDDDDDDDDq0BB"˜t0@3B퓀il0m8m0N"Ս4WJ2鍵#~^tK"a0 B .֘daAa8lA#鶕]*DDGDDEDD  `3A8 GLpdc#)#Yr? J0A?\}^!%Qnim$#]-il_55m%D| CGR28dt!8Xeu Jv^%y')JĶfvd4k TZ5ս_ a9Ne>aAIB(D:_z_xƮ{KIWIË4{iύ5=¦‚a8R&G#d.D^ǫb :_oǯ]&|տ_ᴴĬFh3ݧnGCN}7aZB:VӤ4¹ng>ϥ_]Xt9zx":_t&Buol?Sr?c5t_oFޫG5炇*k_?ݠ6}xo[_o_uz*VOmWS?~/cmnz|(Du6Uoa>M\yDuG]V/a2: 8F0A CpJ ƚMKa3_?lp[ko #GJqƎ<1a*eڨCA Bd=a&lTph8Cb+mc^r7MGnmW{ #DDDDDDDDelA8L)XAPP +$XMZm0Q;L ئFC (pao{ u_jA U2_2H5o(IOt{(Dtu#D]U +vh̊X_6 d* + +v?ai>u[uDtߺ_ǯ~k8/tFF-\xG칐kK s$#iFy!rOEZ(_TjvJ +  +0ZGhi a29L*` +`Ds$e>cR"\tG_[*F`0Dug 64l}YˡC؍*ٱah㸰44a` +" aD\Dhr%('h5a:FCGTuKM7MIR%pV‚t! ;5{z4d"9P[&h%0 fb)r0@Dr'#Q dtyV|":.=UwuvkӴ!]PNmLA7a.>4hhМq8# &0B.F&G#hP<ՙ󭋷C+^>=׶aCVlI5 N{qgS4Du4gzPKa ++V?޿oBB-!}ե}.hXߌ&?4o1³me;#xxGK>M p?EeSqjtPokzu[naT1o__o)BЏ\?T_ @xF__-V[_u2+NV_ ۾ul3-_]_IG[Oakƞ޿kwzw>K.-p_Ҡ#a0AM#AaAL7i]'lWޞuͭ釂)K?t}J +2]0Dz2 CGLSDd{&A%*,&j*FAIBaE쏧lv_jv&lDDDDDDDDDD[ 0 )DtlTAm0,pAaH 1QMlyAO_Tb)(rJ>8a)4l( 0Š`h9-;Txf>HDDDDDDDDDDDDDCL 58aD/SL l .DDDDq0L#qv .B"""""# ^v4J]p BK DduX[\Gc-aG$b2Z-Ґ)ثSL̊ ʳN0(P;+kb!o~PAKڞsۣԷRWa5ӻ/Ɣwƿ_|/G#yD%%KBWUKm)dw_Ȱ3g#gLȜ2:: ]&G|FGJJg߿]I*ގPH +4(B/,!vA4!CJ̢#s$dx7n!Ŀu 6(#en X5>Yu&ٜ)9@=KG"a4l#;и"< B"[4 `K&̔˪a2"#:%2WFPWzkh5J>!zfssG6P -=f?a՘a=,z +4,& ! 2 H?37G}:O.^%h 0u!o>ef4mg,pphmK5vmHJ `4&Gf # HW;Hⷺ_ZWwBOЅ٢t AMO-v%f^ -0C.hT`v֖UǏOnwCNOt٨nݖVzaE鿯L1Cw}w~4W߽mׯu[w-ΣZkC]bF~{ ֶ_~h=`]Xz׋}]}ZK/{W}uuF`um໷kk:Gֿ5nOTU_W _EK(T  ߰E?lӿZoWOkjAȁX/ ~GNm4ֵ} +^ukmkgޗE4zB6!!ii4!( ";!0vFQ4 EH;Du}3}zۯ>zAW_s ! !(M &5": *HN)B #SQ&L r7aZT0L˫PӶIB# mX3j} 8DDDDDDDDDDDDD !4.7 P088l C lVԐL8:O[Mo_[|3hDDDDDDDDDDCC@ & ׆(p$8q4i #M;""""""""""،!C">˰ݓi݄J8=Jղ"""""4aJ9AL-COᎺ-ik˧#X=,#eEA: FK+aL 7*6D|G_r2DB'Yؿ/%KD|LьGFy$3LeudxhPtc<5_*,!  +ADyB0&a28a"S@"\GT"7#:@L2B"CF%`'`ʹk~Du{hF;T!L C8g! "%S#[[ +Ww}]!&JzztB3u d٫/amhٓCGTSUս&ޛ6K /Zo_?֗w_xӿCId{]czunq֭6/~aЏ޺߷[{ۯ 莿Oao}ﻯ8_!6l6{[ݼ3ۯ}GDuè`0ҿXa&kz^nlD  8x)##Ў$tbث.i't#C]aҺn .(rPpjU +T +Q&!ssUYG#~#y>vep>!>D|H\{Ed|#Q;WL-ޯdžTH0nݸIgb +A֓ҷ&0Au4}vG .+MZ +Ib-e#fiNZAM#T:hRDEKnE)fdN* z˖hHx,ph (SCj"q#EgDG^h-B5Wo+{I%:M":WvAq#{ G$AWP]R9CC#Q3/|ۇ=o/o{SճHz >sWx z kaJ;0a x2:DŽG^:?G}Y#Koۏ#E6joL&?mnk.l?=+QoB7Ji_t}qI߯_ }~ܡlAnNviz?mh bqF4A,& ¯OΣ3gFChGP4,& &}+}vۧV[Z M6FrN۲Ǥ᎑*ܼz?6\˷w\":nuo +_ q :o#k5o].-n>nZtK zoA4P@1؆؃m&-dQ]--?ۤ%߶~1Om1 w؂d:dD LpcƘb3AAGz3I":G6r=jOZg4[<XT (0C!haGIPbTRp؅!6! iiH6 +A1KvӼ%#4M?2ʼ\Qbbe!l$bPN! d XiiRWDDDDDDDDDD`DX&(L+GIiDgd[Q*_OAKر] /Peq"2[0AGˮ# ㇯:G4GG[o?DuL]uuG\~G\Hhyo\yq#GZfL!#&2< +UWwuhYب~%^G.^# :ADu.}׆_`l}>#H86IO/I~JC02B"?|ԍ\<&l)rPD$B"̡# R_4h)%L^N%ѡ$8Du@|hK + `l͐& 12.VxWz#이a K4haӺ4:Th +GZWVii2ޓi13Nly3bGP^,UV[#\Xl>aqOTVuO:]J_GO7_kU?GKzG[A`X{pEmeҶukZ{k|u[#@ PoA0;  OEe_ߧ$رJLbbÂ#NB W0 QlCA()al0k""""""""""""28Dt gLcM5h0bDDDDDDDDDDDCXqoq뎰n-#0#0|{0"|aFaGь_/_/e|_/FaFaF{/#I!hDDDBDDDDDDDDDDDDDDDDDDDGFt/|S1FaFaфaˣ|0#taFaˣtaF2taFaFaF/F0#=DalaFFa"_0фaFaF2|]|_//HBBGF >_0BDCDDHBB""""""""""""""""""""#㈍8a~_'##0# Dt"""B"""""""""""""""""""""8C |O!1aYayaF0#0#tc/ˣ1ˣ0#1FaFc.# H0 A2?"BB$t!:e_/,0e|_/|_/FaFc/|_/|_/EBGFaE HHGaA t""""""""""""""""""""#8t&FGфaG|0""B"""""""""""""""""""""""8L"yש|_/Faфc/F2|]F2|_.#]FaF]FA .#!#:0#0 wH !!#!n+aF1_0_0#0#1"|_/E|_/aфBBGE:.D DDDDDDDDDDGGq/|],0"a\DDD DDDDDDDDDDDDDDDDDDDD\DqL"%/F2|}F1ˣ0eA ˣ|]F2>eфaF2$BBGFAAAAAAAA фaAAAЈˢ_/FaF2|_/E|_/#0#taF2|_/|_/gs!#:!#aF0!:!#""""""""""""""""""""4"""8㈏{.j_/aFaZ!-Ј?_]F2tc/|0#_/Fc/фa|]Fc.#0HtaF!#:!#!!!#>BGBDDDDDDDDGaF0e|=0#]tc/|_/_!!!!!!!#BDDDDDDDDDDDDDDDDDDDDDGG. L"|_/aFaF|0DDDDDDDDDD FDDDDDlDDqq"Gc/|/FaF_/F2|_.eь]FBGFBBGFAA фaЈ!""""""""""":-Ų|0#0e|_/| 0L#2|_/G|LwH $E 1#!#"88h0#/фc>#0#0."""""""""""lFEDDD]ELvaF3_/|_/FaF2]Faˣ1taF20 :@BGA$taA$tBGA$tBGA$tBGA`BD !GE_/FaF2|_/|_/F#|_/ l_;$t_FjDD2DB6a_/aF0DDDDDDDDDDFB""~}EؘF2|]F2|_/Faфc/FBGF2|_/A$tBGA$taIbBBGA!!!!!!!!!!!!!"!|aE1|_/#N# #y_/EA3BGA!! y_PDDDGDiq|aY_/"aFaFaFb"#Јce|_/|_/|1F2]ˣ_/H_/фaA F)$tBGA$tBGA$tBGA!!$tBGIa!Y|_0#0e|_/|Nae/|_ˢ|BG@g D DDDDDDDDDDDDDDDDG: |_/0#0.DDDDDDDDDDD0qFDDEDE_ 0ь/Eь_/|aF_/_/A$tB.H| BBA$tCD 1!!!!!!!!!D DPBؖ|_0#1|_/}h)fH_/@_/ " v#B"!olj/{=#0#0":škwwl/_/_/|_/0e|0eь_/A$|$]!!#0+6H H:!!!! ""!"""""""#S/"aF_/|{FA!$ |_01|BB !!!!8؈؈}V???c||_/0#0DDDDDDDDDB çqvmJc/|0e|_/E0#|_.#_ H$BBB!!!!!lBBBBBBBBB)BBBB%-DE""""""#aFa|_/ˣFE;!#$|1:1!!!!ZDqoa ]YtmJ_/|_0#0H/A1HoƩCkf~1|_/_/1F2taF1H_!#$tBGA!!$tBGAH HB)؄D DFFaH$]|_/BO|(tB! v!!!"""""""""""""#u?-c.e|_/|_0aфa-""""";cCо">!aE:.tc/ь_.#|_/FaF2H]F2| $!!#>BBBBBBBN $B/AAA +T!-|BGFaA$|_/|_/ٴAA A$| eBBGAlE!DDqƇq|Ph0|_/|a# "8о>#X#G__/|_.eфc/0eфaA$taˣA A A A E< !!! $B.!"""""""""".";-2|LS>_/_ @e<"O0e"GA%P! !!!>$u )"duF3_/|1aFA FDDDGhqqDayt9|1ь_/|_0#_/!!"$_!! BBBBBA!!!*B6"BGFaFA!"B""""""#Kq<_0"BGF2|a| ҦTm|NA8A@BBBAZk$ +a|_0a +fuT"8PE?c +c/|_/|_/|_0#]FBGA$taA!!$tBGA$tBGA!!!!0BD aPSƄ0B"""""""""""8xH_/HBBGF2|aHi*">EA!}FAAؤ#b"""""""""#_t])ь|_/|aFaFaXCB""8""""",A Mu +Gr_eȾaP|_/|aˣ|_/H!#!!!$tBBBBBBBBBBBBBBBBBBBBBBBBBBC Bb >8H|_0 :!#|_.etc"E"Ba ` B"BC!"""""""""#??0AY}"0f|_0_/# :&x)؈B."#W}KaxE0_/|_/ь_/фc/A FA AAA AAA A A QtBBB!!!$tAAAAE1BDDDDDDDDDqn+!!!!!$t/ 炝ae !HB'A@DPA!DqDG/ aJ_e_/|_/#!#0# +DDDG>R. E0~ay_=E1|1|_/E:0#BBBBGBBBBBBBBBBBBBBBBBGFBB!"BBBBBBBBBB!!"B"""""""""#>]фaь_/E| BB!!#:R:!# !#DZ B!!-㈏YYaфc/E|1|BGA!!!!!$tam!D»01tawe"fԾ |F2|1фaфc/ HtaфBGA!!$tBGBGA!!!!!!!!!"GA!!!!"BB!"BBB"B!!"""""""""""8K/ !$t!!!!!  /A A!""!!"D B"a"""""""""#?^af^a_/|_/aA фaa"?4#ьG|]˯0g/a*%|#|]ta"tc/:!#$tBBBBBBB!!!!!!!!"BBBBBBBBBBBB!"BBBB"BB"BB""""""""""""# #BBBGF2 !9BPEѴB!!$tBB!A A e88Ya^a^aFc.e_/ˣ|_.e0# H_kk_af<2FeaE|_/|]F0etBG|0H BBH H BBD BBBD BBBD DDD DDDDDDDDDDDDDDGiEAAA AA_!PA"BBBBBBB"! !!"#B"#FaFaFaF2|_/E|_/|aFaA Vƅq12»=y1|/F_/"|_/F2|1FA A /!!!!!!!$| BBBH H D DDB!FDE|q//0# 0# 0##0eфc/t$|_/BH H ##Ƴƥ#1ь_/ь_/a|_/|_/ˠ>_/фc/@:!#:!#:!#!AAA㈏"A0 A"BBBBB!""""""""!z/0w^aFay_0# 0#0#tc/ˣa|_/ˣaA$tBGFBGV qKaF0#1F2]Ytc0aF_/11F2tc/H_/AAAAAAAAAAAA#?@EA H0tBGBGBB"$tB"""""""""B"""""""""""#B""#B#8a^afGטFaFaFafaFc.e1E|_.g_!#AAAA 캭./}Kaь1|1˥/aE|_/ь_/ˣ.etaH|BGA$tBGA"GA$t"BBBGB"!!"!!"""B""B"""""""""""""""8?H$!!"BBBBBA AAADDDDDDDDDDDDDDDDDG0/1^a^aFaYaFaFaFaFaF20e_/ˣ|_.a$taA"BGA!7EFt},00#|0y_.#ta|aF_/ta_/BBBGďBBBBBBH!!!!!!!!DDG/ +A :!!!!!#B""BBBB"""""""""""""""""""""""8?YaFaFFaFaFa#0#0#]ˣ1F|_!#]FA A_2_/Fc/Fc.e]|_/_0tc.e|]ˣtaF2 H :!!!#!!!!!!0~"""""""""""""""""""""""""""""""""""""">8Ya,0aFaFayaF|a#0#taF2|_=F2|_A oW0CǓsTGGfdtC2b->GHD# ?:PƐA'HAQ#~=7lky .%Dt.lU}j?a쎛\Uz_Hֻ}tۧDtt o0]TwA-ۤ|:Iv/ZWTP~ 6a-PJ{ҿtAhRM0KuIUzW% *[,W奤 +}N%Kҥ:I(ۮTm.Ӿ*TGP¶I%":oTbIap $+|lpx1 +A◍G K]AI6M"#:[c_D[GфPDJW#aF^aY>taϣ#0#0#yFc/h_/G|_/Fc.#0#0#0#_0#FB0#GhE"BD A!!!!!!"88B#aGхF_0#0aFaf_S/ϣ1Fc=FaFaaF-/c/ݗF2_.e|_0#1FaF2taˣtc/ˣ|aE|_/ˠ:0 :0#!#:!#:!#AAЈ8""' AAAAA`DDDDDDBDDDDDDDDDDDDDDDDDq00,/FaF_0#/##/"|_/|/H0H_/ :0eфaĎH Dp1a0#_/F2|00#0#]F20#_/F2|0|]A$taAAAAAAAH$BBBBBBGB!!ƍ/,":!!!DGDq0 0#0Fa#0#/F_/"|aaFA tBBBBBBGBBBBBBB"!BBDDAA_/aF0eфc/]A0:0#ta Dx0etaF}HPNbGA!!!!$tBBBBBB"!!"""""""""""""""0b""""""""`Ge0#a, hE""".8"#_/FaE/F_/FaF|0#/<a/|a#'A$|.eA H B!"B""#-ь_/E0#|_/ьPS/qFaFfA /Fc>(yE AAAAAAAAqD\8_ԿF|_/DDDDDDDDDEHDR"""":^-8хe1#0"_0aF}FaF|06#0# sPфaUD DDDDDGe_/|0e|_/"F]E"]FaFFa#tmXAA A8#/ETDqDDFG600/0# 0#|aFaE0#_0#0#0#/X"]@gx6炠)@BGJA@+!ŖH]#aFaFc/ь60D #B)aFBGE]A;SS$taFh0#0f)ҊbGB!!!!"!"""""""""""""#CDDDlG +agь{0#_/dt"""#( "=">8my0,1FaF/aF|0_0 :0#aFa@zFaaBGEAA!""""!$tB""""#q$a|!8#_.#0H/8$ :Ё:#GM$-@DBD DDDDDDDDDDDDqDpDDXb.]фa_|/B""""""""8xOzm!y_FFaFaF_/Fa"aA$t_0#0#a|0!#0#< !帺0e|_0#0e!#:0$\N# H +BC DD DDDDDDDDDDDDqDEDDbdDDE#GQN#_=aF/F_/GB"""""">?x&}\0(ytc./#1FaFaa#0# # #0$taF_'A 0͠:Q!""""""""""#Fc/$taF2_.BH Lk)D Z!#؍XDFFaˣt}F21|_/""""""8B9u>a8"GFaFaFaFaFc.eaFaFaфaA!,!!!!#:0"BBGIGI8AA |aF0# HO./0. # L҄ф"GV8؄""B"""""""""#88 ,Oe]Y1F3a#_/!DDDqDGq0k# eLif=3h]YaF0#0#|_/FA F_0 :!#:!#0BH H0#  VDDDDDDDDDDDG A$|1E0H!#!!!!N%qaA4B!4"-."""""""""""""8?a%KTaь]FaF_0#_/F>#B"#";cX.)'_S 80eфaFaˣ0#1aFLTAAAAAAA $tB"GA!0B(xAA@DDDDDDDDDDG(A$|_/H0#1фa:SAcBHG!|q Hyt])g0#1#0"|_0""#C⍥0#|PG)乌0#0#0#0#_/E0#0H H BBH H\ BH R!q!A F2|BGA!$taA"PA Cq!T!h DDDGc!DDDDDDq0E0=ѴP")aF2_.#]F_/FaG|5t >0GaF΋hˣ0#0#0# F21E BBBBBBBBD BBBHD BbBB"BGH%""# #|}фaA ЄfE :!!!!!!CDqqqabaa%  G ]F]ˣ0eфaBGF|_/:G1J00%#0-ˣ_/1F2)c.#0#1FA ь1@:!#:!!!#:!!!!AAAфaA$t"BGA"GB$t""""""""""""#BBD"BGFA HD DH!!DDDDDGDDG000__R}K|aFaF1фaFc/A _/"#cacJfaF#0##0#|dtc/F2taFaFaˠ:1FфaAAAAAAADDDE"""""""""""""""&5FֈH  # H H D BDD R!!!!cDqDDG///%0a""|aFaFc/taF20#_0BHDqaFaTa^aW#/F0*aFaFBGFBGA$taBGA$tBBBBBBBBBB!!!$tBBBBB!$tBB"""B"""""""""""""""8:# +0BBBBBD BBD D DBBBDDD DDBD D B"""""""""""#㏈;U/F|__/|_/FaF2|_.#0# fA ;B0>Yay_/aFFafaYa|]F20#0#0# H  BBBPB!!!""!"( ADDDDDDDDDDDDDqDGG""""BGA$tB!"B!""!!!!:DDDDGQ0# aY|_0,0a_/_0#0#|_.# A$tc/A!$taB(.G_0fayFF2#0# 00#0#_/|_/ь0#$_.#0#0 :!# A AAAAA"""#G B"΀ BBDH DDDPB""""!""""""""""""""#B"#ԾaF_/F_/"|0"||_/|!#0#tc.H0#0#4aFH !saˣ|a)_0aFF0#1F2_/|0#taFBGFaA!$tBBBBBBBBB!!!!""""8_uBB"f 0 A""""""""""""!Gqq0 //#0#/F_/ľaa|_0aA$taFc.e:!!!!!!#!!!""$|p|{h 0ˣ|_/0"aF20##tc/|]ˣ A FaA A A ЄAAA}ĿB"$t""BB""BB"""""""""""""""""""""""?c/af_/#0aY|_/#/_/|_/0#_.etaA FAЎaF<{0/0#0eфc/0#0#0#0#0#|_/"|_/FaA!!!$tBGA!!!!!!!!!!!!(!!!!!!A""""#>aJ_/F80/a#/#_/|/a"|_/aфaF_/A!!!!!!"BB!""#:-Qc/E_0#1FaFc.e|0#0#0#/Fc.#|_/ˣBGA$taFBGA$tBBBBBBBBBBBB"""""!""(!8Џ9|>B""""!!""""""""""""""""""""""#?2aFa"_0"aF|/|a|_/Ea|_/|!#:0a$|$]A!$tBGA$tVЈ#a #]Fa_/aG0#>#0#0#tc/A$tc A$taA AAAAA@D DDBDDDDDDDDDDDDDDDDDDDDDGhh|¿0"|_/DDDDBBDDBDDDDDDDDDDDDDDDDDDDDDDDG s|_0|0"_0#/"_00"|/|_/aA$tBGA$| A$t!!!!!!(!1ь_00ec.#0e|_/FaFaFaFaFaF3_/F}FaA!!$tBBBGA$tBB"BGA"""""""""""""""""""""""""#"48Fa"""""""""""""""""""""""""""""8>a_ˣ|0#0#aE|0a#_/a_/_/A фaA A ADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD0eR|_/[hֈd5emXxhIA E;t#zDp-fcl0Jǻ+ +պVG_OJ 갚#Zo4":a{]n>F뤭y3S_qA7K~4% ctFVV݄_=΀% J\0{sF +ӭhuUW].3%.K:,#C"#3?3df3Pfqx33'AY>3#\OA&tF.ZZӿM; R[M p٨~rf|Oe!@%;ø2; G{0L*.i xdOvHG5:"OtW^I=nẀV1;g A+bT~^hl#[KQ)aFaD$B &4D—":Y*CDtjӿOCMzN:~A;:?;7Ik g^?<~I^]t+ie#Wwa7X뷻VuҷC-o_q_jI_;_߿GAo_ +tg_zX_kj:?u/ ئ gp_l_zw]wewKmcq7A{{{Xggn3ݫg_V{g/^puU+Aqd}6!I]GdKaXEHL ߮ np%uT:2 LGv(1(t 3eY5>fexFѭGv,pU5 *= +&a#P8aS8aBa 0Fdr6`)r n`#jm 'J5`h&fMGg'?b  %CøNZ(G>7CM{ZMnkտ.;mm6>:H_ߧK[}?_m~ +Ј6o ~{釰<<#/}~Awm7UI~mom>mW9Du\":>o_| i|2+GZkp]4--A]Zg?T7b Ah0Ml6 lTB#% H4qVa&iWDDDDDD"BԠ`JfpMYvi$Qa@⸈ĀD0B o, [堐Yez&Z`M)~׋"?5IzGc7{ s։4K}+W]wWB(GRth#aLgH" | + D~Ba$s"'yjEׄtk^ a 5HcKJdvxd( xhJq0-ntxAGM_\2Ae[p4?Lv&8hC#) +_!׭n-A4NF'\D_ީ׽, ޟ}wi:=ZZl+i~^#ëטtC~/|PEֵ[6>RO[!~?]X#Dt}jZ_iCXKKm^޽5^덊bs +ӆ}L(L  Glxa!~a7_kN8 a5&8&ѕB": u0q@ 0ՈlCccvjDDDeb""""2Rab&2p'Bh0 بa2MkN"#\6 v:"7#?ӵKvGP[ +-Qh0# 0#}F/#0#0e>_/_;Z:|%01F0ь1Fˣ>#0#00#0g_0#0aE0E 0#10_/#0#0#_/|_/F2_/aFa|_/_ A$|_!! |aAAЈe@B"""""""""""""""""""""""""ax}VaY/gFaFaGtc.#_""""!G. # 0# #|0e|]FaF1ь]FaFaFc.#|/ˣh0#/"|!#:0 :!!#raF1|0"a"aFˣ|_.e|_/F21aFaF|a1$BB$|BDR/AA#ayay|1a"aFaF1ь_/*"8B"#ĺ% 0 0#0e?taGфc/FaF21ˣ0#0#1ˣ]F1!#/B ʲ!!!!FaFa_0|_0#0#1tc/|_/|0H0 pEь*@BGBB!!!%ЄAA@DDDDDDDDDDDDDDDDDDDDDGDq00,0 0g|{/#aG0#0#|01+A"""""""""""""""""""""""""""##.ya 0#0.e1F2|0#0#0#]F]FaFaFc.e_0H :0ЄAA<00e|/Eل_=F2]F_/F2|_/|_/E0# !"H B!!!AAA#afYafaFa|]0"a#0#1|_/#DDFFL/}ayaF2|0e0eфc.#]FaF2taˣ]FaFaF1| gBBDDBBDDDBDDDDDDDDDDDDDDDDDDDDt%aFaF2|aE_/0#taF2|_/|_/|_/Fa|_/EA /A$t.H BBE!KaFFa#tc/E0#0#0#0#1Fa\DDDDDDDDDDDDDDDDDDDDDDDDDv]v_/}L##]Faь_/фaфaFaF20e0#0#0#_/:0$A AD0DD D DDDDDDDDDDDDDDDDDD~[aFaa|/FaFaF2|_/"|_/_/A!!!!!$t_ABa$B DDDGs aYafaYayc.e|_/|aaFaF2|_/ьa_DDGqQ#|{0#tc/ˣtaFa0eфaˣ1фc/FA FaF F2| BBBBBG@B"B""!"""""""""""""""""""""8ķ#0#1/|_0#0#_/|_/|_/ #A :!#$|$B"!""!Dq0D'aFafaFaF2_/ˣtc/ϣ0#0#0#6 _/TDDDDDDDDDDDDDDDDFDDDFDDDx^c/Y_/|aFaF20#|]|]Fc.#1ˣ0#]FBGFBGF21H] a3!!Dv[1F_/F_/aFaF_/E|_/|_/BCH 0 B""B""""B""""""""""""""""#"#V?9|F3 0#]FaFaFa|_/|0|0#0eфc/FA =b""""""""""""""""""""""""81c/FafaFc/F2]Fc/FaF3taFc/A$|_.BBH0 :0#4  BR!!DDDDGEaFaF2|_/F_/E_0#0#_0ь_/|_/A ? :!"""""""#"8Ca~_0>#aFaˣ0#tc=Fc/#0"_0N#0eь/Gc0-"4"8и^_9.e|aFc.#0#1F2A 0e0#]EA /FaFBGF H | DMDGe0#0#1|/0# #t.etc/|_.E:/җD0D0 BBBB""""""""""""""""""""8#Xט_E"f2taFaFc.#tc/|_/#_/FaFaFc.#tBGF3؈"8""""""#CaF2|1aFc.#0#|]F_.#taˣ!#tc.H]A!$taA$tBGFH E"A!!"B""("""""""""""""""#""""?EB/FaFc/#a:0 :0#]EH_/|_/AAL* +D 0DDDE"""""""8""""""""8#80˲aˣ0#0e0e|]E|/F_0 + #0]BH|CN_Ծ_/ݗY_.#|0#]F0# H|_.#0#0#0e:0a$taA$tBGA$tBGA$t$t$t!:ZDDDDDDDDDDDDDDDGq-QaFaF2|/E|/FBGA$taFc.ь$|$]H1E!!!!P8m)~0/*фc/FaFaF1_/_0 :0#0#! EA F2lDDDDDDDDDDGqDDhDhDG0|L#yf2|0#tc/ˣ1aF0#]ˣ|0eфaF]FA  фBBGA$taфBBBGA!!"""""""""""""""""##"?AaFaF2|/E0!#!#:1E|1$|]_!! DDDBD B""""""""""""""""##"8"aby 0#a# #0eф}0"a|1E0 g # |BBBGF0@ qhEDG\|-#k"|_/|_.e|aE0#1F2]Fc.#!#0#0 :0 :!#!#:!#:0BBHA8"8M#0#0aFaFaA  Ht!7ˣAH BBBBBBG!DDGG|q|_/6#1FaYaFtc/ˣ_.e0#/A$tBGFBGEt&_DDDGDq0y"#CBc0R|0{.#_.#|_0c.eфc.#0 :0e!$tBGH!#!#:!#!!!$tBBB"BBBDDDEwDDD0,Gq\!#0#|_!#_0h0# # H #$tmEь 0!"BGA) !qGqDq0,q/G0#_/E>#_/@qUe|_/aA!$tBBBBBGFaG#DDDq|~00"|_/|_.e|1|/FaFaF HtaфaA фaFA F2!#!##."""""8"""""""8"#}qT_0#!#_/FaFBB$tBBBBGA!" !#: AH!!DDDDDDDDDDDDDDGFq0|0_/_0#/FaFaA0-0e|_/F3aA$taA$taFBGA!$t$taqq|qG0*1E|0f|1ь_.#_/aфaˣ_.EфBBBBGA$tBqAA A$taAAAAAAAAADDDDDDG|_t[:!#0eь0#A A AyB]  BEDDDDDDDDDDDDDDDDDDDDDGDGqtϣ0|aTmFc/F Hϣ|]0# H0BBBDBK D Dx88t9uzˣh_Y^|]_.#_/F_/#0#0#0#taA$tBGˣ0H H H H BBH DDDDDGB"# ZGqq0!!!#:0#AA E BBBH XBG#!.PA"!"(!Ƈ /1Eфc/E_/E1C01$|_.bGFAA aAAA A!"GFqDDDG||q/./aYafх#]ˣ|ytc/0BH0#!#!!!"B!!!!!$| BD BBBBBBBBD DDDDDDDDG !q/s b!#:!#:0B0$t"GA$taA 3B] t:GGq/0 0#afaE|aDc.eфaIAJ{.FFAAAA AAAAA"9 r|0|/ae|_.e|_.eь_.#|_/фc!!!#:0 :0 ::!#:!##:!!!!!!:!!!!!:HDDDE!hDqD?Ba UAAAAA 0BHBB"BB!!!"BGA!!"`BBDBDDD DDDDDDDDDDDDDDq0 0|]|_/mFc/Fa #]ˣA /0H!#ЈG0GDs +a y0,H_0|_/tc/фaaFA  A!!!!!"BBB!!!"BBBBBBB!!$tB""BB!!"""""""""#8"58,.0 BBH fA  FAAAA A2A##a&}y}ь0#_/yF!# =фmAA !:0!#0"af/_/G՗/aE|_/|_/F2tc/F2_/!#0 :!# HH H BBBBBH D HDDDDDDDA""#C0ҡ"9?EJG !!!!"BGA#!#! a~ay 0# 0e|_0"_/]Fc/фa$aA Eфat#DBBBHDH>>&~}/ˣ|_/F2_.瑌aFaa|1tc.eA .e BBBBBH BH DBBBD B"!!"B"$t""BB"""""""""""#>"8c/Yaфctc.fA A A A FA AA Ј@""""BGB""""""""""""""#"8#c>!0/000/0#__Sc.e|_/_/Fa|_/F2|1фc/ˠ>_/$taA$tBGF$taA"B"BBGA$t!!!$t!"!!!"!"BBBB"""""""""""""8GЎ8Ba#0  BB!"B!!!!?afa_afa~c. 0#1F2|_>|_/E|0#1A$tBGA$tBGA$tBGA$ta  a ЈAL/0eь_/_._0#/E|_/tc/ьBBBGF2| BBBD BBDBBDCDDBDDDDD DBD D DDDDDDDDDDDG1Ya#k"a__FF0f@N$ЈAA #"8㉄80#0#>0,# 0#_.#1#0|_!!!!!!!!#!!!:!!::9af_|_0af2_/|]ˣ_/a|_/|_/ˣ $t/ˠA FA БA AЈAA A">>f#}ϣ>L#{0#!!AAADDBDBBDDDDDDDDDDDDDDDDDDDDDDDDDDDG 01ˣu0,²0# 0# 0#]Fc/ˣ|/F|_/aFBGFaA$tBGBGA An*#!0,Sل_0,01|_/_/F3_/FaE|_/|_/ˣ1ь/!!!!!!!"!!"B!"!!!!q/0]F6#0"aFaFaF2ta|!!"BBq!!"$t""!!!!!"!hDhD\0/0 01^aGфaFaFaF2#0#1/FaE|aE##BBBD BD D DD DDDDDDDDDDDDDDDyn. +˭T/_/eta|_/|_/#_/|_/tc/|0H0AAAAAAAAAYafg0#0#?Fc<#0DD DPBB""""""!"B""""""""""""""""""""#]?_aF2²0#0,0#0#|0##0#c.ea#/|aA FA ЈAt$t"""""!""""""#[#لayGل_=Fafc.e|_/|_/"aF_0|_/G|_/BBE:1 !!!!q#0#_"_0#0#00#_.#tc/"#}~aF/ˣ0#0#0#0#0#0#1F2_>H0#aE:!!#!"""""""""""""""""""""""""""""""#8>a~&aFuFh00#0#aGьa:և_tL7^ox_zZWuveFJdM*g~BmIխi?׫ߵq,wb eA7?n _KK}!_]7}.=jWk_}zKsPQ׿K_a#w8Km,zh__^ ~P?uk/k:nϦ+^_6p]oZNz״}կxu_[yF6(1MA lTcaY +W ګk0-V{<31 (p a)gprALM4MN 4N*FȣHSir8aVDv=-~DDDDDDFm0GD"L! $aM#lBM4lJva4 A8%Јe^ªFfb]jIwGZ_l4 != G\uGEp_Bn~~n%_u8%_7~Ȓad^oi4m-TfoG[e+#^#IWrJt9t^- E=}(@t iZR6`D$a.&DG27FneńgcGA^kO#Izxi/#~_KMa\$bIKi l8z5Y dpvi-}":$_%T+z ^RKҮi%~\%#%6`S GZz##Wal2͕Zh7Mt|~Y~jJChBta jˢ:#qrXt]{>/#ZJGK w +6GD>շu=]k]+ kaX~zB,=D>tގP]wW=PF2_ۿ_ݹB-onmt]-L3 %׾`.^Y7_4 +( a'n i0ڄM; +`75mmvϭ'>ծuPU`AhC@\PhLB1(ph6%8r<$<a {IpQY}4o`~uMՠյݞZ_ ./b"""""""""""" P8& a PEeLa4h6!$ L!x"vr4A6)amѾ-!DDDDDF}:!/) BU D|blVbx Pv4؊AM1a1a0)Kb56=z^{# Ҹ#Ӊp5ձo_W4ETvxPR\\}*d-#-⑤Y.&_#}6QAI޿HOڱ72Z_` Mt=tCKߔ;!L?-Ubtd33'fmd.I#PYHgGFvHF3YDQ]|)~#=iRXvq46";Fa0j04why aB"hF^x&^x732S .ESFN#Dt"]n. Ainla.o= ݑ 6ht{dvkhZ=Pagi[߷DDDDDDDDDCD0B":e#.l C$ՈH82b) L #p‘A@"Lw}ձ[Jӹ80GI0醺}]w*m}b""!!m  +S4 &"EaVCC0A"aaF#$eivaݫg緯du?DDDDDDDD6" a0AD 80i 0S8r&>)CMʛf2‚ Jz` 'b#B"""":ZOz_ %i]%)GA.eQAAI%F24MpFfv6*kf@q0LIKsGGD|d@i_ȞT{bD莵_MGDsM䒏c\5AXWNa>-%u,_C#H)d_*kд?2r /ܲ P3$ǚ(gѼ7H!^NP\#Ã##QCl#B#FF_aT( `(A 0sYPD`f:<4J664. mޝA:at|vrGnLzIaCqhM0fbB.RG"M1x##EK]-_&&CZZ7/);5 h'I#f6nFIF<rV@PA@cz5?~ӥZ mI&OM:A NM +o 讧zȱKO^GZi6^.'["=_~?qqU޾l?__]*G׺ Z^c^N oO8Ne ko{R2a%~WP}kTOըF7t׺^zjqzXA z]W߷w}MwMW]Zִ{~J}7=#j?^ȜN 쉟J˥#onwpCmzݐ` d˱AP)CLSAqLh[4ja=l&GI0GDtMWOV߷(vDDDDDXB""""! 0"("& aj sAAa &ԓ#v`M;J0MJU~*DDDDDDDCDD!B"0 +UP@%#gA0'UH2A`սDqZK⿭ SPlDqވ_v> +endobj +39 0 obj +<< +/ProcSet [/PDF /ImageB] +/XObject << /Img8 41 0 R >> +>> +endobj +40 0 obj +<< +/Length 27 +>> +stream +613 0 0 792 0 0 cm +/Img8 Do +endstream +endobj +41 0 obj +<< +/Type /XObject +/Subtype /Image +/Name /Img8 +/Filter /CCITTFaxDecode +/DecodeParms << /K -1 /Columns 1704 /Rows 2200 >> +/Width 1704 +/Height 2200 +/BitsPerComponent 1 +/ColorSpace /DeviceGray +/Length 42 0 R +>> +stream +dS##42Dts#>B#莉hXg\'flT" )g|'GKMڣgAY:fԢw]y.d[}>G=:uzn;}wG_}":@"?G鿾|<-Ez_NJ ]U:s[u8ouئ_\}GGt}V~q־ǶKI}{___$:nnoDa?7%҄GB"""8X8|DDDDDDDDDCұG㎢#sPl#A0GDtGdtG#:1tG莈їdtGE#.#pDDDDH r5ˈؚ*Ѳ8<4DUAc< ,r1.9Cr'PV8!q"8F"B"""" 1,;4hDDDDI4q|p<rށh}C$6GM *#dޟJ{i%k~~.*_(oAw-UZ]!U~,}f-Kރ>_]~,j=G:I$u֗#AW\_\2\M"_6 ?vLr 厵v!|_nҵ],%T#_aG:#p##dt⢛I.~_o-zADFmxP/ %xIuڧ㰄0*Oy/GK^bN&^]֭IvHqZl! }QROI7B*#נ4IDu]0[cT/m;I:Zw":=WX"9TA-7#I]& +8 %iIXXˆR^# аF7+9\JZѲWUł#=5&4d^׆㓀 +r;)JAfKҠG{ndt|":ZjY/Yv6P"/n +Pg;M8.;m/% 0؈";;9fI6vuJWm-#r<NB]ҦhP)C'vAȐ6 IPXm:N H"ޣˌ vvtCDtdK{JAa'!#$wKauq KZKTaB.*a% * i:YԨ9c Y7"5 +PAZ F XȎ-, U\!GGH$a/DDk +!P-#TDͭX +8}*I('KiEh(DuDDFL( G:pJ$`DDDBDu +"".1ֈ^v4)uAhR&kOl`@"#Zpq…LS;C | $ zG&R{M8`XHZXAGIT@GxPCz{#|ZqW\A|fIEc+⠁(PADs#qJJe͔\":)w0еML c-0DL3#gG:6cHt~ڸfxMjDs Dd0G"%˒yW UWwzut'm<ˊ=4U"9D3A"/#::taDtGGW3Zk[qǧmkx-݄G];5%PcGa@Fa0@#l13E~JMwExÊǭ__սv6jpaB lh+aOdtaKs$</:֖a# G=mZ5W{o ۫enڡF"8F0C +b7DM 9,(sa8Qd7z.JR&ۯn?WM =4t bW42":G;&xa \C<OS":z)y9xno׷kZ":ox#6k":~.@}"޵l=k}ty?G~?v'Ҫu":}G^@n*GP#nޛzQGZz#[i_i3{vykﯠ6;>~׸z~W}7~ALlJ#Azi#m nx`푟pa+iv b"B"a?]A6** +":wp} o__":0&P1 dAA4daa[[H.'{֫ZWA0\GLнPR:aw}g}|]ߢy=W]!u(p6%@ -vDui[a(DDaxDu mA<":olXDuKWa`H":{GCB8"<68A .NW|":JDtѹu"#" 4.d ƅ 07 Ea레-TTDDDDDDDDF p0TPRa5o&)": S :EAxP^DDDDk[wDb.^ZJMi(pD~0޵ +dVrlkvD vj„ GMTu5J]X":r'4; +Q/S+ +I^/GӗժqqN)7PEG㰁_TUүB6VU&ƹ<_2 +GT{VPADq#ڒ%~vXDu9ĨhC`"QmFDXd|4._u0*: vPLfm@ # +!` 9xdx#h$Ҫ_a?}: +Nނ%M6 f= B00 "%VA>thZJ[:M~XvdϘզ<=B54wD )q2Ng\HFѧ_wy:T\v)~[B֕ -L9yI)u4  (Legq2Bd{0S:RtmFhmvBQqɎ?\tn~v&矛O*R>"ZG RN@Zj_on] o[nKJAi; Mv' 2ǡBIȜaB;$h-_ xo(Vn}{]wCZNZNгE-Ӳ8">44!h aS.d?x$ꊱ߆8kǧ%L5! +[4yނt|hдg#ѭN/O#_GKk}[8DuxDt,PծwfA#b{y_^뭇^Du$F_B Cp+-/DuߩuЛKo +PCץPEE)dS a9#~_H{-": IS[[q5ʘ(":e4Jt`b vr9E鵆~}>n|":ۿ{b9ޙ}i~DDDDhDC &xHZk 1L Cdcb'Yˮ_imkǮ)ߑtJ^"uC`A:DubN6K&L5Ntm Z(u/@b`#A8LPbL l0"; 0aYu#ymvkAAQM;!:HPa0b!B#";@h]$AB#kq}Z)D/bhUŅ8# BiD}D|& (\&4cAO nDxXC$q T-P!`Äӵ?DDDDDDYGBaJW#X#m]0Dti I'4@hQCF, CXd +&Jl'I.#Q22.D줰; +AX:_B Q;JcJ:UCeO +v~\P^GHxD| XD4Tֿ?8 z#d O +HAjW Ӑ}*;.'GP.X4xa:oA`R8͞Gf}Kifj4_P꣌=8?4{aqa|z:yĽOA{I'L O ut*;AqIuD_.G޿F,Ț]~/ z#9kʾ A9䈮ES* 7_;GUvoV !M.(Fv@B.!*fƈJ Y?&Ny 'ZVwk}U|}!h'gq8B)8"?3Dt0008`sB'NIFff"Co_UZ;C#æ'fOŧA>#rSB`鄍#eU0@\#Xqa0@K# ՛3#E?NAߏm.տxDtiEƷCIҹNC:MƐ;G!8&A҄ hoߺtGL>oRK[Wz^0=~\ Wt{8F":ׯOi$Fo}W5=vw]Zu_H[i:3E&aE o5jH֞t}l/ P>~觪ϯz❿C^@>w[r-#>6^xE{Az6Dt V;p]+@HG&Ү+$K":OMnw#~#8DtaCv1Qh 6z?oSH; xm{"?~7|7z"" Ti(1I]a!nᅥq_q߷^ ]pom[F\DEDDDY  P A0L ">lQ#G0†Dӻ9GAΉDu"-0Bfu BbC#!:#66u&4Tc[XD~DuAxD|ۊ^,":]S Dtm0/o^DDDEL":CB GnADqMl#~m7Du#m%{%":^;[$",h0AD2#zcb4-؄GdtݪGKt#8oG_ҪDDDDDDC(egv0&Cb%i">n"pHDDDDDDD2ba! ĤؔHCa#aZ#˷ D,1ġ 1O Gb""3)˃  DD0Dr#фGPFxx&nj +vAa{,yJ##c !H-v{CjvlkUuZ}e8<<C@?YƤB3DUG]A<a0"ܼ2h>ZuUrVϯ@8? Kg nU= Ch#NZI]\ľbL̇kK~;iMCE 8FH%WGm5q 43KǐU,^R$Oz":Stn/=Mtq֏ ߥaB %Ȝa%"nauIhW}6IK k\u&:\ѡ !0}R7ƈE>dyL 3ͣ莗%IwXBoVm>kUn` ":A<&<ϖ\$xA*3GxFC#;A… +Z"r'E^}׭ zإP![KGi{q + qtUPxfClJhX@A؅*ZƗ_tvhӆ%pDk%ӯiGZTk_M{_~I*Uj-TEMq>?\viKA%K+_nK^^uՍ"~MR#IIu>[kK^K>~#` ☨4ADyqH7I#g?"%IRRKo(^!dYO +GR!H ( "=sG ~Du*#if99#7|#B_ۄG^L&AP";؄ lPM0{uDt/Q -_oz)хđ%dgz pDuG+""""!N +Ds00#Cb uA[ +{I#GP?%קIDDDDDA a1TSi1Oiݵ?s} ODu}?}Dq3 .MB!B [~$ZGKSG^`>YuDDqDYTH ka₰l@79ثr:#G5G_6y_QP`0BD":: ä6BPа:#(paXf=$DDDF! !:"?({օ **JLV"DRqIDh|ɱ-HWIT!N%p  +d\ӿC&GQ )I"H$x+_5M'a^MNPvd3u;FwK5pjK#+&!Ffy5#:=!5K)F35aAGfD>0t%1!ךDuW&L)X٦v }f>0^>gAOQZk({wIBWOV@_70a Dv)0ADy.2s5yhJ=kjL]}vnll##e>B45DLj)r4"EHvuF_5׶T:o(קV~i8g8 nhѓ=JvdiA0PAQsh'Dtffoȗ__o39NoVPE tTp8TA*C3\\͌g$Z8a8]iZo V;|":]$:`?A%MhmgxlhJq84‚ <3Q#m2ta5{o7׫?P{c0A M֗ ٛh m#Dt"%g19-6[_뤵^z}[zK]%iI$"*f"ݤ iLyw4 AװE6괒_kXuuVDt>,- WQ0莭K^tͭ[WFNZPvw ոDtUm?^U*+ {WU|%88":<{R"cZmlikl3}-^*륥_"-T#?G_!6h=.aM #V_莗鿄GMȄ꿝^ZnۯְY߷:?n"NF :a' (b {I#ڗVl+G^9# K\Vͦ>Xl>d u +eE1 +"ئ#bH쏦E=z_":}W-[a߿DDFa p`8Fu0A~qXA1PD}A":Du5(Z xF4A[#9PB:[MvGn?kM鷺WDDDEBD!pqH[!AH ! p"<V _h"?Dt#P_a`LuGM[ Ї !hZӃc #v , gu]ka$@D8DqUq0e]6]0"?#(Xdz[i֡!C+Yet;HDD4d:#CGƐ#U)JDe*&; 9c#>aEXDt A GXI1l":+aK^:kȔTv(hPLQ#A}B#GDtGad4U/GgR!Rw" +F#KeћLkVwNGH+CF"<"<"9"`jQNbO6vS#H}qi.: ؕ3ݙGJ#-xE +.q` 1)-& hEhoGKV}]ƿ@Īz +Ĩ8DuGM FS5hJb73L=":$-/kwƿ[}mtzvd愂 :t0t{i&"9CSSAY|2Y$_o@8Z_7);3i,N#@˴xhF" G9`!SB#!k`{Đ +#vն}٨ A3VxA Nax!a砠a G,#.yhĊvauoקZ":Wu-:O/ ;z>B5tB #3CwQ /DZUR: QvV}O +NM.;nFGv8F_6jDL~yC|G]&Dt +Bi N4. ЍB| _#e Y?ЄGX-*ZU>VRu^":!/Dn[Ҟtߥ_qZC[ztGJ\6a4wϨDuk}B4zGAWDB~4~>[=Tg~>_~G_om3uo{ou6 cqHP&`.\^{ujۯav_}k]iz"=G^#dR:"9&^9DtNKG%":GXzwpҴi;5 m09 LI B3y摭gd"'_X]7 j/Gaң!zF^ +0a3r" dC3%PDuGG _||} +ZZ;A6ٶha0L`#D[9L>$K-WN:ONz~n簍x@G t- `Ofh?zJF_.=wHPNmf_4vPG3GH#<(Mz DxC +`"4#Dc&݄orF`)+%Ua_}vE%a(B#MW5zA;MٴG" 7p/IQ>a^?7":"փ#;t: ^ɵGMK߾dB +Z5הN_{DDu#}C +GPV3[ +\wn /":uET_>ob_ jMiN(&b1 4XDtkiwPDtYݷ[P~/Պ mlze h8Dt &\C&>MpЇVD~*+J8O_q[׵^0 O Th8nB +!D( X0R:`鶝":^Ϭt }/lju6/ z42=|VVDDDDDE e#%6!b۠Aм'q">IaDtwyXo'p|w-DDDDF &TX">KEN%8a4؈lSZ .4=莡":%_GJmw q 8@Š4Ӑ"99DyLl4$I#[7胿քDDDFq c +!kTN **ж)dy#GA":GaدAmJ㕑D09U\0C5 p0!Bڈl[Nн-E<'&1&~ނ#ZKQ`!eLQ#f>;KU_-#JG#a":0(84E +xDu6B"AXb"+8-JM#h +vfS%Ј' ?T7ө hP'w;I)7uqܪLeU̕䚏:Pȸ.B#Ho2c|գ#Dt}GMt/i1#%4d[*|ucG &JGo_P幜y%?3AU9JvI~>?Boxk= Џ#q8fhC_|C]~o{#[P֡0Ar',b4Z "Rzj'A]v䏂{hx/#d—flh!NB&s4wD-kXv@A6;A␰L(L& CDɉOwGJ"#zz^ozfV||#LzƋr4 '0g| C1mB4h;woDF+Mӻ_ᡖ뛚 =)##>$""> !"XS䆦 0RvhJPE5êG>:_ޟZv *_8CH&fNi 8XZ=-[:#*aM"j`LiuH%׺?ϯq}z8ZK 7y&$ 4aA&4EvدK޵_zTIoרMפJ[54Kv%:GvG"m?,kiUT\axO7GAv+q 8Vc#+":KL}iz u4~] +ַ}Əgk^}GzG_`p T.;u}ZƞAM4%lG\V_m_ +=֗ۥ]_o|wR0Ai6șG_/Y!!G__ƛTɽi4, %dcT}oATGwoz,~z~#&hX7MA4إXD~4ׄG"?z#kդzMph6O N׆!:YcM`pOT 4,&aC D4GqVKaW^V":u~;ZH"""8fG؈MCM49PDuh"?pai7\":GZw":Vvy~C9 $Qlk R1lPAP!ziBՆ {PG_[<6SDDDES9ZAA8iq)Ç A}l+l>%KN#3G(pG2:AHq &XD|{#-*^DDDDDD0GTN0S#pD}GL"<݈V""3TCBЇ#0`O"" $.z!Z TZJ𐰢- G6GtɺZZRgj3*-Zd- p%t菅 #6 uxp ʘDtMF=[*oX xDu@iGGJE!2\|":`#?cp@dj#Y NypzL0@Nj'hrh=g%SW~(Wv(&|G眧 ڻNaa-! }W^:۷aGI4R+ qn각 I,d)#1N1C_^A=ǸFla}BH0Fs6Eg3G:<kYB3^EzGµt7wf OBqqi@n 40PDKs6E#ك(7G3 ys黤8xGn:鴽[[X&PEG`gMhL$|haJv47ڗg32!VDCoZOU}:Nz[;4'K(r f莵P)a\Sm# (c^k_(wu=B#҄G_":vX"> E4Zj0C'/NoG_ugPCo~T!tKvkgkΛ*uǮ ":/u>ubPDtAo莵ϮWDu-xLvsQ{u7ۦv6OIGҳDuݱ _aW[HC|lq(pa4ӊB: '`뵢:GVkMh."+_ a*lJh0 0OL0Z#>7G_o~aױ?`":xϱpQY":!Dy9b [ozDuE +vՂ&l7kDDDDDC*x&A0L E@dq,BGCɦm}}GGP'w/`bwe.[N7.a~#՜߶,xDt}m6?`pSMSB4[pGKiUmb|":}q""""!a A)Cа0jF@ 'Gӊmv?m.i"""4"",e08":{">A"tOV]/0A*f ؅Jh0J^j҈ZŔ8WiP-h,tPDtF0Hc# ^2l|\*L/%S%EgNɯnE)!(S!Sӂ#P؟Sa\TgƏa@65_ƕ{~":e?q^Gd\DY" +P~Du]rG@c +^Y~h,#8Ԏ0Aĝ8Du!k$VhU+wݔsu4Q*揎>!iAtqe:dB3K륚xk?_n {{6B5V3( !&\#(3Y_3C|_ *?T7=M6}!B#=fƱqŠDy0 zADXg^:f3O,#~wZ#7vtn-*NfA{h":GǤj0 * dp|<e _Au7o"8 +_}&IބRpMt{#BLDD/VOK\":Aw=G\dt}~5^4W.dt'G՜z>PN>%CKFymJ ['v*\}Ƿuߌ?uWL+hz eU(zTE؍^KYAO5ۯ_ǹGZwx +#[8uDuݪPu^}x/aףPqtbV ;ah"?a5OUa_}{]wW__KHo:!ħ 4 &6 #G6;A4[auϫCDuo[HA#%o銮".!4Fi6T-ؔ8r< )GIŶ]u_u_~]~}.oo7 0C88GI_Նgl!> \0zPܩa2 +E!1  b?ǯk>PDu GD!uGhN(p70A[G&H};GE":BE;XDth":oHjDu#ZIDDDDDDC͊SB !iš m1QD}Dr}99+ek]~DuV]7DDDDDDFPI )v: $. 0l"96! Ӱui_CUTDDDDDD0B$BL@?Ap /иgq B"""""#40&0Š":@":&,,DDDEQkVE^AN"q B1az\tWVP!Q y6+.BU +/aHR¼iEAYW Ka9h #O ⵥG^SԛdB#Brc7DR$0 %rG5G~j!ń@3 '#h5Ԓ-(Jtż4٪̡ύ=44,BˊaBgQLb1}_{'If<HGA>jAar(3YG38q.Z_].)oNDtsZI'AqaGvBi_iB5;!٩m(V@At1m #u'|u-ж&F>* {{xU ":}_k)EyW. }kX/zK0_+5#GΣ7(u_XۄGM.athmuKocMDz:B uC k##| aE?}:."鴚FlTGdtpqo_#YO0"""""*"e,phCbT 0!д"8Tb4 6 .6g?4# b"""2lPD|0X`h;⡤LhiP40aGDy4:؈"!0D:p$Ј"!|%OxD}/t /]K*OXX ARlwRH0G‚wB=Du3n6B#R?c +w޽kѐ?GAL qXջcQ"3;D#GYsPG^^ @g=c +6:zwwDu'QQQ#6iƄRZ +40#"-#lȠs$:8כPm9#[i, DyGDt +2r?SfB#]?Nh&隆ƁѬFv?Æ5BDK<3 '#Ü +v&Mh w@A6yc:pB ΄`5A3y>e'Z;&˨Du+ mŔ9PA٨#NGAa?8g Elb^8Q:?5׈?CƽwH^4ޟi~qP #UnGSe'a!"h3H,Ďh7# ^Sp~}|x=WuMM}($<it7!FaTx `aBU`oټ}K u޾u/zWMt;6A6͚cH6˱* ۣч͗q^"?GשtuOGL+m6_a/D׿NS׵qQoW(__+7|":ۥǤ}WЯj_t_=j_GKnu_׭GO׏TN˫m* GN^"q<DuW_W_Wo_[_A%h6`ݬaa!j3G__(WP1 0lTI&GJ0iB#N~uG}DuޛH GY^""""" a mNDpU~Dt~/Mo.+ka; g pD~S؊dd6)4@pF|j՜K"?vy\":׫Dt":` +SkBBݦ!Ap0_]/׭.$"""""#O8A '#Dt":Dt#W-?:e"?]aXbд|PBІ 0aAVz'B""C"bSІA濫"""" "5G0 -P7󆠈1>MxSu&Bʥ\A}(FׄGO\zusE%rJ#DmDw苁L PYF#9?r03%xGtj& qEr(2*":И w`hviϤk!Ĩhx";AR8f74F:꟦U٩t!Bl S7mxF<3a3/APk=)WZ[ N7g$=ªg}?}|":[Um&愯xAK PO>G}7tҮ5# 8@DtG?4׿[p+W|Gk~?׌?P}~5DuDuo^߮"gQYۄV ׷DuFn_d7 EhBAm[.akݠ a!C䝧 "Ӑ4X neւ# (e^.#[g ":3iņ%F60BI A; U5GKo;qa +)ԡl)iHCa5h37DDDEpE ֭H4NuMK--9B#ő҈A3;% %' "qbBH=UuX OuPDt#:A6) ^IgDf"-I^B1A6u{Ѓ"?LQV011(= GH#">H B#j4ahaB#j<1_Wq%^">ZCDtʞc*%Upޡ4ʖcO^J1GH/Zvޟmi~U*IG +Sj i/DD.֪>nlz=} G;#x)r6a(,"|yu/S:VVGt= U!}ҽ^R} nAfGf<jDK"0.F>iLK:8Gs$"?fEK0!G5Յ&Dtl tn)a hN;;*IN̍DNRs(zVDu."=]}X莆%x{XiXI": ٦$3L}a #;-#Bqdw.E׷tDuǯmobvGzO#A{7|":fmX[j'A:m,tN^7Duݿsw_Ǽh/":WWIqI26M_Q7_ +ï_.}_u?]%R:AoGUxD|[<J5>u`z_[x޿DuT캉  uDugֶmy+p^ׯDuW5YACJ!a` +в:":`NCO o;P߯o_XX"C(paD.*F89h$40DtHQoMi{f|":X"3Ah0Mب8綑%hM&":M# +XRy1Cv2;YP)ڪWPSs>-˯y2DtNry\A@aZr"uD׹N100|":#"%L2rRC"G_/xDu8Dt`RfFxN4PjBaH e UK΋ޡw_[҂":G":G_G~o::#G]"?+_":mVq"`kݽ6_XVDuU_">莈#', p/wvy/ӵ)^PF-B#a/W__tD9NGL%6]a08l"8V)GXDta DtUV/ӭ|O?1p"#b""""`*d0) Lsm8@>AA#=v":G\/XDuq&7DuyDDDDYCM9 !jx wGh":MO`^?Dt#Z޺G@_YLj 0O +M-80Ë́Gai)p鴣G֟DtҺ#I6Du/: ޿P0`"?Ų(p PM[l7Yt/wGPKA":}wb:=8 ) ":! 0e>4܎(A'awd~- #Gj#DuGJGDDDCGDDX' gP8#":C S'(&:#"iD,)]WYt$yDbDDDDDA"  Du8Ia6%@hnH 0"?aRJR""""""""B# +C ؄_K 5 ⡑-ł!2z#=(j^t!DSiT0L(E[Nj5Ǔe<(TK  Va3#Uxz \5n +wT":f]֚l":Sڕα?E|*dN!~uQ#TAqE_|":GG":~)׮-<{c5\)""r5K}џׄGe8f4wabAA|"$2 5A;H7RNĪӾPA8hG<ʛ)yFmj~o >fM :AlÂ#P5p8)@CNJ_<Fq2"kqdy|ul=!aOq[GG44,&aϑ<ϑ(sEv(E(G[_ӴfMvPO7p](-8AT`͑6$?!NXDu:":Dt[MCI7 tIM 6o +U +Drˌ )3x6dg_#p[GL"=hUK] Ӥ =Xy !-Ä DtaT#桗8ǗgJ?c>/0R;ZpZ_z(a=B#| eTpgL#Í5G 8̟3!od~W[8Ov__uxT +!%A0:I."; iwQ ~ϨDuO^qymw۵u""&e`0nQCHZ $lBGK7"q߻{>GZO#GA7aDDDFPW X!J~4Dq I#`c-zloՄGׯB#۬|":B""""hɞICbSH6(&j|m":Du}k})"< ! N=A"7S 9'#DtXD}PGTGGDt   a=a1L$І4-a8##TI8iaV˧M":p֫P7DDDDDDDZ3Fa0":[a& A3Aa#:B]:mcGQ/DDDDDDDCCN4$lt0AL0ngD",BE0ahDDDDAGLT Dt#T5Kl5&J2p##H+Q +d5T_RaLh™~G":h9l(Pc.": *#|":kiC?̌)6JK܉pݨDtD~M"tGFy_'Qw~1*"=% "`f/2333"2jDu@ 6(ѯ. 00ôqFhG,:?O~}$ J n G Av-4>2q"N|ꎾND}U~~DunƖ#[z 9+3!( GHÄGDt"<5.F3#n]˜2s^Xuk8O*":Du^7>unha-'A8fZ] =f.!XF3j0[$ {^_":?< XDtB#uA&iOO-#v|8ouXCaס֙8Պ[(puW@}k|E;KqDGA={ïgp":s7":@?]"= $ۄGM> +Mݯ"?ՇA׮du:UGL8DuoP('G1Pa#> %GQZsAu730zD|̿ۯ)#S cA Ada#iq{]x}v>\nJ"""""*", ` 8L aBl0#J Hm,;WXwVگaG_O!6G\VDDFC)AD! BB"=$Bp#E} CQh"(pGh";kOG_dt[|t}^>!(눈/~  ! 2d#" `#GWmB.8Du0_pU""""""!FP%LXrUi C _OecB"`PDtGQR!1TUNC +DDDDDDDDEh&5x]mɸMQ#l68[-- +d#*[fם + "? c~cýDuA~#VA;P?ks(#B(Gu_~fńhhC`q/z)c8DE":IsABSDu'a%1#1g"mesE:Ja L0 n!!h(@aByȡ":?  +ckDuPW ۏ!4hSj2A !Du|GoGXKeA٣v#GG":G= +G;a0K#dxFdOg tHG!pO}":Cz4#uxO$i8I=7!{F|DuG]#„#CL)3Gf8egk|xꍣXP?5>#Bpz atn%XmamahtGA_{uT#b׎cԈ>n1K7MI:VP!&&'5W +O?wWT>zX#tXpZn}_u׽/|'~}8aװЌ Z[׿xuGM":(Gױ_4|Dump |a:Ck#ߤja kÇ_Cl/pG\4, Vq~hpDGV\":~ VoDuK |w~PpD}g2DŽhC1 ">D|+KJ7GZ#6/ׂ#qC3h4a騊\{aH7꿴>3/KۏZQ7q ZtNR 0Sâ;#6!waS^#ӳ##F;m ւ㈈"`&GC48Dv]O"`h"> +մ;DuH":Du#g"D`L0!HHB؄]w-nUxDu_:HN;֒vWqʈDD4,& 1-B* +LXlUBDC ÄGMR4֓Q.EPdJihaq uuuDDDX8Dt""""""-WKTyV/AIB#DtB#\}1#ivC/kC6(a*#DC(sSDtG@EBgMG \? ȣRZm!&@-/DuASW">^.ߺ":<;_9 Vu08h"8˸D}#l<\)4D(DeHi؟#ik GvF3BS4Gtm":[fޒM9\Ī 9 #h[  „6d

㻭t6"?k[莕Iԥ }(} xDuDt\mhB#Gޣ=[|a'Du_~#Ǭ??NGNnv/>fům_FCm+Aaŭǟ\":sT":}AWG(Du.- z !!!pm4X^jצGGlm{¿?ۄt""# 2 J6)dc<ɒzV#Du-a׭A_莗Uh6ۻVߨDu#"*"""!`T#&;#!#W,":T 9GJϯDtF|mhpat#&B̍A.բ:AӑwXKlP׺"# 2( ԡ q!}!Hub*$mn $^گΕO\; BCe: à ab#gNm$$GZփbDDCn,Âh0. +!!hXAc%Kӣ#B""8H.jJU^(uQ$V b* GHDAHAQ"&Ĺh-d1.A\j;P0.ur +FH!Pv1àT;z+.إ"#:#tL:DuJ69HB"#34GGDw~":I#{ACKzrE̷&̆PCG\k$-B} *Z^߫D}J?kK,%u]uF׺:h%҄GA{|}m#LtB#Sq#ZZZ;W믿!ma WtM_h0lzn.}[#I[׈h0 #0[B#W-פIGMA#1P#ohȞ/ q)P|aVU8">ŷ? \&{aݠ < )r )(lǛyT_om*":J;o>-0A3piW8fl#[GG@ ٜ%0d3Ǚ >oץZI$BtIOMm7i%DuAJDu Aƚi  4r:BPDt08v:~iGp?Zkx⡺|5.):ުI6 t~^:֒SVGEѿR$/Du[ʧDu#z$>UGQ":GO#SiZ_xDu_D\x_:_}+Z=j#wJ#PE=}GJ[v?8g_Ҷ~~_Tq6GQY׏#%|: :m.c=N] +?k ]!> p@JGȎhqhS_!O":owpЋlRc `=Ga(D| ZL":>Du _A=V͗ۮKl0"=pI#GWo8D~}}?d5Z GPT\ב!؄jä!h_#V_}/`mAIz\$#_wҶ4C4At H@4)~J.>l";PE8:2"u-Zujrܡ *|-&v".~lxDu#""|O,:":莎n4A ,A0Gί.%!q4+9"PpDyG "< DL1GDtatGGD?ƛ[hxݚg8]B#BЋ00":# +):N[;I=١#Fh .! )r0E4Gd D;荤Uxﮯ_^)6lʨ74|h3 = Dv5.FdUqq} aҪ{֓ Im͑ Cwh0SD]9r'50 Tm뾬%]o]ÍRNmAoF\":ִjRl3lHdں{/?I Vzj":G\h&86l3B=<GDx&G (NqPK:#߄G^ǫk״ҴJ*HvsWM>~ ࿿9z_Gw˥ (Uv8Mndnָ['_ֿh":kGKu46":l,":_GQ=~?.k":HJ߿G^x D}(e:a05GWak{":Xֽ}ODunI ?G_ +PC~*J̓@Sa&Ҿ7-D}gDtz\><O>:#'dfDDDDDD=q &!4# BcokĬh fZZYu:H_aTDuq8Aǿ>j*\GT6*O*HO[lVhEQDuqG": _#0ޡo&aYGVbؿ7m_GҥxQ|^~X.6Al;(DuWUh I?Du)_HBo@4Cp? ":1 Yci_Ҫa>I0G#S޵~M7!;ibG;׻Uh&|qDuj8#*!a6 PL2^a.#]XDt ]a +a^DDE/ dp҉7P^ҽR.o /ƾYmI71 P‰(dGh7iE]B#zGA 3;]w">*IBq 10Ep!aHCB6( N-h0#AEZ +B#q#mm")R`AGA8PlH['0G0K+>HVDDDDDDDDFa`4GNMdE""#8]B#6D|c#hPFN-#J25+p +w ":#":PR1EeuO{YFEHqِ(h #AGM"H,~CUK96[<q%\vAqNA%) 2?F!!:(T둴u hzG60">!E—j`2|n$;#WTIJǸDuW7M'e&T$|qG">#ʠN.<\ VYDij|}}6Nt {g${vqhøHd!̐"YՔ$xXNxCӷO]+BWf揍P#@]kav8.h2β$>":Duׅi1m7PM_ k E4 껮=tq(-}Ion./'Vj;t_3ymֽj}^/DuTRq#({f( І#:b#/\#G_^":4oaxFX.޾ +G\":Xa0P@ `hb0؅L! dH}6aլ":҆y}#B#5B}/H;' xFỨx0B,4va4h9kGWh8cE2mh">]wo.AZUw u}G]|DDDDf hł~N!4PCDy$Ji'SDx Dun,":\""-BbL4 GdrdD$|,Q;1W ŠD:փB" &P (AB SX#І9C؃Bda]oZTGIo!! a2 u +B!an!JGT"""""""" #ҏku(֤ؕ);Ő ~xaǝ|K$ȒgˀGI+&F#?_A~4{i ;)_}GVt3 |qq}|;Z3RZFdz_^"D|O#GY%4ۍFh6Bd*":@":EDtJ.u'":.W]i~?t3 #Fv"ˑ^""""""""",l0du|FD\DWI$jxM GYoSNi1EZiʮVY?ѐlLz҄g en|[ E QQ9eWXMP`9@3ÓpEGIzBx3jgпIҏGOU[pd'iH',/^? )rn2sLf yN+)##J;G>8@ɔ9"aC#GԻ8(!E3l J*Bo$3@ Fr DvaA%"*S^gm'vHPAAHLߐ nTNwޅnB3ЄG.΃3"8F>-m&ʳ^ޕ%z#)G#Ġ'[H383 I#DqPt{?_l>ۥDt(":n!RVT#T#CXjA…!ZA_~<Ñ̎(vuooC mGIDU A"ʄ~!*=_[ o6##C.!.xoA66mޡ勒Du]Z4P_`Du}|":GAhw_ߺ:DuwA0#|q=<}WG\":7Uo/W5q?5#0݆ +h"?pϧM5'J?m%b>IHZpqG +M|V~HgXDu/$I#":\#]J?໇hdۭ*8ib)v#IL 莆mB#VAU/#FtD3 SANR8G4[ ]RG Ïh+mMIGM#AW (AH98ba.XtXjv#G_ťՆyz]8@KDu' fkBPGh[#6G=":#*DyAoz׏xDt]a=\LB6! Dx" "<1]E=QC]#DuP+n""""""" )8aB#"Ma8vC\A!AucGamdKp$DDDDDDFcGC6%[C.2(%+Vv| *sRvgǧ p ":;ZJV*+\nx_%Q)GTf3%:Em~Kxaơ!#1 AC9{KKg 3&Q[iU8JD$tGA/KZ Du莋7󠇇#By %JH-m-/{m cL4F>J":GBJ0ADBAeSaͭIjl$NlN1JwNG  7ZHth%G_KӸA:TGZyr'#J/hLGX~~l4"=@>WSNT#unҭ$p88Du~^4#8DtutQ_֩hh&>m{>x@l-[_/05 -":q#sitP~;^ +W8OHWE;P j*Bռ6]B# DyH/mDuQM*}i/Vxo ?h":HvյWb8P6Ibp DyGݸGZV]#n#޷z]x-,S]1QŸbL,7PGzh+@yku\ZׄG@}uD^ bxca";~C4 ##DtpJhcX"?Z0X "9lV:I ":m| U?_DuGVH DDDDC *iad} 8t-mGME-%͢:S˄VcLRZMRKG. AN#`G BV Bb#HEDՈ` xI%DDDmRJ&N5҈ y1…+#5aӚ ëUZGOaN"T 2:6%,:. +AvnqQ O*knE|gn)Nojzp. +;Us-S"^ƐEPDuZrlFG3ŘgAW6hѭHP/ +Gڥ!XH! )rG>Ofg H{ ЯA8vm& A4+8Q *" 2L!'E,#XDu$Dk UV-+pxoAfʀDt9DŽg @"Ě2'23<{DtޞдW.ҥz)7W5qHG$,#d}CHD_#6k[Izy=qxDuJ*m'ؕ2O(scH:*%i9 ٢1ʴGY:(Ήl CC\__⣵tIP9ha!z5<B3! "$BE#GA1ħ+HVDuo_z_CN  x#=هGXFPxx +BSĕ- +^-&x'E6yGe.LxFATG^kۯbuAǫuEڊGA!ؕ*:U]}KQ=5ukoۥT": }aӷDu:G]+Jq5T}|":QoGAaU]oIG-bPZwױA!B#Ɨ_c׼1G":_Ӯ-_^D&$/3٨pDujN_IPa!h0ᦰդiZP+ UGH":އt|oAI0K ب((rSRuG~B4DtB_]]Wto%wA fCe:[^zkv(87k`= a"> g a"9ޑh^"&UӸtNiݗ@t +xf349 謝}ߏzpSS-:\(x4A=%޲QS$NEemU]_;kmwuIa lm Jݴ j\IњgmF ZXFpT~[Gm=!8a +s9˶T#!‘`@„:P I~}^>~'KQ=|xwhmܐfˌ8g 1^mQm_i~~%'b + 7iSL&tG=F#jH?U޿D{}_/GVCkA~66 p#߯~o_Ǹ_}z_o^\&=>jw޽ ^{/P~v͸a.|h?IHGT7ڠo=Goﯺ_w=qkrGC~"?] vxkճZU_?U׿t5|[*#[_G\F};w~H9GGc7w_Ks4a0E6uAbʣ!JEƃH4-!l0AtҦB#>]u=w0 _.$zxn#0XL:Aq B GW]#[ׯAfm$g:~b">DDDDDG(ALF84G~KmޣW-ib":MDC(0alm z/lR 6OGK\":n{pocU":Q#S +#? &Aඃ@#T_7ͨ"[G""-DDv.‹BІÆM4B#"=jCTbmPi0=Q'ZC#O ! q """""#]i-}bJr)?e +Wea+#c GDx avqb"08i=~LȐd wAn;[#'JUc%I{#;*?A +eTdXn"B7lNGABIXv9%GxL2J EVTIatDu݅a-if$H JǶ),qGZѧ8F&O0Et ?n?ZA-XaB +] fs3#ÄG_ZOHS 4$|l C?t mF9F 3reќNC_eu$9#?#۪a{kaPM 0A"3#C44#S$#(DzC׏ւtpg&hAhpDua4xaaA@.g Y^f~ +ePW I&վ[|Uۧ't)8fN| 1wDtA`D":PFXcR _JH=:WP0A< a\c ;Amic?M#Vƫ#ޖ +CoxDu[l%8$.?ǯ7#)t=wFu~6_(6tD~Dxt<@DuDpսwi$jڷ[u9J3J"?ZCϠoZpl8j X"?vnX#pidFGjdըo_ N!ȵA `t JV + +$_ᰁ_>?0@`I*p. d)8һ]^*^.GI~,{DDDDAM >C=b +!S'pXDu#cUDuDDDD68i쎢Hrc^(m*GI߾B#G]":nŰ'$TGh">!tBvGA(#.~g?m*0XPL#*N,p1)Êd $& + lJQ ֺMФ"""""""" `D4Va0&Ba -Jl$0MF[DDDn)l$ba7D!NBDuD":r5%D*B +v1cQnL H;B#J?7blC9ÐiKD+* GWU~]$`g7:":T * +H" "rlUUu": 8Bj\h6?6ۮ=Ѝaf1c%zi=õ $t]dx#9Gy%I^'ZZňk":{.q}&݆o=Z[ցomUWIu#]K_ΦG":W_?$kK/Ϊ u֗#0emC:aR~WۤBHϢ:u#j;zR+V_7/"; 4A 6?# n"$'uXa 3&)4t@ Q5mm/ ZPwUD1T Vh9pDtk"!ԠyPC%!M:[ mDDDDDDjQD!aI:#ulE!$k[I"C/ +endstream +endobj +42 0 obj +47382 +endobj +43 0 obj +<< +/Type /Page +/Parent 1 0 R +/Resources 44 0 R +/Contents 45 0 R +/MediaBox [0 0 613 792] +>> +endobj +44 0 obj +<< +/ProcSet [/PDF /ImageB] +/XObject << /Img9 46 0 R >> +>> +endobj +45 0 obj +<< +/Length 27 +>> +stream +613 0 0 792 0 0 cm +/Img9 Do +endstream +endobj +46 0 obj +<< +/Type /XObject +/Subtype /Image +/Name /Img9 +/Filter /CCITTFaxDecode +/DecodeParms << /K -1 /Columns 1704 /Rows 2200 >> +/Width 1704 +/Height 2200 +/BitsPerComponent 1 +/ColorSpace /DeviceGray +/Length 47 0 R +>> +stream +*لmFmaҥ q/` G"NA`F GL$C XeXBG0҂h!`XAB",.&Vx*DKѴ$u:,$'(w#v)@/Љ~!?8% &mt)R/ +B$t=#ߜfwǶ8oV~R!o?؉.._z_ m#i*׶߶cҽz1e4]nE'[tTQN"v>b}_l1Z_ m"" """ dtB&DF^!G8dVkLB%GDvGEe%F9)AɎErC98aKb&"Ζ>GD|]q#GGDs.菘FфkB""""""""""""":4Bq|B*GDp`ˆH4G&8RhIZ:4GEÑ92Hp< #t""""82> FC"8A9N$W8°0Pw(rx) +:GE2%вIt"mXd|_` +$t&GdtGE|.#X!"BWN<2ڿiXba ٨T9)p>x E0,ǎGBD`'`*$eБu#Bf) fN3C$4AC쯎tSP+#r=4B' DR6a00L-K@D_< GAH~OM;pӄG^jD}Q+%k9G+w]Ks +9(v] MM}GB#T(75Є-\O/(r)z"u]W()GB#qU}kC3B<*~16!,xZ.꾘xED}l/kօTx%G\DDD#1"?G"wB# PD{?' L_.AaG?0^?!߄(tD~(yHZErQlC#=c~ xcؘB<"?MT|8"?_|쏉ƽ +DGG_ה'Ј4߳h.ц|٧k""$|_}~;.cCl'Oф;hMj?㰞#޹tm-J}28NBG"=eb#> },F*7v&?GO1pi#Mb#B;Lsa""" L,MDF_ t"8a8/B3X0C^ Y*dgAB"\  D@ @zk @'f8f lq*߆$t"]uDьhfkW2'蹔Ra0&0E5F#ṃ 4QfK;ԸJOդMRo0'L$#y!m">hA2oI/om~@&:_ [.>Z^$gz8:[}w/P=}o"?oDJ7y#ϯ >%-7߿zDu6kjV^#]T #w":ҿlOJJۯnO[ #1 G4mGACE0bi#e~_7_mu5&ᆰ6*l0aa&( ؔ8q N:dAqT \tNGN*a !p@?}t_f-i}'lRDur<$b݆"?)# &0"""""""#O#DqgIVnlEEjZiM`Ah0AX lZa˴ •CD!g#b`$qěCliؤ C S@ʙ9QDDDDg\6EA ESaJB`!pDDDDDDDe}zؗB"GhNvJ#ׂZG\5\M#HF 8B>0.( Nt&hM0Bq:A"M)tGF>i ˣMHXhcG+viF0L" qzD|#ʨ,wJxitA6ZWfjwAP"?XKCI$4J]$tS5 Rkt$!'Dt#CXJH%*jrt$I#]&UJbNt!#kR֋:nX' !}RW"kTJFIuGA'uuPB$t:U KT#aV_T$6Z^]Ge^iVq*Ү&t=!K&**Q\BAu7RI0M0F6 aX""# {FpA#.]њ.Rc^]!A4$\aPeф&31 l Q#"4ˢt8XF~qBa 2Rii M)I.A'фqBU +M؈'ZF###HDG)4! M$":5# D#H66 # @DDKt7 0#0"B]Ge `#< +Ջ8Pl .#款GG:/DDDDDDDDDDDDDDDDDDDDDDDDDp,M|Ȱ8r8d!56њ# #=6GAÕw+t"rY 9nS9CsUsC<ÔP9C9Nw)9ܬ)*l@ mG>2<\8sGDvaG#.Dp,DDhDDDDDDDDDF{ +q8DA !DD=`y2܎#.G/* !hDDDDDDDDDDDDDDv'(vGHU"""""""""""""""":=(2JYHK"$tmXb&a1 a`trA<`>&'FJ,$I0a@$ XʮUbR쎜D, #7{PFЉ7LNO a (LtHE#c*#"Du]+JȰ:G#^Xێq>f 5NJ Pa_t|u`|r{{:_akfhr4e_G#҈oG%A +G Pim;C}uYVh33h(ͣDtэ}-j=B">w _N{tb7kq}.ji'K!nkT Ǡ*` + q  +7Oӣ +",%TC<֎vj{Nw]׺?|kGGDT ݣۏ'}iuI(]_:__^GI -n:N "T-ǪK_KJWϮoqWzREIJWK$41UB#~'aIRHBuc#w}T +}K|G_vZۿ_so .\6%%O{~={3^͢vEԧ2=_a,On.a[MkN ݊w ^IN}ֳa%LR*5j^U`± d8M40Ј.ki}(rhRI޿#-sy#ZoaS"=H>).LB#DtB-k~+a$.A)ON,0Pg(J +eX{J׵nI¤‚#* +ڂ"]b &ia;C# \8 f|"A8ƮP">˵ hZ!b"44A&DDDDDDGFZ_P—&WIBd|C; $O/ȎE/PJ]KTZ":"GGOQu.F#X 1A=eUGG|CLЈ<SlghD~}@ 48:.q$hPDL-GG<莈\dvGdtG^""""""""""""""""$@f_=faftxx]3B""""""""""_/GG""""""""ALr a"쏑GGta:#uF%|G#ˢHpBwFU'Xj72­\K+DkΕϯ_;2_Ԉ&CDA6g K``apAp5D$Fy4* <8Ĩ[g2N"(,j\" G4!k~aFfӽ[[4Rta6}1y% 4D8Y9EG A.AAaA!0øwzhG|vj'8iVO^?#>mDc8E98aL2"#汙#2a0Bд-#JwrbGfA'v6i2o5ևzbC4#da5P4jFІp4gqчq* m/ N[;# nw}=uK^?_p]kkO{Wݶ}-}T_z#OFoEkȎw<뭆ofՑҷ}kbKE1 /_ֿOݾՑvuNI4":.p;K+HAugk}Zޫn*Һm((h6PAbqUGoK{SV":NBlBO)p jN<4AB*"""""8?k[ 82$8`˰t2B&(pDfKy.0A 1DDDDDDDDDGtU",_~T r:(T%:M/Ďk$#1JlEE {VH vM!B2,p,DGqH>""ZѐWXr8R-\!ж^n&h)\=ڽtDtMRs aF@z#GF*K<{-'aaiQ~B[M㠾5~?Tdh$Dwl[s;o!;"/34r" aOϲC4h ".Q_fY#'vhPfyxAB "!< `D<5 +`B&U E'j~.d +\ڪ=q#{3 {m Ə2v%\#^03u,˖%}GDP>y?9w#U +G|J4lfƂ Ƃ6Ӭ&hJ0iҹUk "tD t=E#P)Nȁ#L6004P&DiUƂ 8ݛMAi]64/OO뎤t{XX#3!̉hAp\0r0hC +0 )U_xa@ n*[ggWk߾?{~^K w}l[oN{:NL#n w@7-"7uڱ ! TaD)a4iiZ%8㩵uq5U+IGMڷõ] VI"<#">1 6X1>*wxC#6A! ゕB|C(@D!{_ϯ~naI\0z}źa8Dt< lRj UփN" """""""#톾DuհVdtI0a"R  48a厁GMܺ`Mi0AR,6"H4 bQ$G q(qbEPa2VYBCxlN=M&Du!kZ a+abӆ ZUQlzyGI__Z[ .q~( +#bdډ($#GB#.5фfMBduA,܎ܧ%2ObPL +X/-OUyG^bq}}%JhpuR%' H5#Z!y"$a y'2.0~/0K(r,H'ό3B30AgQ +m":q#CFvtg6%;Pޏ%J:5^x>Bܾlji>ᚁhnAG[ +#++^jоik.6Av~]^>#q":uI*tZ=]G%k_?/.K}y@ @k._bA~xAl}-WKS `AwZek%D}s#Dug_TTŞ Z\8AE!IYq);cP"ML"8,4DqAD9 Cn +ÄG쎘$f в +!4MH6N+:saP粃0PQRJ"0"!`EB eNTIն҈M_} 600(!1Q!. `5:uA r>m G +'Qv!`# ,2:B 2.|MBB7(r6◼F~'V"I~' K! ,FuANm<Ð"hDDii|;(I.▿'A%J*G.a*Uh$a0ZAr AEI":eTI}ևr^hVS n(#ιu@i>o~>F|U].UJZĝi7:JKIj[J 0& TqJy/k ƜDWTuZUvR]^Iw%al8Ј!NS+)M/d"x5/莸ķUR]\d09mFFGA~yGҮ8쎼dMTFKkzl5MA& Dv%zDDDDdtQ/21aPRNSl5. aYGDtG렜D>h$ F/Y&)GO%+#E qrCUYC>HÂ#"0HzAFfAhhU/@t0J:bDp]Atyq^2^^$tP2&^2_SK?)BuD.;t %tY  DtUUq +JQ#Txi--FGdpFe$dP)VqʃAǵ[ĎD  2Y][#߄.!G9GDwwl(A8a-Ǹ lXLa$o]~ z ;~qm!Kdr]mw? ;[]M""]eU^S`q0(yD[ L9>5/)O Bm?W+ )w$2Afyx0ȷ.Fx`P + 4WFhD#Xa !hhД<#f/{Wi$Tn!i0¬\Z5|mqSA;8fܾu'e=ڼ pAO%ձ_Y\%!(fĸ #F9"Ɠ5 [i]74i;4+W^4dHEFwLu}Jkh.FxFwcGfl4P 4ӳE[I'u u_Q> }~aB߯Q st1 |$$7R_)'xxuoZ_y.';kZKPu!;K6Do_ץr?ynoׯ{oDyg 8}S]Wץ/Kߊ{x+B-pE#5{`zv]}]ZV~/ ?ux";lϮ+VZVVzں^d#"߿^_":{"ZIGK a."@#i'zLqvuh& Bi3i#g ^ݠ^Swu4Du5A#U6DV$ Y“1qB8AM1QTC[u{vDu{aWzWݦ">L 0BzXL /h40 *2D!DC3u]g՟߮0[du 'd}!a\' 44t8B-B"#DDDDFGMҾDuD|l4b LMXj!܍iئ,S G bA 0A2?\E&G qhlG B &Np׶N*# \R'D!].I/B:|PDy1AKR%Pk *HBZU"τ…%Q.50#*]БGSwn4:d0 z#,_SiV|)sY\Id\6$n_qO&p 41ޛD_ۏxOWv򞾾J NysL΢(_ZLDL#yDL )a S\Duf'˳Hy +PA#"?Cx>80m6 Ȅd";_Ah388AKPFx[7# :m'N??^r#PN'F8)HhEPg]LD[dqGwaX:M_Ai}9ǭ":};~^Gk4WB,Щ}wzz]xIuGm^=7үЯ>?X}~k__-}GK_GQ_7@O8Oo _uK +~m,_xAWJ}/ oG_{~v+]]#<_Vo ֗k?>ᮭ4G@v 4ӈib bh8^]Z]ްM1P杪 vA%ئ]"4c8bP؝a aSND`DDDDDDDDFKKhY__{[{J^ 0E;#lCMS 2Cƚa#":8" &X3:awrOlWmi/ 8GZ +GN06F;#`C'q۰T")B +.Dq6)##MGNFᱠqH4la5 (VXB"-A !0 HGL6]0(""""""2""""""""""%)"@hZiJDY2>D,3fLѶQ Ԏ0#ʹl .jȚX*F84nA8`!aGSPMD0] D(4d8ciAaґ`aJB"δHMQyJ7b2Ba FD/"PBQ,tԈqB##kqz~D*IuK]+?4AfDH3 +80B AvIMBBI'ȄqW)6J+7R{{ }ב2x"oURV9o HAw +-z QanqԌ ER!7źվBw?D->!aHhnW7lJ | dr/pj0q " qGD(" QbFaNa43 C9n,L + GZ.+ E0IĈd-R<&VyvB_ A`T4H0mÂ&& C%fAn 0aa"0@Z@n! 0 r:`@ 0mb A bA0H0!& Mf 0mm0@IoItm m,H6 @*I6h&A]M$tImM&o0մ:W"M+wUm*mӤޕں8^uqռJi+z&&-]o]7(u_W [nF*m+#-- &F-^Km%Gi}<}"%'Km,%;)';Iio-/ֿoTүMuUC?_mVQ_| D|_b1ao?|DAuq5ޒ=;uZU^]}%>ޣ]p!p}*Iy㓢:/GtmˢR>۹ RHf# @z\EQʙU9NUCC+Kzl. :+ +<kGC o#\ >+C1|-_D}'1{,[_mkm+J{ir1]=VI/nK_ijjG*ڶGҵ]1v۪WZMV鴛m$qյmwI]0[WJ-bw`z8M鴐Q PMK{i7i%m&l6JJmm& $i;a$IAmLx6 4AA' VAGh$44 8H1a(P& &aJh aaJIa  +! P8A A c3 0L1# 1&6r:$r:' 2 0zr'hL +WC""hB9H)BU + +s +YV 08jR85WPs#:bHUxPYk "Z}ʯ,[#ū Z2AepkNwiw2`I4?6GIPޓ;oR1y+Zo5|;#ȐR6tCD4F\|~r#pD Rq +— ah:":$3LƑ..fyv]G;_V58h #hHyJn"/#6JG C #Â#CߑmRMAf M- It#k*E""1L30d *#rfgB>9yqs~SvRtGB;E:(va Mi^.;w{~M5On݆mB{_c<=P+uÆn2zNONW'~*~{|.=om ^ګ}߫__׏Hwm/csZXzϧ[Vu}/5$&?ݾ@_M[K#D?B߶{<ׯkM[ۤqun{Kϧ!_":_J SDqlb lS# 5zz|wl3+=>VOMax!,0ˆP''0DuJq;g֫՟_0@A_aH4ӰN!$r.iA,w(xDDDDDf~}~mnۯv %ޝ}ȕ5dEF[ N4]xalA 㴺jotȜMv( PAlQ eQv""""""">I@* QÐr\)*ԎNWB"؈,Pbl5eU(~b"KBB8#ڮ[tKzaW0 +s2Okǯ=κii[_v<*#"x2H4G<ϒ"<#G<#f܏tE Mߧ-/[UxLb7¯߿.\#ۍ!29 "&s" A S +E8a5B0EmܞrA6a6JmA6MC}L^\PMن,pDukhz>cfNi^tt맦QUkװ":RV3f-Vi}my_=#]/<":Ltڧ?p_\G_0j|WkTW!a uސ/l : }Â5د_{~΋5-+ݴ1_Um;Vٚp}uonϯca׻8V/i_Bo1[]ղiGwlU1 6+0c $1۪lu[+g=OVҵMrؠh9RJ;i<0a1R﮿+_u}g>+I;[bdtaac4aJO )Ƃ]> }#M##II$TPeW`` """""" Ӄ .v߰5t aA`4-7Qbe~АlR ; Ii4h9  & cXDDDDDf\:DIPSpa\ lADX!վ""""""""""#%6BTjxMV0Hzb v-P*Fa ,ưAʿ":GNgFUtGgɚ5 '\~**!s ?ҫ}H_C_R-se43.g D^#b` IYDrR:#Of qPG`;BSxhiC G4{|,M]GFf"xxbg "D"; aPA;G=maO-fn[5W-;msh4jOGsA)N@0= a&'_Z]ḱ1DtP\"^[(?'#l3(P"<!0"0#C@˴x ;93sÄIݴjWvVُ_W:=a  KP">y3IPiX'L "!\3QƏ΃L|pJ 'IqҮ[IG)&a Uqa4,#]tveWߠo{5ҽE+o^?> +kI;Ĭr3== ӤA6 t{S~cC~__{ jwq_kvdIto&_ҷ_C޿oPX/W}_k_Ϡk ~~vDDoc^|+jvD{_h/_^_oN+^wK ]]꽿zV_ aPF~h_t8l#viekYZBa?u^":]t#$8lpe&Aq*  in +ϫKޛIaD}l$AlhCMH'0b!(W_=Z ^wGA$N( qL + AJ+R"""#?DF'M_z0ANԍ Pa qAF ,6 PD}=]SۃMXDt4 6+`)!eV"+d hC  ;\\ؠbB BaJ1(DDDDDDDuDDDD2 E`ӈiUJ + vdYs!fB.e:w+ K3'D?#B/50@ϳ̍`5>6{X#Y+5#<AO׷S +kAh&ߥZ֗ $+ #7P]]-*UKGm/_$R|^gmkb -i-w.P TI#iB?[Jz ˰h6D ;V|DDX%:bT!î1U k8DCb8X=ʟIAmVmDl2>"`nzǝQ#F"OA:Z}^-jdƩt< Emk%mЅICGitx*ߒTrBttij$_0DtZZZKJ)h+aU +(n4-F"?!wUldKL0EX!\*KI-Y!sR# /WI-t]U0uuGIiBmBЌ-dd2&3 -@?Txfac)PVyƷBTTT;TJdK:|ȱh*7_SKW'z yjez?>w*pF3az~/TUӿ5+c.^UUVǯ%B"i3gH4dHL50qG',еM{ȢO9N8%?DvN@ij D|!g=3t #X чM4{%t{{t*tPљPˑ9 n0a0UB-'!f {5WjtwIzMWvDIgbDE,A@Gp7x Hmcٺk 7{ФZZMOM KG][j5hD>gXY9EGƏUtӄOTn~KI%mz=C$NthGSȎ"L0۲L 00ah #c +~|0KIOoVݏIEWSwZ<0aa5,z)0AhM$A6lҷwHLPCo.}<'f6jRa 'T7[q^;o~Хi{>i%IsmG>9z۝G*~ __!]Uu][m%^[ohbW}Z? Ҫ/\2o7LU*KhuAiED-wՇ-|aP:Z_ﶻjշ__qZ7{/觗E?_/gZ-]tVմi-XVoV=^ $/W$+{}R9wpj":B iTD؆ F0li /uwҿ^ojVt ,2:lGa7 D)a0 ! +C +  {  ( a 0B"؏5_i m#Oִ8G8Tؕ'6y aDDguޖEi-mZ ,Q >(Á +T8D"""""""#*k bJ %{iZJ$a aE&2py*Јzj( ؠ9HݱA4bL*bR !qkTA{0P`_몴Z_ib +P0_hW<'P#6D-4O&7rmhPfDtb)@e#"8tGPVDt! Wqz[zW73YDB K":}<ʿ;hϣDh.LΆ$)"1D6C0G:6gkgAL&œq#"%<"sg^ֹ0Fl2vi6IDCLPnvG5xt{=ym;-zf9\~ZE&a"-ˑ0 b #XhGƅ!~;L4ۿ~WkqKm_:<c9gGJFc8!m3cIٿ8A7tiGOI7cVb׭J nE}i^ 'kt^ڽZ;m^õwzָz׫}Zc_G߿}zgaۺBCZa汷]^__PomZGQnK'νѿowTumSiv۳9{S]?f?q>q[kW^l5m~[dLպV_F׮ug[DuVͦ +.1Y"iC+#29R8 Gԏm㮾^_}zN߯a;W鰐b$ uv0LJv]ba1SBaB@_z7Wjk}߫i $bS!laL ܡ a8""""*""""""";J3[kmlW ꪒlA"90fqxg9"-i)'ۥWC" 12AL4 <*=80GZo]s,%š U +x #Y+l n|&x ޓi; %푿 fтI(0B 56t~WA7՞)6vG9"hYJO4s(D} [ aA0G>Jlz'w}_׼3MG fƦLGP!E$ T=OVvI!޿#ބ}>ޭ hO 5haFenUᶏ}]'j[k_c>MճNn7.)6] W PPs_#qHz$@O~K#5VVޡc9V'%_[|7iS׾:XmA(qd]{]~[_I+ ׫.Z#}Ҷj/OᇠIs#zMR_Ӷ}}[Kzo][_}z׶HZIiXF^>v %iYcM8I8a&!H6 II']%A}ik#8kA"$i^ 1LqLEa )1ApiGLc' D|ނVXkwnM"a6%;AH(":a((cp[?iV[":TMA`aQCLDXB"""؈ֈ%ti]mI$@8Z 21"(;aDDDDDeSAm`n0PDtR+`ة1A$(1B, A%DDgdu֓2`aB;S- +[0-e%=K #m62* #tIT,,":['W]#=ܔ#=!A}~wJrŐ$D"Z4>MӯIf՟F.dtrL#CL2At]dm-dmuGk~wDD:ʴ}":32 40P Dx(,C@B"#BF">hJ F6"/A"$6GRx0FGowG5ivi٧@s7P&٦ E :F9$<4(Ft| P|rciL8AӿյڿWI&Țɢ"&]e̠0 GDs#T#(H8h4@A:M_wWzJ( R;^W&PyS GQ0bPńh (NlpfN{hJz\3W&oWT?J_W\GEL"H0 6#`Dt_ G^8MG塞$m[uXa7G I n dF}j^1Gpzރh'[շ߽zUDAs޺#oXJ2>^u^s?뫯|7D2ikW^Hݼ5'~ئ)rֵh/J{[oKJ/9m?_?W򝗛 4۴ 6_v:8S_[~~{K :~}u f/_ tMwէh+Z#WdM~Ți/agPkO>&A5a X0 !LdcDpl#̍AWrBo޻߮#ͫ lS.UolBb%E6ebB DRPB""Xt_Uj.uֻn`Ń.ح P`# DFDDDDDDa6nu[i[y#+~LA2#>L&ta0DG 0յdcm],h80N aa#c!I &"B#%aT&!MlTS2 +*в""",TDu „G@ʰ@"".""""#B)$-UqJ$IiKicՆGA(U,h:#dBk5J3Z]XĎFoH߱0$uMCL"uG'ɰ2gAD ]2c    +endstream +endobj +47 0 obj +28940 +endobj +48 0 obj +<< +/Type /Page +/Parent 1 0 R +/Resources 49 0 R +/Contents 50 0 R +/MediaBox [0 0 613 792] +>> +endobj +49 0 obj +<< +/ProcSet [/PDF /ImageB] +/XObject << /Img10 51 0 R >> +>> +endobj +50 0 obj +<< +/Length 28 +>> +stream +613 0 0 792 0 0 cm +/Img10 Do +endstream +endobj +51 0 obj +<< +/Type /XObject +/Subtype /Image +/Name /Img10 +/Filter /CCITTFaxDecode +/DecodeParms << /K -1 /Columns 1704 /Rows 2200 >> +/Width 1704 +/Height 2200 +/BitsPerComponent 1 +/ColorSpace /DeviceGray +/Length 52 0 R +>> +stream +M8evPc<aTa _F)~ +A1B* +9<,""=Xt&SJ Pdw)`^#TcH*~SKh@~~ XAA|Qt7ǔC")JA>D":!X)! G4!_4DuGSKKM<M.?ђSFjz[Ԯѐ-d|ֈUol)N 9Nfy)L'dUв@Cߠp3 S+RCC+7ohm![}mD~Dt~ӤD{8Z-u MM#"?] amk^O /ҊPy[^sH=wBatG_\Riʊws6#wk~{mo?}^o{{x/Io?>m%H+uxz:}}x2='HGRWG6C6+"S +>?ӆH4o#:#M"128di×dt}D|"莋tG:#>G";#hGtGDtG"<]E|"&TG>Gx""""F8A"""""@!rP3I""""&#$ 1#tG莈GG6e:#>GEB.t^"#"#)AAA8"""""#DDH(B\PKEFh"""CWb\35IGq#[CK\hhq[`e^UPSL"=;#CAPVe`,d`ϖ(SLO2A&Nk5yڍNQ +q":MӺ]§ѼS#[K[Woz3KWxKteUx- z4CHLbIiZ<XCG#@hCG0 igA]&A K~f{fNv*JAyH:G"ߤ 0.DAB#xn(D4GJo |3D"3ΩV?o&;Dt?MF(v4#Ca31pA 5? ДfD|Ng sy)3fh^aF!$k^m&ƛH6 8 m&^=J9'wETw > (M0PAH r +g#A# pgzQZKGUMnxZMPML yF |a.k$ l#]t!-.1|d| ooo^D-+O(p &Dt'nS78^WGL:r ODr2}}Ԏ.#At|o1Aij[s"~0cD}{>?>##_B,.ZKW}>}-">0D#"G]nJ"_WW^_aZM__HKyZ Afk_-m.6Ro լkqc k-7؅@hҵm}#":^n!8i.M ACAV8jTL">P3Z=8Dt=r)""""""""""+HEֵiw9p,{SFico}&; ׄGPi8q}}--#k_ޗޗnڴIWm=ݠZ}GT8 9NPKI"0JMZUUT+ZAeh,WiPM,$ +lR@*">X|Vi)q}Nn%Ms &ɸJz[i-[􈢯^-%Ix/@T\=x+j`V<)0G2:|Dh/}+%/xT+A*].]i6KZmZXA/0ajj\xJ\4 fSPi_pA늲CG[)nW#PLW5D}|׮S!`(.߮3пWS~<":LjmCvX(p2:ݿWe%|_\%j@Aa.\z.VG")fEgFhN##Fvr+ 򮏐{#rC#5;4{h40A j"& 4B F ʂc/JDfKtWc[A7i6t8ڤ|hr$|a+aG#[$gAȂ4Jb5 #NI#h JDH_}wvhN)Z 0 Ǧ P h| t#= #UL(&_㤛ӡ]ﰝ]+w4{ +>#GA^ϧg*?^_ᾌ_z +BnxŚwI[(r"M^=}|k H|?]Kߍz__":N~_iIۧ_ak{_":~E?>{oP/?M_wz}zVsaN՞W}[m_8Du 4 $#C #jbD};IGծ-W |":A]G*?":(rGe:b20D}a5(v8bh=ALC#ɫdz U kn׺]Ƕtv}xneDAe8Dta3gHzoL[am4 `XXlpDt_L򴐈4];6WB ʈ9W!!kCD}r A4LGymDDDDDDFED10B,O Xb?DDDDDDDDzNk=\0Kz޾}o~|7۫wo}&[~Mq~ 7xm{C}}2Գ #e ;# b7/FgLrr|9TvWHDx*PJȮV0 +c "/QcrsC[Ñ÷")04 8"!!d' HL0BLDL#" 0D"=2RJ#L\"B@@GA2<a( I +o0 0 o0a a&6  } 0 4 |$i t a6A 6qAI Po +h-am0„mm&T}A[H$ }[ Z6:J"=z M 7MW}&aT n$㤮BJtm6tH&ba[]ƭi]$z M+JV&Ъi6:m&մml:i=pD}&^65Zm'om''Mԗm/u]k+uM[T_դ%~uRtuj]X_U^nY(UҴ~zWЯpGtK-+KmǽWUPK_ץKoWւ}<pw[o8o4#_ +ȎX=ǻA9j(~z֗{u_O߯i[?t\5Gz5ïKn}D)K .u;6:^H`q @c]D|_ KėC x~ Vڔqmݥ R/= %o}Gi|}^/":ּ-au_G}{u_]t#zvo_D{{~%һo֕T[i:Qz[V֓սozO[KT{K?m[KIK6zVIJKum&TӤJi6 m&鴮VҴIÄitnKJ:Ul$MŶVm[II-L4m۔6i6IMIaV P6al4L0i0i%a1mL4°i%aa8N$h(a 0 AA">I(l h A1a #aa 0J`,0 0# $8PB @B0l A$+ A +W "96G@%C `&8A"9b #$#c 0`!(r:IDJ@&1‰.]BPD!+ !dH+RY]@l`"p쏈d2r(sDA""N d"2 ނCR) l2QSF24QѢءBjMP2ȿB #BU +%;^":TWOJ&1J^J +pפ"#>#Ƿ_GOKpD^kp<i2s4D6HZyţFr;Ԏ2 &93"/'lS 7' ;;KKҴƏ8f%@ #DuvP@CGv^0#<0#0g G{7B4DL%ȒxtaMuꛄovPBޒ:I٦|E3P 4ij VcTGU L*0'<aG)($EԌs?#yH;/e8TG_k}Ia 7]= 0A=h#CGp-{#c}_[_OpP#kZCK(/[/{_9E_T?v+Z'ߺv_DuҺH+΢iqMGP]B#|K}_Dm}w{#}F N*?\ZV[s_h=oxkaּ":ح}~twGZkf{K":졯yZcDu.kj ML a0*D|GPb zFDu#aaR?Ubب]' DN0N ":Jp2;kLj+B#eQ' 'yM^˫=TG[j"iDiAy vcb!ȓv2:aDuv#Dua$k9޴Ү""iepAaNP2pqjظp`A + 8p 2AA4hLSD|&GJ)kE!"" ! ʄ ((p(Dq8"0x`~"S4:a̎o\pʛDDDDDDDDDDDDDDpa0eaGKHDDG%}-+ZxP` b/gX?hKu<%̋d- B•ˣDK*]T%\Mbڮ:UJ)V!hpo;ʮ0USX~* Z(p+1..z_Ҏ?n~8 +[~U4mza}S͑:4">D4F GDF-IjD*=G4a(A0PT„….0$z<'l#dKk#kMIӻ4wa &Mv8j=":F~0ChJa6d|3~(FY _]qwTKޮ:JMiҔ8A9tANrGSsG?e[G݄h#GƄ0 0@ &`P xR:D[%쏄E\0d7Nԡ佑#E[ 4i;6TGSVR +{mp͑#;!hPpbM5 PC #!a(fDɉ0 qb޶߿iҵzum]ۥr*'IÆoV&ټJ^0 t~ؕ #\.ʎ":Xd~ܡYꮿj-W[c}G ":ޝGO^I٨^^PA_u\":DqHKIc|->iomXVFG]m}}_{utz;~ւ#1AX_{ X/G_zm[Kcow:^,xK0 #݇_YW#GLVtUo#ٮ۽U9ఈAo_IޟqB#yGg[?[|,*N\[A 7km)A݄OA* ZLqaii0am|oi[@ (~1*8Aᄛ:;AAHV +6sݞ^":{/d4TDDDDDDhDX,0B"B Pd*!8LiH4 &#"8VhYG ahL7BJ~#DC6` j5 qnh44TDDDDDDDDDDDD2c URx + ~x">:D6(Anv.t1DgC҈2b23QHRl5S+DLoGH$LeW<":Pstu|DtȨ,I "iGKp߈maIgiHE\̅U2:GVGH.fdQDt#y>~7fhHd"R1tY^MSX>GXx (!hX ¨ &0̺D@f0@"jIlydnRC4Fq3_K25QCiA34m9pfA%@8a{ ": E + B"`jR8)r',fu0ff"zFHRn)b' pA鴝: pM r˙ī)FpGxPAj!dw $G<2r " d{'\(d +4FD%;}tؠm4GM%F m'GL>xklJ":m9C:C6Q"?U 8aL"%4D]%ȜS8#nj/ǘS8@`iÜp(#9<pA h":GW]?pǥzw%GZ'&wӤN2 v! o2*a7&G+vr~h BPk:~pozt5@VwT¿S[O_?o__G_oU_Q|z>GW~p @Duۏa<G_GK9k>Q8Du _HS7_ƿ_ǽW_߯("0o[A>o:|Z?Zy[P_n{GW ,>+GVxDu>c}ՄG݂*~{iZy{gm{Fi/swد/ׯ\u;%Q!lpdsAP4M!5L #UGDq]G$L"iK_izM  kGTn!})00#0#"?h;4aGP@_o;S<.׿UGB""""""" X& +q#ĨB@p0h6AQ*mviS mGPmG\":׿ (p8Dt}. +BM#G1pH6(6 'F88Ds@GA(D~쏱JS:#OH8b"""""!" #b &!8k~5<^$,& v88iCHC!DDDDDDDDG 0FQ@&S#"""""?K #KR"n&HF1P‰fM ;%92D-B +)nv5ܪGAB +*:MGAB;xG^NTD|鰈U'p>?FZpEJ{pQܷ_J;KSαNG5"臔,;NSDuJ8¨T ‹!` +\5Nd8DtGͳ응DeeUmfǣfY(J">߈ ٞlZ܎25#(GCd!K\idK~[5)BiMAO|ʶiGixk(vC0G@Ds#aat%L95ǣrѶHe=#h.] Du@uouOOݚamECYīaBJf0Ds#CPL"%">` ?#AӒPRpdi#ك$50?א,ԯaG.m#ꗎtGK_XQn,B 61+zA7#93F] {DC=A+EТ:C/Zj!łhZń!#`_")DQ/7Sj;G[:W= +$ ڵZOdy|%crB79.|~CiGgg:߰@q#a/(T)Tu6ㄛ𓻴vZu#qvۧ]Gյo}_K +{ZG__}ҸK|#)]Dazkڏ]v+v4C`~j7x{Io"o [ߢ 'v@P߅axn~[o}0#mIx(B#7^_}6"M[^PDu_xDu>]Rا?k-h6), Dv!lB#tl4莘Dvը Vkݢ:9[GIȄGPNi_ACv8"0R22c#T.9&G6 )]Gdsb |0)ʴGAGDutGM~߷uiq#ϯ#pdu/~+; QDDDDDDe`vlة0a!4Bi' ]&HXEvmSGQoi_WDuDug<B# BPba #M22V-GG.莰#E0qhvElD~YuDuI v^r""""""#:D +HSPDz= n GOXM a ЃcXA lB 0Ii+]mDDDDDDDDFE"""B3@<&N +8GCC?%IA~k .ڪب@Ƣ)(Dtea¦QaIj"#kfbp":.DtGEA㐃qxr8(#8.G2;#9dqG#>GDtf"""""""""""""""m!5"t_.2#G&*(Beֈ莁 +G!0!G9qC"%""Arr$D] yˢ9ټїDq|ّtGDvGfn<"" +hA9XSq)ʵ;w!8q97=GC""mFhg3h#h/E.Fyt_#tGˇ#<^#<^#|G#8!pwiH(ۮ".@ \C҈<e4d׌5\Kbhu>2|HMJ#"$%\C7#08G@%ޕvA3"CLS.#tl}GC'F1'^f Ҕ"M RGwKta7JqCtB8&":Aa!jDx`## ƘL`-nf*e s":S2?H6:OU]%)itU)*;B; 0P&M"4m #wѱ.q Pty/OBZ^8,$c^ZM$Kr*/L١-tM pWU/:{B#[].+*J +ᮿ.GQ4Mw@_m_CIWB-WDuiD{վ^_؄[ҭja.U7OWMwr+J +#$" ť}$%B%໮޿[r:j*#%PGR: & pAEP|~ Odžw*ʽ +abkO[pNxb+]F8^*|PcG֑_rlr6f.Dg&5 1֔d,#hZCjhAG(GHf$>M:N=%V#B8#@!(r#t;`'Ek^q44־&kwcq)Z#oJ}k" DHZJWbG Wuu*^:VTޤnJqE~5$6!z DuD⎉?3":lJ> zQ"?K" D}W#'U#"QCaaaH4GA Drg$G]XDDA"/a8 vAa4 vcyi)"""&ZOHpEe4ڏ&eF$Q;#Ԉ>hԌfPMQIXdp<᠎2>^#v^#tpˢ9F"""""T!Fh>jD6xx#yN*Ô98X nP3p@X ""@+BA 9r.DDDDDDDDDDDH3";$ GD|x8x/x/Dx6"tS<_.R"tUF莍",!ᠸ40Gx]>_H)q&tjGt_0F#/9ˑ̾G"쎌TDDDDDU̧;r8089;'r DD9 A<2R:#LjH>G/Dr#8HrrsF9ܱ9r9D8"PDD"8qȣ<1"RDDDDDDDDDDDDDehRJ9,rr """"""2J^2JQR."9M%(4M-QZd޴J*-;VG(vnF hFEȺ+,":Å|:B~>Dt#c]};>9UGC2/ADuDuc8gb#ٝfj\GGB'E!}q#~5֯/[V":Rq4ڰ٣=B#GƓ:E^f?P&=f>#>Q82#CPak0ABѝa63<}!s_#u#PE;\ k}z8%AJ$=:t&6'A;(r؂#  mpGk+#w~}|ymq":=zQ+I<":Ҵc j-{Du_K}{_U _QZkۨ\":"?c[ [}Dt/ k,zO ZW8uZOֳPRc_8 ؅O_"f%?־_oDtB#_k9{~>Dt_G*A{[xDu}دDu33_tZG_j=Z~Dty}ꮁ_z v@~V!`-,zW' +Ds#KhIuw":׍xDuDtZMT 4GD[H4}>j DuÄGQpGI##E+":xH6pax $9؃#3|0E=Bp(Ham.?Du":#, J` !B%Tw4! f;5-訄hG#,at2h)4#3!9 ι (^vaڢ:ֈ_G[)x֗!&C+`lʘA٨na.U@0Ѭ\#G<;G +)q"\ 30g0ϲto0_5|b!cHRzHp# -Lφ#Pꂡ "P@C*p"\Ds +] |e;?\~"/}U:~x|C#DuKmƇJҷl#':>0 0f{hq#[ѝDrG@j㰱 D|RP##_GRGo8B}-뽡N'I6ץl!MinUm~!1*4 +1@ !#o5_<":ЎEj|":Z&\8: owGB򮕿F6ieIV >:PX83EǪ?餡ZZj?A":G#Gg":EwQk6k= 7/v^ h +Ziu#>v,>>"?Z<U~~w.h\RbvG_@-kkTAH":KV":Ah-lG]v괸]Dt#DuS׺":wDtGZpWp߆">sG땣!77_ ":WG_#qoG[kk=SM0F aGnGc8V*V*M]]i#Fl-I"?v}-ǭw_VCs>ޞsLb""""""CDtAihadN dq l #Dq9ßO݇": +fU|>#0B"&E:eڮq!B Ð+@ؠhA\R#DuDtWXaOa":nDtDuDDDDDE AD GDtX">C PᦰЇ$bs I8"7E" PD}Ӵ\~Նc^68*yAh'0qo Ds@؄0092D#)'8$=]'&C^B_A־ AH4#bC0#gEZimG)M-/-e.LP(S!%w%)tD :j&4Fj ++{m*"?Uګ ;c]>F/2:qJT_s B6B8!o_"X";4PAR8 ЌGFHyGN#YDuPhJħīhGU55a8"PRN<Ѝd?!֕ +PE-O Nő%Q65ðI xf;J3hhA +|E#6g GtGF՛Α ז_k^G^B[ӅA%o^AGZ7NrGZ=pLm#GDt dtpar9fB׌W___}}|7?=i!a$m$u*=A2:#o8?_ tLDu Wߊނ:kJRwȣ=8B^U?eT__N\>ƻMkxI6G[no_G[n}k{wn2ʨ^momX}DtoG/GN7o횋ЭZ# ׿߹6jf+[7\=#C1#^YL8k":-_oXDtm>m: /[cd4Dr#h4v} GN]ZIGMǧM{ggG4m#i_•p rڝD}BG;A/wDz!IaSҲG쎡":>8Dt",""6"""""""""" HG@bƛ!0$6QǬ5gi'kaHuXJg<؈#0VGDtA8:.J?PLM%aʺ\FDDDDDDDDEªq”1 +)IH6*1,DtɎ$XDu B ""J : + .@ b%SKKM-/M-(iiFSKJ2ZQ2ZQҌe4 9M,(e4Z%jM gdڄcEq:W/zRWTx`rx )6ꭄaN|8#Xl _l":x"?'GJ.96ɚ5S0gSz(z0SOp:!`G ~=fCfJ`0g*ؕmbUha#CpAGJz#3gQ#qO"::FNNIv_r !3m@d=5!jH([5 !?3nԇ!Gk$%*װ@[t>к_A;hb|ppAhѣ# ‚`D00@‚ !aB"rS".?PCGTGI/k@GLŠ":kji tAw{ͳ9sÞ BSNGƍ~%;G8G@FXa>#?{]F] *_?]l0PZa%uo6i6-P &ٹ_^7W޷G_iDu|4=]PDn)KaPNu|W-U}~#_݊|.Pj_W.Ä*_>]P?h^LG uU#?^|_֨WD`HDyg_PD|Z[ZDu@_۸Dt4~75]x"?p҄GTS{G^~_+Z_ohME#GL B;N-X4K{8KG^]}W&ak1Pq ;Nh982>>`>#Ai1UDt_G\":#oF_qvB&+(C@jPXU\P<0Іla8"L>Dm~Aݯg"?DDDDDDDDqA8`v L`Ma4Aah XiZXADtJ0":Pʴ\":XDxtkPlEpS!B""!#b +D lAb A a +#PDx!h0 HhlT":Gi VM@ AxLBb(a!,6DQ]Mi-_`fJN9]iR4q P/6h#iZu׈8A DwV"#)M,M,,,~t4\ 6%4ɰ^M5.3L<# C]BGM .(A^ܡψ#Ohi +\Sj^azխo2>G] :8޿Q ǖ pEzP_[#_G_p"::D~iqDt":I; . kH{0qXXDDDDXBbP9Ӎz4}xm!PflB -ANiA">.GTGhZp#A\]jDu!qA"(pnEq4,3.B G6NBІ A)B*F8pDt@uoIRDE|DDDDE"!b #MI%HGY""""WA^֛*q +Є:Cvl I"Dr7&# +W2_ T;I->6];h|aɸL.Apz׈4oF@=.ޯۄGKZJ":JDutq(Ў_tGQԿRDuXDt-kZJ%A:GT"KװXH6I6!#0IGWGPn":a"?+ {mq}?ݯDug S&I<5qHZq +X`0AZEaT#(Wm:>k뿼A+"$ba8`f;=^䮂# ߶{տmqDt#tm־fg(5vTHa m(!ڴG4GH~4s 7PGY]p莁 „GA P`[4a:ب -0u +ah">R-""""2 (pC1QWaSD5 ä)k }"""""""""""""%pUbYGWTtK0i]TaRliqǔ“eDv[PzyAnչ JWous#U_nAБQ + >a%"JAɶ}Sy:ԡ}Q4KG +C +\i8FDɡffL2:ԫ"]P78G(F D{Gl&.0 xtG0 2|uZwV)>":tRa )AGE0 +mGxc#ȎCM?m.=!G[}yxPٕS@Ea8 +f AL +\2|q*Na~zUUtmRuA;6xD|+~_zGCo":m/}zh>91oM؈o_]{#']~wW}_GD}P":Y!Du2X߶":/_}oWi{׺Tu?,Kuj +AtGI~G[VglOUrGV #-U5B‚ ]oDUh.V뤺MHM dtcaqI]Qaޕ=٩3KNsA8I\MIU-[:I$":">@0u)ã#3(z҃BRSQUM{_-U5媦c^*SDSD9d8 +RGcC<(Q0*¤KKHtIt +ZT.KHTRa_KxHz!}N7zJ5iVZ@#U%lTtt #I}-P">4"9RT 4 -QEE#lE x7^TQ]%tWI*F +TM]Zb"> +endobj +54 0 obj +<< +/ProcSet [/PDF /ImageB] +/XObject << /Img11 56 0 R >> +>> +endobj +55 0 obj +<< +/Length 28 +>> +stream +613 0 0 792 0 0 cm +/Img11 Do +endstream +endobj +56 0 obj +<< +/Type /XObject +/Subtype /Image +/Name /Img11 +/Filter /CCITTFaxDecode +/DecodeParms << /K -1 /Columns 1704 /Rows 2200 >> +/Width 1704 +/Height 2200 +/BitsPerComponent 1 +/ColorSpace /DeviceGray +/Length 57 0 R +>> +stream +NQN"tL#_3hd{?;{T:opD}oo__R~7zC{?Z፯c""""""""#]Wt /p4mD#Q H3)r#tGdqH؇DGEфGFf2GGj """""$2@(HsPw* 9*2<72#8##HD-F DtGFq#3D|)|G` ;Dt]0DDDDDDDDDDDDDDD".菓09":Dp#ЈZ#2dDq1XXPMNTKҤBK޵KTlT  ]*hPKt-kZzK!@)~rC$""Kz%WA${Ikuo U?@ *#;ABqau\ǝ8DuulA/jF kh":kzת.""?QGVғjKDi+,g*@ɺK{v܁#G@;q+|":{m+AdrIM PDDDG깏uu,Nϑ(]6NR;a%,vAidj#Ǖ$|`Amwpm8brSWX"ϤL-z\2Ix[nB?ߢ In(}*cW!K_T Ф c!hGET)B%#K3y ?f#F6SGUΗQdzL6~dX^Dsh-Ʃ>3‚ faB ‚a @ *xNGd8 3DMId&GG2A2n0F5%GFJ=MX6Rc73oF=MD͍ 4ɏ_I׌ |CL*ai60n[ҴPסv6mim +[9N +z ߷۽p5[(GO;﶐~>O~޽kP#0&AoE+ݯ_~=oow_ޟDA_}q@":wa4ӠD}}}>u"?T9AaxzG_]:nj]Xi}mo]$]9ừH4Z m| z]ߐZl?kyc[tJyQ_}a]n_%_պ[^-/$zGzճpV}#moU}7nաݪ}o_{gacb"`j4i؊iiAPr;(tM4!Bi 6GAn z %i6N1pauA +J-* [d,g8Du*u) ˵8PU8 RUjN;h8b""""""86~SG0#MJI.MA iUU&$DRQֿo +?(;uB JԮ>~ +[S"'D|dA9Nܪ +"[񧋋#MAn`jk޿Au.[㎗x-V!_Dnqb1B#H#l0lQ 5mh#DtDhG.d5>ct2tm\$*+GHPFx <=0m츣s|vqƍlG_ħFvF|a Qa F lء0Ca֓pMq0m}qI5mCNAwImF< 7aN#F0k}_n+]/'W^ A+H#:_~'z`EI٢Zǯj?㮕P~"z?U8P炭m_a{?  !a_x{ h~}} /{pwwmXoE7_-oTG_7~P5o>_L; ԡvDZD{&bor]{r8׿Kz4ߠNwp}_myiwTjvR{ iW|ݮv# muG7A#6**GbM"Xih0M`dž( $09dq;#.+i]4"?h4VjOTRv0pL:tGPEv">":@ +FP|àa0q:l1 )0UA0Na6**2Yq ~0baQCDDDDDDDDDDDFec)e lYH eWvkɺ,ҼDF_ mS[UXATkq0H":ð!BlB(rp +"?]U 3$ +zB STQv,L D|'2TE"j{D#ޭD~;_{T|z_ZM~?iqi""=CKjyJkM~vB,Dt*~!Db.qMb9#GfO2N/9J~.D!DaL8mLDLr("0L3y3<ƈLGG̃dmODzp g S +AVC +„#CCC a#PȡxEX;G`A +B0E!`5Md0—"0TEdValL8ݤ{Ry&5GgM8pgOޓs/I|pO74prh'cfB ٨k 6QHBPM$<ǽ+6ޗut,oZߏPnCM*[i=lKh^&; ꗑڿk_O_HO_B_W*_M־>OM/Џ[PczU KCW{׺~>Ŋ_uO8_IU.úz_}~^}_/+ D GVߵ\}_ ^_Fu-hAh/o/:'um]_A=H/_wS"v}vK}_Wk_[^Ն +my7{A +{#8e":tmx`5 Nm%a GV1vTƷ#Ӷ_OMtġaQ0 lPA8 NV%@"?*_ؒ "?  IDtȈA 8DtC`쎤x)l8lPAݰIJ4X"?5VᾛWIuy}&^Gƿ?z*CKC^8 0}?!4#[k>}sdkoo_*߅/ =x D Zk,zSãG{o]w B:kF%a_kD8O}0G.-.AOm>ۭ^U&_ۄG]<~h">~#Koa1{k #6}{L4✏E BA$G`Tԇ4ӈA@CuG@CA -BCM;Xdu"+#,' a>#vm1LJ00փAi' Xw)SG\q^UaDuGw / 3eń 2qOA)pJ8A8lp ӷQf؆"""" Ra< `S!2G`j"3DDDDDDDDDiz֓] נ Ԏa.p`DC8C#)7 +[Ecd蒴S" D80V.zn~ AWK#R ĬE!vY?;BH{ 6-Zʃ7 Fisd%ȟLb8Ff.d(AOAd|4G2r:yS4yDum&d`„D@"D& Fkj/#CLT#0 BAA<&@B0b 1# h0apLg)(t@+%t_4nHc@3L{׹P6ZahGHG"=a~7ӥii~ˠBӤL/iwI7-נ]oIU%ߧKG㶕ֽ" on-E+^фG#נ;"=Q"""*KWպ:":aܭv1C/ZrS"?%_K7uD]qK_r{m[ _ m$$}*o }'I+Hnz_~xDtY$cT5^P2~co#/5m*5h,a-B!yj˯ow}u_k{>Wޭ$xD}/GDTh8^IUVa&=6_o@ ߰GPMG{sGVTlb*cAQQLB ؃AӐ0MXAb GW +:T[_A1OR(rb@J@˜pAʇ(pDt7GRRlT t *2c +0 +Hx|DD[""""""",Dg! gb;<ť)_+a!U^+";Dž,gdoyVCPgiiGF@{Ye!;M̔z0aa信a|FqZ+K󵥝/ߒ迾RD4:7)B(GDs lO0 N">yq>G\~!Fc>|!3d͝ tQ.F"RT%W6 Dt a +a`D",",0<&gBa="ݠD} BaHf a )`HEX a.GD.d`p a.lfȑ2A3fxH^iװ^Gè,pD}QܧhGHNѡ60 _@ܼƏr>6 6t|-Xmܛw%;Gǣ!aFx@8v[ a2 +rA6= 8q 7z`IA>KizUt0-]6sQ6M8Mp0n 4]'f4:H:AadqQ8m tCCֻ.Ve$v?j)uww_ >{5I١ay][}#(﮾?B)wq/Hr88qƕzk>WGQҕߝE]_n{_?ޗUXK}Z߯?aG8z7/Du {V~ow#Gqv, fKu_+ A[l8_Ԫ_MMwt홪NY!;h/m{[?YVOM߯?n,P0/O_g4A.lW&د'!-~/[i0I6m3/v dtqlTÆ rv)4F8q ++h&A)40( ؄lPM +GLlplpiAl nAqA H#wqj\a0j5N!P}0pDaJ":0T8! A!A/]ui}w_u׺ZK@i6a]홯A /_]}k|ߥJkuvaմcAFisu[ohu.ӆN)BcJv)9du $ $E±R8  0S -4&c#p}Gة (h$i6"=+"pduGI]AU,$~KMČpi 1l& PM=2n6!IKt&A_,uR1kLE0a=aGl F8":&& LB  b[(p8!3C`2A3mDDDDDDDDDDDC"3,C"B5 +Pq#A2n""#E!GDDGG\DtGHPDzFcI)gH Vev+DIh&v +)ȏ!Hv%Hd?GsODtD":G^ +S#m h}|uH%z DuGޒUT~=" !&#}WI+DY_UdaL2B9#ٞ]?Fo"3tFqs'2(#fg/#d.AH\$GY)90JZy#Nd̬>Q˯FB#6"浮Na0LFGAh +0 aBhX@;BX)0*G"FapBGL(L!"[ g +UAR3džHz'7!DuAM>fiG ~Ĩnwf9 AAMtklACufN8Fta8@ݨ:?4{Ə|rGVmh{#h|Z40t&j +FJ.kl'ҿa6VU]ONk >:M:N;׻64:N& `GM,ώ?zm$VU]}slO[gWyB#aVZ{fk +ak1QwGJ˯&6>[ ,]":Uuo H0drG؄M6)4A"aA (ئ%<'HZ 8";blr +%ئp0LN80 61LM: ! "?!yc##IMlUu LBp!"P(Dtg": (Du 8j?B^dȼ *Gpj;HvgzP<3RAT&oGGe=[C/>\78W_}|__,O*K)IW%"B#K:"3^o:dfCGDG4F3a?'"|yZFiHGwD34gvafthd +'#iHuD5D+E:6_;(gѸ԰H0;#"\`#D_Xl'P #D[jLa(B(C0A +.,& D@AaQ9f  DK"q +ᓍ2":5?U_]<8P8"oB~]x_mUu""?{[Yެ4np5}B>_Uݸ_\[\ jU,tׯ50 A{vP.6/|U_~gg}Z~~_v޿]{n+}3~Ijރ i|=a-~ﻢ:Ozg;m{ZIi' ikg;N3 bTSݱa 0lS)(Du*!‚# 1AduN h jbTPpLTa4aD$.(1IMM6K!+N4B"" DDDD׈AC"2PD~G0JwքDFm %#^XWW AK:RXM!d'f3%Fdb2 +;9b sNR; +oGSBTWDt`kש"P\NDNj5'D<D.#1h)y!vGj3dpb#ѸNfqh 3LFq #0FHFytVD&qdmN" dRN0H<"%PAB@*@ &GBhX&";# q¨ a "D#Ԏ0P"GAT„PjKljK +3dNABtxFQ=A4kqh|m C&khq*Ĩaܜ-ḿp40 g-FˇG.tn]5 hz5'g{%Мvc;8@ݩ+)StDtmˊ^xIlt4);4aBtm;4'Ii I;ZM6x/L-'3EA' A6x.~4xjN(T/q֟u8SMӴ;C^?C^քWu^__SC.k_nqoFoZpwo k~c߰~aG@7^m~Ҿo#e>/ دؿTװ^Duױ_ +<#]k땮|ῺKjKmvدW_+Z = igժ߷ﯷ_]-yuA>>Dt#_|}~g?mw{莛AtZvPccOliŠU_k֕alPt͢:bXAp؆n b%AsD} 1LAȣɒ M0H݄Dta"Ma$ AҤGV@h6$w lY 0z6\GIHB T#ei•TC 0ơl s( …*!)(pPpDX":]89V!.BVNM"6#ʘDDDDDDlTsTl*d'W/KK +Z%޵n_Il%JGPVA(p@xgg@+D~[qgs<κ|e\JYRJv!\|~B +A@^Ay, p"y[>D|\CDuJ;T}DcA+ ч&J>a6p TNT1PAx!Q8^Gy +E;5/H16hFO̗ԉ.莍l DU̝ 0BBX  #A' "8sN";'htfX 8"< ~A,t!;6#̆!D":'dBB#"?h? /ҡ!iABD &apA D":^"?PtXSqz }iWMzB9CuMu"~}5OAҍcD&9CJ%nB Ls[1蕾=$ǢN|Hz#i+yЭ]#D9O؊~L{&ttW(pLqzxVp#š@EBGΘ.3#az%nqjJqpD~+XuGqR pk鿮_LZf Vx"?^>#v`> +]|U&9'ܜx}B#|,ֈPTob8["=^ߍoEPG:DA.t#?e"?qGC#G8B[hc#@G\y.9?CAG}DCaEP^6!V=d_# %ON9Ap PHg/Gָ":C<|" H _/@":_du{FH=#acwPꁄG~PD0DuDp'2.Z_ߘp\_ z8\m'ݻ ~E|B#WWdQ^.~~ߧzU~}k/T϶;/^C_}umdq_,s^+?K}l4##D~X[ k>hO(^=Y [z_~~P("<XDuB`P9W~ +Dt߬P׵ïfq#>8Ջ"P fڔ=qȃbP'GP#GOau(pEWᑏ"}!GK28n{d|]w:\8- lV~u. rA\lndG^ķ !\DD7A$? D-i鄈d +a&.">#P0M| 0RO P&]a{MM|EdWaDDDDBhD[ CA!Ef>c#͈,ñ|'HD=R]pR꒮ZL0E%b+##1 ح2c + pA2 +@Dӣv>d4… +))pJ#%S%EW">XC:W;MV8 $G^#̢":ӵ4/ֿb#vŭ_5^ H"YR h_>G#20|afh2:=ffAN":?#h'2-˳$qDx`A8g#g04{@qJa(Z<lkhж T!aB,vcޘ^cBM}U*_ⶖK*%BN ;T #I١$'A:Msv dtGLώZtC +HcֻG-}zQ;Pv>{QI֛f|EIDED__z3pJq[Cu^?Q5+PaKB#[Dyg/[Hu>/9~}i?Vm_}Z_~_wqXg#߂_Y +v.;E޽G^?XFnE_8_rB'_olv_1 +݈XA~8@zv޿PUv}/_}>{6u+l߬0@kg}MݞWvJ $ߧ -#*vڱ[i)Imm GQ cb ؑ;":HEq0ȡ#UlMal0V|ZjVg?҆*( AR16* 1L 0 lq(pL|JqQ '2CxadOGL&! дCN)GL ]!04bA = & &A ؆lCb%b[ͩE`8"> ` (r( a0X2B"J 2"$B DaЋb"#(!C0w=e!C#&kSGՓbMcdE "#B"""8DD\"""""""""""""""")` KAIDDk$MtkUkAx%ֺ#[ ZV" *bІ +""?dDsU-)y8()nх%o+WGKZ2*Ĭ)\ +"k;WQDt 3O9V^?Ww;~д.o]oIs_W^_k3^qF|Va 8iY(ja&GPYe̠ѡAH3<(3<}GDt|#dtdf^9a{3*Ѵkh4Ef'_I. 0ła \Z<<&oMz<"<5 8aT*4 !TafABa~ )qT! @‘Sj,ٛ38fD#(YFPpSn-6rFA(sL'Yni7嗍'p N6h'nEs==0M 4HcthaH=5=T QlHC6T4GAO *G]u=:z/X%Ղiv%sS4߽6k˅Lַa0 NONXQmht8}?u{qnGjGk='/]/ںW^NsF7}[wukǏ8{}2_T?Q}|r?_G/cV?uvߊO}_׮_߻GՇ/oo /f6봿_/_ +/l.6IpF[O_[#Gتv*د\u+_[3#?v{fkO"[wcu+9D>8s޵-a_FE8Fz_,}z# (~CҪCpޫou+Zk+Z]N&^1SW{?}?o_z>ϯ]qJKO.ծjiDuݶPO"g[XDuN]_fV~{ű!7$Gx h0AA0b]L`˶F cba4?N8C_H46 xN &\ 4L&h#C a4C kGJ.҄Ge0c#8B8"?8VBaJ(pLL&1!)T!ş $ eX"!hE)CU +"?˵L8lR(rv2nCA|lJ lA""""""""""""""""""""џ""""4#6DDDDDDDF"DDDDDDDDDDDD0&CL6]v鴃 TDDE"""4Ki=J-UW/k }][IҴAU2 Э]҆0Tb!CDDD&vW23˙9vNd4PAPsIt|h ou(p +֙}ּi^"=uKF^h? ]a zyZt{]KP,B#ulXz ב[2A_\9 1 ""!Z 0b3i:OKKum&ұLp`(+l +Kq|jNd)9Eڕ##\PB>UN]~"72DT8p]EzDoϳv Fu~0B-Dt + b'o7>||P]R^< KTۮ;7C!8SVz*kg"D57F3Fyte:6h荣DP#DHFѦtѿ2'%1S G<03#p.F*A0AA„A` +0La0W|<34˿[ +":aFL7 ފn#Fq{p͑f=tGjmtI&;g/I愓~4_PT߻ +¦aa:M*$A0u鵺v\V髺o.j+*xPd~(Fm??[n}Gup_":B>/J/H~}ZH~Q#X AC.oO;އ]7ЈDuk}/X/]_/}mv,7ޗwT'/ N{uIQZUU/Qm?Ϧ/#g>g?L}+>yl="":[ac^)XT"8_nWcU %Z":GZ]KAi & TG=A{a2>a4h؃ &Dx! q :Gi(NM#` p9C>a`1 +_xiA!EaN8"=0.ԪP208Dt͉8R S(I2<:p 0ħ8q*""""""DDDDDDDFDlRlDDDFR?WKJJIB#*adsG8a-ge1B0쌦Bh)̼dWLJOHkB#jޚxe_;T${ 7]{.j`[?zuISVGpHD4VcDfd:<B8,# #  \r/ NGE<4˙9Dxy +b$A +0/# + ( D` +b axG͑G2)[dr'N(Dt4,#ù: #9?A aAdsG>QCb3r5GfÉV a~L4{m4 =mV%@sGF;PB„g A>,z mٰ7a$6psBmjRnI^tҶATzW ]\+f+IΜ Vlp;:A9pîBi=Oi?+z?ӫ)7T/;~ z/~:55_{k參u]׮}>׏:V}m9Vg;/_~TáG}a_/u]z_#}_1 SG {I7n:q?ן9.?OtDt_s5}~/'~'M0^k_>ag;~mg6׫ウ߷4A_G 0Mmdv696i؆A 4 h8(pq 2Pl$)8i1M&LmwDtUc N!:lJL$,1IQ +.JrJtGS]2D8h0EoҤGAX`lS1H8ia IAĘᆠ! """4"""""""4""",b"""""""""""""""""""""""""" A UDDDzJK iR` ?LFvQ0Zߍ __Fth h — +`忳54~Ĩ%oWqܡʊVi?W_կBSz}p>_i[G죶3{k7_#TA4D}6)*i(v!6hZap +PDvqG|DDDDDDDDDD[#4U4D$LDBr&(PPә +҅U;DBG-2U}#wzuZޏ_~?GK?JvEkI?^?_gV+H#\7c8h6E Ϣ:121vOϿ4,:j-9"vFqQ#yٌާOGo=;#B&;AB_͐D$hz4B0aA?gk=@a;gU| E1U0U<0Ph08¦ EvAgh04AhxFֹ*UW_GyH* KS% 0t-ERKI$oA_8/J y`C +.rE/g{g^wws[9*^s~*Z*F9Sk +`v##+"h~  b>6ҴmxqJ8P$*XJ*X8AؠdQ! 8AIA)i b N H6'@jAƛM6!(Ut1 +*i0%IB#`)H(pYC0}J!e +h""""""""!q5LT45G"""""#H#u xIU'p]n|! XKPDt!DDG!D^6.tvˢ B(Ѣ!:0G">]Ȏd|p#‘.#_./#|#tG#:##DpxHGDr#s3ͣ#ˣ4GE?Ј "A@""".""""""""""""""""""""8[ x9yYCPr)* +-(H*ʙEqS*.PK,S9Zr(-U9N~(悜(AA9PDw ʲ qd)—C0y8, < c#ÐAA9 PG"Dȃ9D2-i@rATr#c&8/`8IDtCG f +tlCr)9CAXGr<aSaVV9VV2phDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDG#h:#G]"H"""""""""?YAȒKGEF;!GtF +U +s Dd(H#|Ό  B<".:cbH7N]U#@T1PLPN NzTmvvN^?U[aKI߮Oa5QCү]{JiBc}znZ/^nfhCG\u@y膲&"k_JȁE.F̟0f̠NVpF + D`aaK`fC~f3$<l# T~4Ό12!_5Gvi,v;k^m$ XR + #yc0L- +D}F=;Fv/H& a'`lAmn[6zK=-$ E:@Ф'VzpnIvjRayx 5Ml4N+}:9dt]W +tZ]cI$z_tm]_*zz'"#KUiRJK鿮}q`o~ +^$޽ЏOB~k=wu4#k^k$$HDu~RKW[# m E/C# RA"uj ^5HůFׯtP_pC#T/zK7I$I.qR(ytڪ~^Si?_JVBL%m(Du_m/]u;NOUNӆAaP%Za\4 B#:%tՈ4\40#V*_#;̊8͢:$ DCFq"GPA"p3A^," 𕛈00Bʏ%CGGƼ3r>4xevnM=]si5 Il՚& ݤ +O- ۤ\z~}RoIqWª_`n+DyVOC{n[^]pÿ]_}_޷ok봿9m/anPkm qM/bة)pM;M1W1 +QA+ T4DtB"""""""""""# 0UWIҷ]pDSuzWI. o !CfON􊰑qtnoGۭJ`׊J'sMR]lDk_\%AIҤVz_tP tpj;Z Ax1LBADDB1nώA[JtWzoixmV#v_J\G I#dhRP+]V>M0=#TxMS#A Ds>-B e +,&bLƊL8O +,½Nu݈=h--0Ziv(":iaJEeQM~ԃe&_S +3m: #:#"b'Gd;&GGF .@x"PM I䎪]#Hė鍊IpKuK' WC}UƟKVIntүM}xI}8})H. ]]W/c]--qzU8IN& _jοm.ka-׊'D?nzImDav'C뻴R8"~[9x8N5 Qh6( Cm84";A4{^/*G@Xi":#>&{QQDDDDDuT҅d-hDQFb!GaF3D|x?E<:"=DUF1##لGEjDto.t}##9E>dTb'Fh#GDv DB8DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNЙr)Ѽ{>#hL.莈D0|tq)GtGDtG#tyDtqo:0]&\R:#GdvGDpb87# R8.G82aF2"DŽf>=h 5Pڅ0E4xFЏ  BL&CBg 2pl/n:5fA7/l ATo~Mh' +Ai6AMj@/IAE`t$ =$ݗѮD.AV=bA {=3f qGV{ZOC[n:I;Z oxNWiw^V +ФZO_JnWf =0A":#=_z"wzuƒ_O^TmUBO_iuJ9C__C~#_Tq=_:_O?^G-_Џֿ?B?".Guuw/_/^_ۯ^k_G7:_a^_0~{kڿZ/w'_^aV*pFEo\a{A믱P{_KZpTx@_ ؅ׂUnndtvOWpϮK_[ww_׳{gb9i]V+9{]]sISKU6N0ޛI{vҴئ<#ӆiN;{iGn4B:bWN $a;ZƛiN2a60bL&b HA݊ Aīih":E WNAaA.vD6MbT&C2 J88ħiph">h6!D0Gq 4"!"@D"!0B#DDDDDDDDDDDDDDDEDDDDֈEB(A"#(vlL& 0"""#ʞTQqIZԩ%i*KҸI+WZ ViX2$ C)H3 +erY +QXDP2YgaB -@L$-Q \->{2۟Qӽ!{O?o]?hD^e !%$wN'Z>F+]j_5=͕k)GE&K:#QiDc2|Cdn(d7dN"XU"<ʟM<j0#@>DypqPL! &BXM +q Ek{hXC0A>0(APx aȜg1+mG Y  xƂrZZ uq]zG{cGBϫ^G/T#"> ]nuw_6^MK/4+J4.ׯmUgCa_-^:]=#G#GάikOA}A6^Rց~-"k -} uE[mk.3G~rd5Z]~ۯU_@6kK[ _Jg~_g1ոAnڴ|׵V %mo[^n{ m6 Kwe>Us TC6!Ոi6ˢ? 0A Y"9C r&A r1A lPaiAA#@h4ӊbAH4 ;#")atDDD&\YNroL֬d)ڔ9CGSÕaPl(! 6 4"a00L!`U`GB !aB0y RGRPbՠiA""""4"""-!gb",Y_DDDDDDD0_}׏~~n};{r8ל?#^qkZ_#pM m/pKB_[^uv#G#FbFϲ@{ioׇb} ^/q#@}/m ) \BToְkKo?u[[_ۯCzo7KVw<:lKz/lvygz^#skuo߮ onKm-(aUnm`iw]jڭuOn@쎋: EiA6b JF@i#R ؄_" h2a-6p C B 21!@ӈa0E8!|U0`0IGWzQ"6PeV_#Hʄ́#k a2(10XL!:R@B 0ŕX! ! !C9_C +TX )S6C , Ra8] qGb""""""""""""""""""3De|DY^DDDDDDDE؈P-n h@#Z]-'KWkn_RVU][J65eILT292;"`.@ LTDDGHQ3̝PQq˜3EFQ]8R]R8 &GJ!WaVp0cCOuL'KeT/ҏc[n?b_'/7/VF9\{3v! n": 0ph:q44z"#_V9R-ITCGWGF~W_7#,6._:z HXgS(-[VjmN iSii_ۃI$i#[s**uIW7R^ Yity:P +$ y@@}P">_i -&M----pt*J $T2S,1 +""""8@@@ +endstream +endobj +57 0 obj +32696 +endobj +58 0 obj +<< +/Type /Page +/Parent 1 0 R +/Resources 59 0 R +/Contents 60 0 R +/MediaBox [0 0 613 792] +>> +endobj +59 0 obj +<< +/ProcSet [/PDF /ImageB] +/XObject << /Img12 61 0 R >> +>> +endobj +60 0 obj +<< +/Length 28 +>> +stream +613 0 0 792 0 0 cm +/Img12 Do +endstream +endobj +61 0 obj +<< +/Type /XObject +/Subtype /Image +/Name /Img12 +/Filter /CCITTFaxDecode +/DecodeParms << /K -1 /Columns 1704 /Rows 2200 >> +/Width 1704 +/Height 2200 +/BitsPerComponent 1 +/ColorSpace /DeviceGray +/Length 62 0 R +>> +stream +"0p{e^<Kzi+=`SNњuџ[hFSFǔѢSFѢSF9M(4hѢHG`HLNFudUGB:0)(`v@L=Zfh[ &1Ǡi4wM6P!g!_X=Z_#[hmP"i{ץqDzWDuJ KWַ{~kx++o)v+pDu8Z_W׺:oWZ]o~TQW:pߧnO}sw^vo~޿?k򿻖Gvi?{}Wk&8z9IճitK-\QkTh?Akv"""""""""""""">bzMD> +L8">LQѢ4р4GC,R(rBg0AaePԬ)"""'f#>GE:.DGDtGD|!>_$F2#Or(D""$Ð09 A-a9Nq9$9C9CsXa3VUeAC9E2+;)F˸A XI89,sBXw!DDDDDDDDDDDeqQ9R,&":00/Dpr8eĆX疂"""""""$"/$rDMHĠ#əM(H˳ +[AB̆"4ZJAJ|ɧ +D uUtjMʑҲoc=(Pk~<":2_;h#id!GUDuqҽJuFGf{ +53#\"$K9)c˙h^^F.h—n#Q HGDvajv!B +GBt<C3`憈Efq!eBII{4KRtse[Gv(@L&jk8aEr(,3 񡓲AS!U2 UMS8=•QDVai7tёo+ vfՆz+wj;":x+q^;x"뮻e~5J_Vd5#ܨo#LPe'du_"K&Gr,Ba|2qLYe}f<7LΨUWV=ѬI;#wGd|*a50A `U +fALg̍3hь2B?菚2ts$Nԗ +-XO~'(kzƂb0fx%CG":GXG+§|A +C )M# g8#\")[2 0 3 צDGHh/z]Z=/^!+I\э'&1L$ xq)#khE|#\#CCFv=|B#„   恄 &\SS ":B1$$ +^4)jw":'I1uftmf bRw707{m n#]ңGLJ":Jx@0#|o_W?m|}:TЫ +C:ONOFDt7(rĪ$zE>kBa":A ~0IkV*G_?q_qO-^TRxVv׏w/?zxDu(^J^`#=T6i~ qc}}rd5_Z p~_"f8|нBoDt+[O]"_G~y*ZaTuy__p.?:>ol%{_|`[MawH8DtRI_{ҿZ":3Iz+ \Bb#qÄ؆NCpcOX!TNP,Rl-Swg4#u~Ӵ޿A*4F`M0&_J q F8iDy0Hb Gvv"8FѢ4(PL\&q05LgDGU.DDȜf戤"\ 43LH2}FHF@ױt-coGT){^ӫ6#hI64CPAttv1m9ٹ=0#`">#CNCcU Cdd?>#=‚ #9+ "3W|S#>Du׾+w}uзGTm6i; ݅C xA'4ԟGm 5 +Ј<~}!_MӤ7ƗnOXDuup[N$GR&ֶ]?ᆿQ׏_ЄGQoQ^-7޾/u8~Du\}bz4~ ai{W]_޿_9J7ana ؅maG;G_ھ;?ʪz 8lWc_"Zн +uU]zҥҺAwO]AM^6+px8$#":[>_3K"uZP@e#g)SAR1`6"!88AڦA*{i6],0}ik hմ^]72C WeG(p#)w]0SiRh6*4 T""w}XfֺyT0 XB",a0D~TAP0L vG[_zhᓌEDS\ 6dCpv\DrG]uFrT""""""""""4""""؈+;p4KG:l4ʘL&! mZ]:ʘDt"""""DEB]tRN6!i-u㴛V+n TzH":`TG鴾5I-VEE0HD0A19RMrSUJª\Kw|lHp̐fyFyx<}S 7OAr.58&^ +rB؆ H3#B(#^n?9#y鑈A~y̎hlʡBT984X& ,/0@ +pfdgqcUistzJ i!tem>Y>8h#p S wWOZZ[Pm')]3ynEz>Sc?CG[5YJ?uo_mGNa_?k?~k~#G%i7":/U 6q/#]:ouo1Vz wFWB#__g}g#xA=KՃ  ":6ҶaUյ ϮBlE aXI _`6GqA/8l0{C GGTG_~X`qelP h0Dt1RIy8qd/ #Aa;#4$"?a>;(r"""""""""؈ MhE\ "u(pDtfql&Bޅنjz<SH pN.M%OuWz*[ i0A~ EePP&`&Ũ%AR& +NRlcUj Uiէ_L)t]~U ~(}.^;qӏToE?@LDv1~cDR.eȝ 35$=ZdIwkqHѡ8!Dx"&NJ\0 #'":R 葓NEZ&ؕQCCuAZhA;5 9NS5vjЃ0B"iDMHL/ 0#Lj_#ƈ38xl1dc(gtq"8HמZ=w@} 3'RJ/?66iݘl΂6]5{h„ga!qڅy.A H0A0"dHx6/\ +;zoBIvt]:MKh7DwGpl3sHFƏxUGHJ*G=ڳl#;z=E hhðʾڤ/]u7nJ=0MMݚiNZa nNoB߯v>R:#"Iu>ڽ.)_x-z>z׷_ x_Du5mP}(>N8DGX&8~ ~qj/{__7H_ie慆v~q;a?P u\n-ci_Pdt+մWXg[׿' +5wiv״; +Nm(D}vsVi~S_=WkK{qwAxxL!j v4A#[h6D~lZK>D}VDuwsl砈佮#_m!_}8B$a=NV!v00M B6 6"UdX=˯ +":G3DDDDDDDDDC &S N[vf&!0DK@˜SBTDx ,'k:4tPF` ptk(s›(t{qH +¦DqBAPPtu#<'"lgϲ@tfas#$ $NAwGj)3G %YWFv45 +""Dž -  +\` JGgQsNAKDN%2 +5?/N4-NBw0O._R}MA ߜl=#h2:/# 5F%¡z44׏#!/KA~KvꨎkWzv6 Μ F͚ϣ|}޻U28@X}]?O $ W{׏u:୥ a?wG}(uw(tix|+KPE2?'#nЋЏ[^ZZKa/ CnhZ2t/AKK] Guuk{kEq>qaqߧwf:Ҵ@䕯}ߠ؊#4!QQPaG1# A"8J!l[ wN8ϯ'ty3beEl2<6 'ba4 `A1Tq +BCA a0 RtGIa2:M;^ a}7Dtykw)""b"""""""$$&.Pb4M">*%8ح6>6 b -cGӈib4nY(r">""""""""""! **#TXDtCGA0ZrO#!q`DYܣEN*"5_+K^1MPq um=@BkZ"0Z4")eЅg!"B6FU  #A0Bk)uZEu" SRƄܡDМTuk\{]y0dZ_wߊ6U' (r(xo^""":wLx~wG[d,OQ8[#v|4q"<iJ ؋BqS!A":qX؅Du` DDDDc&G-0ϳä́ |CIU #*P:]?6.jWu%2ڮ܄O?L%?62}g~ݫ_w7G?Oe0qB#}GD8(o#0~+"""""#庒*GO#GFZdD;aNvas)k eGqJGF]u">IN#K칔 ">{3 '2(21tHD.4V^vK! Y\S3G̝ĆhIFN訡WPNhA;4t7g)hCB#9 (& k$Kb.F#4D[>mu}unZNm8 N":eSn8ݜ3Jg Xhxh5h_}_J?OBzCc2 +(ZiU #%&A;=(&|~hkA#? +B#;|Rn6W":->)Ǯ#W_(z #W_ W(࿿ۄG_]omddž{"@Duq}WT>T?GPZmmG4G+Icm+L6ۦ +#":ag?xDukz~ua0yCDra110* GL0I a&cw}_m'mmDq2F0A&>#eP AD}  9a)ƘM0Aal0AA4m&)li D~H":"""""""""""-+o 'AU)Ӹ +4؅@~A AG>"Sɸv/$d3#b̪“q '-J*ZhT W @pW߄GZQ}_k~jV 2ۯoݐTV6 RN3l3Qc9瑥蔝]i(pDyt#D#;T0DK"$Kdži3"$їlf#DqK+]VT 4tapmi{@1KFa6¦a4DPA0tvhom[ީI;Cl8gf3^nh3ݣoў&">">f0DFR=T7ҹF-+\':L eM%)x*!tTRZ;qGۭ\E~O+nKc_%U*u V}#wðB?K^I/ꫥHRӤ߿8@I4a$$TTZI, ۯF_4+K^}I%A9^WPh5JRi*/ZӦ+i$:TUu -~Tk-~U]K_]B--BTKaW־/׷vy{__":R)}Ej~ZR/l%E} + ^O_ְZ#]%Ik8Ղ# $I*_8L$9'{qlu6"؄Gp Dy-[ .Duv58A +T*ͥXiYE=b"!.P !`C Ћ6&"<Ä"=aC bMcViJfUA( AUDDDDDDDDE {Fi0M^C">OL(":bBQH&!ERITDDDDDDDD\DDDE¨Aza0&YSDt(1F:XH7a ]D|%l'y' +JQ.TtB+DBABj_G"Sw1{<?skM8Du/5%yڅ]af#GY!wz~ a x͑xшϙ#Yc*i_L7j6uA" 6J @itDZGI dcַMWy{""?#W&ͩ)iGPFw bA:0CgS@a4, cR8iAb*菧 G[m-N"""""""""""" x!P&Dtʌ#@6)6Na1*(N!|E1#4 pD~"""""""",N; B`3p bDtXT؈kֺ+ SLXʔ޴c'FRl;"P … +HEW:f+Pa!fAqڝD}BaU + qA% #n"C8Dtx,#*2'CyC3EȎ3o> Gd/KXFp, !`(L86X 6g/g":$DFN1ނ"46 4Ԟ WGAvA3#G&PMa +aTA.DC3dlPY;'G2hGGFKQfyͥ'w6oZN#Ià@H:M3&m(==JJva5a;0!aahA CSPF!8FʑˑA)4>CdIR&ߪHWobao[4$ : jGAʊ5{aY6bSxA b<h}K?CXҿkuޒzNPzVN?3sA]>-Xf7k":F)#}k]i +~}}+[/#ՅU[8O7@{uS}~GP[cU߈4:}%I{~ni/xO5~GUz..V4z+oַ `]_W()#>GdqHp_E=l__ + B!cb9.ا/]}E/X~GZ>{DuDugү(2_߷IE/؄@!.?a/Ʒ;m.0;< }":G]ҷ 1Oz |Nzp#bi 0N"&TvLpp1 &Ni80h*4,a:"=\r"]80DDDDXUpM`eEp)'U7B"""- 5Uuu?&FT#DkPT…+gaK*ꪡJv3%ʮ":s%-p]Hq7GND"'a:6!vpkuޑFDu/G#K}Ǚ$_7cvȒo74D pxy3e;#%'F"׆򺚄ktQZ<PL">l(PȜa"9ȝL͚#a.G&덵O64GL":A>Q\)FG4x@`Lq 00C4Er|X6$ag#3E 3Fyf7"qy:$#~ [5ҰCEA#l<#cbPf魣G>8a"l= ":AńH ‚gAGj3 +qEXBD0ʿI5׊buNt i\֝*#2ސv^ XAGǼhAЕpSP#h%8DOwGo uk= +WMl"?u$ۼP&C p =?}}~Ü#kF=>B]/kK{9{Wշ__8M]Eu}}U>]zhA|_ſz_#DuA1a(?Fh_<":kiZZ[Zz#W |z A{z겭#ߺ4d{֔C<ϭnL}:>uQj]DuUTCbTPhZakg  m])4 G˫">GL6*JAa1PGI}7녍G"""0GD a0E5r{B !@ЇLP`0Dq6Jm=GҴZO<ZPkDC0eLa@a2< +qÄ8H06) ئ بb* $"a dcG( :@i-N""""""""""""""" 25A^\31LpE nĨ@E\DDG8!zDt^,$ DqR8*A]#l6R@S 69x9 |;";Tx@ZhB#6VQ>O.0X׺C=?uPRߖh"JQ 9!XP㧠5NXl3Du^dtbY⣂#]!nS PaG#z\T&'?LMe4[B(x]&@9!IB GXEϊ6GIj)_GP{H 2xDt!Z*>>>7H]_?`#CGQ 8" GP">#i|zsmuD +߅߄G^|":;(^>0ɸ\=#eP#4tb$! MaQQ +GmaݗAO[aMvDu>u}>XDuD|Ulx"""""!^80KDr ӦaP @@vG0#"waIA-`4# +GІ8LR$ݡ GlD0滴G'^|DDDDDDDDDDD0DDeDDFSA(0)`23w0[*!i|DDDDDDDDDDFDDDC +^4,ZZ鴺 WPഢ:WJl Y<":ER)DuϨ":GO!wu)\/-WI󴙴DtWR_-*pBG/볎/W7ɅZ5)Jc_ZU:NW#6DtGY;nVD"dRKª;-#C j"?wy8¤4‚ FeȜę5DD}Ds!6F~0C΂I㢭#hh (="<4E 0 6A0A8‚ )r8—/>DeѶ'B"ȺZ8 Ey|.({2tf${*h0T4ltB\T40Fp莴qڨ'a BK!! .60dr6D?Ȑdؤ^+֕Ez HRIotTvǦI~N nEںrA0f?0ƍdh>%'!8P8#; + T괰JKJB4R׎oMOZI৤ЖIbO&Br$- o@A:7":Al!%J K$G}֭.#B_{Ut{z}|}KKI-.KU}nx׬m+?_bt^_kJ0GDu8z8WWJ# IU9hDj0":տծI [G~kG#aQH<)P/$ 7Fn꿔 7 XDtz{oS}]RKTMRUT4K.O]}PAz"kҌ37ҽ(,ߺUXK޶]]לJKIu_/sh==#U!aAE/Apԛ_BbO +T*TP;"# ` mAV*k^K_$տlVw8"?G_N":"#+@L!xTA[P%E +bSR" 4D| I0AH Dul4ci\h":\SDuMkk>"""8"3@! !`GAThx">":~)P20b^ &806vJ 菠Q͈4M\CVHH8XDtDu +xЈfVa)`e”8"DtV')N.j40'PMmDx DquA -\DDDDDDDDDFr0DDDDDE&.0 B8$Z*W}*_ _GA(DuP?*Y4Q NGA(ADA6J&R[;#R"˵,(()ڦd+#$yWs#ʒ +5ꪬ: aUw~ʎU֝.G_^j& TߌpůvU)iihD}?y6 2s!:'Fפ׬ ar !g"'Љl2r50xC35eqΫIVd~pdm #S%Chj@ #CB4H 'S2?#ThU'9OIEQ5Ǧ$tfM[5A60eF+f~G3;P@O 8x&"zZGA ўD +‚iPL!L "$G@C5 ̉4qCB>P}HIiER-%Uu]$$J=i;Cz +m!5G΂t6pnqkl!>1*>4kaFQ +G2:'4zkrgq9N"(*J+T-zT]*KJKHi,P_VʚސDuWJm +MtUm+IP{ K&>:ZIUZA$$KZ{ +":4\m pI$Pn]I*]*ZKNXDupч(#X';-Za?`$ `IW%juҪA$]k0a#O>?Y?#nꪒTH":K!zޟ׿_ADuqWs }UP">R/FZ*0K@fno\ذCGP~5#lmII`:)QRZT ]a0F3][_Du#P齶WV/ڤUZ]k]*Uץ(zG)tKe:]]8O N _#Duױ\qYc 'plS Mb4D}GLq C1KDtuNYmR%Jklsj0?='k+OvN?{y.PFa">^˄ +"?h\mb⸄V%VNQMAGZ^5 iCw莎}B#<[>~;AWlDDDDDDDDDDDD0@…P[ +!S1 A1 8(pBBM1V#8DpduȚ<Ǭk1x]k*>#E"&LKL& SASalTvm͈LM#AeGGh&6 _l:ADuDu]b"""""""""""""""!2`Fła2GDzN8">AB@;#,"݈JB/@p#KM]* n-&'.vGI&1tGA(M!D0v+,#A +=Wɼ/ٕVB +:44U&! KD_%P)>2\ +\fOjmx)B22t|+PGa `00G<:W(p= 'AZӆi&9]G8={5ۨmxDt4A68<[l:[>qC#P_JznD[tSoZڣ_}nkuu_vaouzey6O9?_A ݰEB#_GaGL3>!߄GGMGJ6{݄GI1Iv)G"<.lveq(by#f028GLVlaPqL'a± Pbd""" gpL$+!2]"""#J=*ZɰD|6#g>A-0ApEQš0k|NUpDuQ#}J?]^5N%aṺְžw">GI_j\0C=!">#ŲcޥqX)L(DDDDD23&'t球 3dI>( |gB*8 RKQ{?wGJ .莉;;!%tDUBK ǯ #P +wa"DvB +PG٢7!^uWA7>!hvgZ7f⏍\54%=AB\P.0@„DX34ah2:SB(VGOqM4pӤς ۣۜrJ ܏nUS35j ޴#ET}vRZڂvvip5n +. #霵_;~}W_ޚwjۭ1ڄG_r#8zsW?xr6ZVk_HFPb":":#!]oDu^8 #>G_"ǮV":e oGH":&n6^m(>_ǯ_l/l|">}kW _>z/WDuG(jianDta+Dtg":ׂi*)6!F#ICiv":#r@Duz":'=  PDab eBL#Pb1HiBiv\І „ )IQRti"""""""""",1 &RGFhgxb C&lLhL  $*#uR&!TGkZm (KqQJ7ёu + gb#$M # s&Pe|Hi9*҂#M!j8? ־>#*/;! TI?6("q#fqHЌG">ys(#6__`#PF=41Q!PB!8hĎx1  o'F38o8SpÂt0tQA# GfhДT6p*XFvD|"$S  @D7yTaI)Y$0y6j7 ٦Ak..=u[GM;}\ֽ >###A/x[=yt=WB#^0hkq~/XWZk/":kIWG":]H8w~?}z/I +@W@i5}_Ί뤗Q#6:qktvzZXчuZDu{J~CIRV{h":lB#DuGJֽ$+WmC: du߷W_itGJ#.}t41A0 1 0 :Ch4 $iI0]pao{'TDDD20(p0DtHA#SQ VDx1  r7a0&*J #J!aDDDDDDDDDDD`C(pa"u) \DDDDDY":' LP(ɸv.ة +d0žJGP#<27p8Ȣ*|';!(_æ DtG8s:-4{cq/P߿\kd/KTIWɰF\3fjЌGG$i޺#f2:#n.H„0L P˒"8Dt^8)\iP35'FuyΫ}87XDtl":{Mm>8aa#J aBhb@L!0L eEjۄVA֓k\S473 3M)9T74 -|3pF!@P#?oGU#^EU\%4tw'KqgPyV+տiqC7qzVl|v]* tIB#xDuϯu_G_/p%Z?toUJu#9~~aU-%\.D{[{{u*ZV^>cJ?'G_Zikm":uՈJiXaiu< B#T#6uH"F4XDqr:[ B#[i;0ln":Dto~ګj XLP8DtʚE]tGD-mvqR a7[GJd Rj/ӥ b;ǿ;!B#y6)p!)Hh,mRYJ!Jm0H#fqGHFf0q8"Fsi9>HΚDtY0^/#| 0DtR< #Uڂ# BH B +Gs#Iq*K.\dS`͢>O5/͙0#qRp74*httQ(r 8bUxF40B(|Gv P4ߥkk׎%VMT m#/PB ´lDy1 ' шFLz#{o{+wvޕY;GN":Ϋ#;֕7}&"#־Q|8tWWa|8@}Du྿xA#G_n4";o_*_i-h{GK޺=FƁ~":k}mA0#׫a+F ]m^h":GPwjXGV#?G]<":DuG]V#`DqBGab!F:#PHb NU莒OT7 |tGI_D~GBU"< +f*$E,D[2Rvi ":^&KZ xMdx# +Lm(8;tkzAhx$GH":]A` a4GƦ# v}$G"A"'eD_mn+V; ;PnPM7pAnh&V>H&7ã Y+>4!-"<#[C9+$08x@Gh%hLag. —#N51.HnLOm(Du㎓_^tk%l:  %P+ eGf{4+9#s#a(AB= P9(z0(hkjւE8omֵP/ c_mAMU4GJ8Dt=AB#cs6G. K__>-#~oѣzj":5M>k GAkoln :NA:dt +GK#y}}^lJϮGZW[Ǻ\":_(UZ#Kn Axil&CB4؅A"ICJ B[\l"8"OӄGJasX">J}B#DuuG@k?Dusb"hFg(AQ RG ؄8aB!@NCHIyL Dz*.GM.H7 c^-n}"""""!,DAhDXPLO0LCa,a Jwa6B)G +# 4! #d"<lE0br؃Dt'KIXD[DDDI9D7 &](r1  È0Mk4- MؠQc /k*WmaU]uWBXiZA$0Xds 6]% B B D("?ڈ4(P!K +7'W&fz7p/֒WDum5ICmskp&4#L":ll63DGQ[aIbƮ iI+x-%aK/龠1 tƀyGI[(uJ-Bt E:0Duk &Q/}829Q %VP`M +&DDDDDF?\ }s!$vUr"2[;dFFP!N)gPG>MoP 5Gj">j,#4GKZ=$(1?uZ릿Z}dc꓈{Y_MF#i*̐vIV/ U?͍զ@H<"<FfSB6 יs1DD}n5I^ ]TB#Ј#/aDvB360P2#}f3eyvzND#OK w7cwH[s0􃼩Gx0AMC +l"=M0HzUXZU^[;4]/JPtN @fZA_K]$U.J0*OA$AC9V)*RpG_נ`XGE@?""0Ҵ/E~5J\IN/ +zawFWyY +*_R^zG_v莵k":֒ u-.UI!# \": +7#ކ4}?"觗Iw]/O?Dtݮ":&IXKJpDuZjHo_DuV@o <0I(A: CKTTh">Ej WopXg5Ҷj$#Ϥ +b "axA#ZG^ں (D~DtKmG^{Iv!]":x"-aU +@8Dz!KtG CGc`ɍ.Dt/ xA_q Da&q"?AAL(0AH6vqDDDDDGAAA _nDDR2IPDt*zJ"pYO&H"v0&Azf'_E=}#ȪK~/.Dujm~.ʱK#I6ޓm*niBZ[*0p^uc&fBRI{ZZGp]WKA:S$a%]-~)T@IS)NlWP&qP"#B""#oe3U&<e;ulaA[_*ZZZZ#~čEݤn莸U[Z֫ba{(~y-AaP">@%^t i]؆*!-+f)]EKKJ<-B tr:$z_Nt@@V $zN}$?Zf%TuKф]*]M)K_]i/ڥta\*F>5-4 " ++Ba@Mӈ]ҬTX(!'ɸ|":\~Pd h/'hOm_ 詣5ɎS\Ð s뎖"4룵uJ]*_^{$ 0\B^^!TGH,ɱb~A#??&čl F)62#\#EDtIaΣA; #FN4m& XmJC/:Ai{Du_mbo"% \RZ^*N/%T]+yX@@_AKh4-$Z*8GEJa-+KK (u1:&*)(( MB a?AJ?a$GR@S 7{#|!'ǙgrmjqiG ޥ],sSg[X":h<&~;u_ׇ=6G;ZP: /ar{)6.' Uṇ(pDt"xEׯInyGKgp% ;9#Xm#b0G~g ٜjq fqhfH33BDjQEZ#/_`T;= lВ!hGᦻ6tx˴k%&  h.G!>0ABdA HȠfHdwHWM]!#oҷ IAnucЊ`+GHF##Ehsش{h"xKD>_ǶGau}}tI]:VM:Nxޝ'a8CsA6*glWQ_^ߥ*zL/u0V5Z5mt꿥ΣZGG{bOc":莅 DQ":-oX#Kah__uu~~sGSthC)~ a\}uG_K޺L?cVaVŇ#ihAza#o6m+o[P +7?a֪Du":nX[aUW.,V#>?]~ uP==ioGAֱҭ_uw_WԥzV;/N-#G`mQCa b i mGM_a'WG_-Wh<)m>K(pa%ÌĝrpP;B4.!!$Iq + 8D}:.a+vVӺ#BŞ8׵KG_#ݠo~=aDDE BBf0!# +0ŠlWiȣbiuaz`{ (~67 %n;xtW":GOyDDDDDDIC",*~JlfM&%8 % x86#cDqaptGJU2?G`qhh"?DDDDDYb"""#a6!iAB`0 QE BehALah62aKڵԩQpC-®!]%$[J 아G+$J#$21Nv#MDS A&iaԛ"05.F8HJv>8ᦘL tjSn_u_}{ɲu_DtQ_]MG%a%M DB"91WDDDDGa*DOrVCq?6 +UYC6F> +T>M#ۄ!u}'ָKZIrlRk;k\ $.GZu㠈=uꭦV~F8DyAGW &tN„DDlG\%oG6GG} +*aV0MGn)IqH&:"=ȌqQ8=VA7~ڪM~I-WҤu~$Z^I/zBUG%]B)EoUIB]xD}G 1LUQP"!+JV#dܯ.B?ɹq*$,3_ af~c5,o^7a/=oI3QޒG"?a tR8#rlT^H +<":1cH#Rhz,}WU(t}UU]OIAK#G\}?q$l?xK/o[KBzVX*qIж +a%D~?ſj +endstream +endobj +62 0 obj +31122 +endobj +1 0 obj +<< +/Type /Pages +/Kids [ 3 0 R 8 0 R 13 0 R 18 0 R 23 0 R 28 0 R 33 0 R 38 0 R 43 0 R 48 0 R 53 0 R 58 0 R ] +/Count 12 +>> +endobj +2 0 obj +<< +/Type /Catalog +/Pages 1 0 R +>> +endobj +xref +0 63 +0000000000 65535 f +0000491301 00000 n +0000491437 00000 n +0000000054 00000 n +0000000158 00000 n +0000000230 00000 n +0000000307 00000 n +0000083947 00000 n +0000083968 00000 n +0000084073 00000 n +0000084146 00000 n +0000084224 00000 n +0000102498 00000 n +0000102520 00000 n +0000102627 00000 n +0000102701 00000 n +0000102779 00000 n +0000142395 00000 n +0000142417 00000 n +0000142524 00000 n +0000142598 00000 n +0000142676 00000 n +0000181592 00000 n +0000181614 00000 n +0000181721 00000 n +0000181795 00000 n +0000181873 00000 n +0000223669 00000 n +0000223691 00000 n +0000223798 00000 n +0000223872 00000 n +0000223950 00000 n +0000265236 00000 n +0000265258 00000 n +0000265365 00000 n +0000265439 00000 n +0000265517 00000 n +0000319845 00000 n +0000319867 00000 n +0000319974 00000 n +0000320048 00000 n +0000320126 00000 n +0000367750 00000 n +0000367772 00000 n +0000367879 00000 n +0000367953 00000 n +0000368031 00000 n +0000397213 00000 n +0000397235 00000 n +0000397342 00000 n +0000397417 00000 n +0000397496 00000 n +0000426409 00000 n +0000426431 00000 n +0000426538 00000 n +0000426613 00000 n +0000426692 00000 n +0000459631 00000 n +0000459653 00000 n +0000459760 00000 n +0000459835 00000 n +0000459914 00000 n +0000491279 00000 n +trailer +<< +/Size 63 +/Root 2 0 R +>> +startxref +491486 +%%EOF diff --git a/Homework/cs5000/hw04/CS5000_F23_hw04.pdf b/Homework/cs5000/hw04/CS5000_F23_hw04.pdf new file mode 100644 index 0000000..a4a7963 Binary files /dev/null and b/Homework/cs5000/hw04/CS5000_F23_hw04.pdf differ diff --git a/Homework/cs5000/hw04/hw04.org b/Homework/cs5000/hw04/hw04.org new file mode 100644 index 0000000..fced560 --- /dev/null +++ b/Homework/cs5000/hw04/hw04.org @@ -0,0 +1,106 @@ +#+TITLE: HW 04 +#+AUTHOR: Elizabeth Hunt +#+STARTUP: entitiespretty fold inlineimages +#+LATEX_HEADER: \notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +#+LATEX: \setlength\parindent{20pt} +#+OPTIONS: toc:nil + +* Question One +Consider the regular language $L$ over $\Sigma = \{0,1,2\}$ such that $L = \{x^{\star} | x \in \Sigma\}$ +, then $L$ is a language; its members being all possible combinations of any length of all +$x \in \Sigma$. + +$L$ is a _regular_ language since there is a FA to describe it: + ++ $F = \{q_0\}$ ++ $\Sigma = \{0,1,2\}$ ++ $S = q_0$ ++ $\delta(q_0, 0) = q_0$, $\delta(q_0, 1) = q_0$, $\delta(q_0, 2) = q_0$ ++ $Q = {q_0}$ + +Let a set of languages $G$ exist such that $G_1 = \{0^i 1^i | i \geq 0\}$, $G_2 = \{(0^i 1^i)(0^i 1^i) | i \geq 0\}$ +$\cdots$ $G_n = \{(0^i 1^i)^n | i \geq 0\}$. $G_1$ is irregular by the proof found in Lecture 5. Then we assume that +$G_k$ is irregular. If so, we can show $G_{k+1}$ is irregular because we can only construct a FA to recognize +$G_{k+1}$ if and only if we can concatenate a FA recognizing $G_k$ in an epsilon transition with another FA recognizing $G_1$; which is +not existant. By induction, any such $G_i | i \in \mathds{N}$ is irregular. + +Each $G$ is also a proper sublanguage since for each $i \in \mathds{N}$ we can construct $(01)^{i+1}$ +which is not in $G_i$ but in $L$, so $\nexist x \in G | x = L$. For extra clarity we know every string in $G_i$ is +also in $L$ since $L$ is really the Kleene Closure. + +Thus there are at least $\aleph_0$ infinitely many such non-regular proper sublanguages of the regular language $L$. + +* Question Two +** One (adapted from slide notes in Lecture 5) +Consider a minimal DFA $M$ that recognizes $L$; $L = L(M)$ with $k$ states. + +Then consider the string $a^k b^k c^k$; to first recognize $a^k$ we go through $k+1$ states, so we can +find a loop in the path taken via $\delta$ such that there exists $q = \delta^{\star}(q, a^i) | i > 0$. + +If we pump this loop zero times, then for the string $a^j b^k c^k$, $j < k$; for one or more times, +$j > k$; thus $j < k$ or $j > k$ but $j \neq k$, a contradiction from the original definition. + +** Two + +Any string in this language is an even number of $a$'s, recognized by this FA (thus, is a regular language). + ++ $F = \{q_0\}$ ++ $\Sigma = \{a\}$ ++ $S = q_0$ ++ $\delta(q_0, a) = q_1, \delta(q_1, a) = q_0$ ++ $Q = \{q_0, q_1\}$ + +** Three +Consider a minimal DFA $M$ that recognizes $L$; $L = L(M)$ with $k$ states. By the pumping lemma +each string $x \in L$ such that $|x| \geq k$ is of the form $uvw$ with $|uv| \leq k$, $|v| \geq 1$ and +$uv^i w \in L \forall i \geq 0$. + +For any such $k$ we create the string $a^k c a^k \in L$, and because $|uv| \leq k$ then $uv$ matches at most +$a^k$. So, $u = a^m, v = a^n$ with $m + n \leq k$, and thus $w = a^{k - (m+n)} c a^k$. Additionally, since $|v| \geq 1$, +$n \ge 1$. + +By pumping $v$ zero times we then have $a^m a^{k-(m+n)}c a^k = a^{k-n} c a^k \notin L$ as $n \geq 1$ so $L$ must be irregular. + +** Four +Consider a minimal DFA $M$ that recognizes $L$; $L = L(M)$ with $k$ states. By the pumping lemma +each string $x \in L$ such that $|x| \geq k$ is of the form $uvw$ with $|uv| \leq k$, $|v| \geq 1$ and +$uv^i w \in L \forall i \geq 0$. + +For any such $k$ we create the string $a^k c^k b^{2k} \in L$ and because $|uv| \leq k$ then $uv$ matches at most +$a^k$. So, $u = a^m, v = a^n$ with $m + n \leq k$, and since $|v| \geq 1$, $n \ge 1$ thus $w = a^{k - (m+n)} c^k b^{2k}$. +Additionally, since $|v| \geq 1$, $n \ge 1$. + +By pumping $v$ zero times we then obtain $a^m a^{k-(m+n)} c^k b^2k = a^{k-n} c^k b^{2k}$ but then $k-n + k \neq 2k$ as +$n \geq 1$, a contradiction; $L$ is irregular. + +** Five +Consider a minimal DFA $M$ that recognizes $L$; $L = L(M)$ with $k$ states. By the pumping lemma +each string $x \in L$ such that $|x| \geq k$ is of the form $uvw$ with $|uv| \leq k$, $|v| \geq 1$ and +$uv^i w \in L \forall i \geq 0$. + +For any such $k$ we create the string $0^k 1^{k-1} \in L$, and because $|uv| \leq k$ then $uv$ matches at most +$0^k$. So, $u = 0^m, v = 0^n$ with $m + n \leq k$, thus $w = 0^{k - (m+n)} 1^{k-1}$. Additionally, since $|v| \geq 1$, $n \ge 1$. + +By pumping $v$ zero times we obtain the string $0^m 0^{k-(m+n)} 1^{k-1} = 0^{k-n} 1^{k-1}$ and $k-n$ cannot be greater than +$k-1$, a contradiction; $L$ is irregular. + +* Question Three + +(pictorial draft) DFA + +#+attr_latex: :width 200px +[[./img/problem_3_dfa.png]] + +And: + ++ $\Sigma = \{a, b\}$ ++ $Q = \{q_0, q_1, q_2, q_3\}$ ++ $F = \{q_2\}$ ++ $S = q_0$ ++ $\delta(q_0, a) = q_1$, $\delta(q_0, b) = \emptyset$, $\delta(q_1, a) = \emptyset$, $\delta(q_1, b) = q_2$, $\delta(q_2, a) = q_3$, $\delta(q_2, a = q_1)$, + $\delta(q_3, a) = q_2$, $\delta(q_3, b) = \emptyset$ + +We can build a FA that recognizes strings in $L(G)$, so it is regular. + +* Question Four +$G = (\{S\}, \{0,1,\cdots,9\}, S, \{S \rightarrow 0S | 1S | 2S | 3S | 4S | 5S | 6S | 7S | 8S | 9S | \epsilon\})$ diff --git a/Homework/cs5000/hw04/hw04.pdf b/Homework/cs5000/hw04/hw04.pdf new file mode 100644 index 0000000..3e97c6f Binary files /dev/null and b/Homework/cs5000/hw04/hw04.pdf differ diff --git a/Homework/cs5000/hw04/hw04.tex b/Homework/cs5000/hw04/hw04.tex new file mode 100644 index 0000000..9aa70a1 --- /dev/null +++ b/Homework/cs5000/hw04/hw04.tex @@ -0,0 +1,146 @@ +% Created 2023-09-27 Wed 14:13 +% Intended LaTeX compiler: pdflatex +\documentclass[11pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{wrapfig} +\usepackage{rotating} +\usepackage[normalem]{ulem} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{capt-of} +\usepackage{hyperref} +\notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +\author{Elizabeth Hunt} +\date{\today} +\title{HW 04} +\hypersetup{ + pdfauthor={Elizabeth Hunt}, + pdftitle={HW 04}, + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 28.2 (Org mode 9.7-pre)}, + pdflang={English}} +\begin{document} + +\maketitle +\setlength\parindent{20pt} + +\section{Question One} +\label{sec:org1166362} +Consider the regular language \(L\) over \(\Sigma = \{0,1,2\}\) such that \(L = \{x^{\star} | x \in \Sigma\}\) +, then \(L\) is a language; its members being all possible combinations of any length of all +\(x \in \Sigma\). + +\(L\) is a \uline{regular} language since there is a FA to describe it: + +\begin{itemize} +\item \(F = \{q_0\}\) +\item \(\Sigma = \{0,1,2\}\) +\item \(S = q_0\) +\item \(\delta(q_0, 0) = q_0\), \(\delta(q_0, 1) = q_0\), \(\delta(q_0, 2) = q_0\) +\item \(Q = {q_0}\) +\end{itemize} + +Let a set of languages \(G\) exist such that \(G_1 = \{0^i 1^i | i \geq 0\}\), \(G_2 = \{(0^i 1^i)(0^i 1^i) | i \geq 0\}\) +\(\cdots\) \(G_n = \{(0^i 1^i)^n | i \geq 0\}\). \(G_1\) is irregular by the proof found in Lecture 5. Then we assume that +\(G_k\) is irregular. If so, we can show \(G_{k+1}\) is irregular because we can only construct a FA to recognize +\(G_{k+1}\) if and only if we can concatenate a FA recognizing \(G_k\) in an epsilon transition with another FA recognizing \(G_1\); which is +not existant. By induction, any such \(G_i | i \in \mathds{N}\) is irregular. + +Each \(G\) is also a proper sublanguage since for each \(i \in \mathds{N}\) we can construct \((01)^{i+1}\) +which is not in \(G_i\) but in \(L\), so \(\nexist x \in G | x = L\). For extra clarity we know every string in \(G_i\) is +also in \(L\) since \(L\) is really the Kleene Closure. + +Thus there are at least \(\aleph_0\) infinitely many such non-regular proper sublanguages of the regular language \(L\). + +\section{Question Two} +\label{sec:orgf857515} +\subsection{One (adapted from slide notes in Lecture 5)} +\label{sec:org606e4e3} +Consider a minimal DFA \(M\) that recognizes \(L\); \(L = L(M)\) with \(k\) states. + +Then consider the string \(a^k b^k c^k\); to first recognize \(a^k\) we go through \(k+1\) states, so we can +find a loop in the path taken via \(\delta\) such that there exists \(q = \delta^{\star}(q, a^i) | i > 0\). + +If we pump this loop zero times, then for the string \(a^j b^k c^k\), \(j < k\); for one or more times, +\(j > k\); thus \(j < k\) or \(j > k\) but \(j \neq k\), a contradiction from the original definition. + +\subsection{Two} +\label{sec:org6221b61} + +Any string in this language is an even number of \(a\)'s, recognized by this FA (thus, is a regular language). + +\begin{itemize} +\item \(F = \{q_0\}\) +\item \(\Sigma = \{a\}\) +\item \(S = q_0\) +\item \(\delta(q_0, a) = q_1, \delta(q_1, a) = q_0\) +\item \(Q = \{q_0, q_1\}\) +\end{itemize} + +\subsection{Three} +\label{sec:org4423d9f} +Consider a minimal DFA \(M\) that recognizes \(L\); \(L = L(M)\) with \(k\) states. By the pumping lemma +each string \(x \in L\) such that \(|x| \geq k\) is of the form \(uvw\) with \(|uv| \leq k\), \(|v| \geq 1\) and +\(uv^i w \in L \forall i \geq 0\). + +For any such \(k\) we create the string \(a^k c a^k \in L\), and because \(|uv| \leq k\) then \(uv\) matches at most +\(a^k\). So, \(u = a^m, v = a^n\) with \(m + n \leq k\), and thus \(w = a^{k - (m+n)} c a^k\). Additionally, since \(|v| \geq 1\), +\(n \ge 1\). + +By pumping \(v\) zero times we then have \(a^m a^{k-(m+n)}c a^k = a^{k-n} c a^k \notin L\) as \(n \geq 1\) so \(L\) must be irregular. + +\subsection{Four} +\label{sec:org719bada} +Consider a minimal DFA \(M\) that recognizes \(L\); \(L = L(M)\) with \(k\) states. By the pumping lemma +each string \(x \in L\) such that \(|x| \geq k\) is of the form \(uvw\) with \(|uv| \leq k\), \(|v| \geq 1\) and +\(uv^i w \in L \forall i \geq 0\). + +For any such \(k\) we create the string \(a^k c^k b^{2k} \in L\) and because \(|uv| \leq k\) then \(uv\) matches at most +\(a^k\). So, \(u = a^m, v = a^n\) with \(m + n \leq k\), and since \(|v| \geq 1\), \(n \ge 1\) thus \(w = a^{k - (m+n)} c^k b^{2k}\). +Additionally, since \(|v| \geq 1\), \(n \ge 1\). + +By pumping \(v\) zero times we then obtain \(a^m a^{k-(m+n)} c^k b^2k = a^{k-n} c^k b^{2k}\) but then \(k-n + k \neq 2k\) as +\(n \geq 1\), a contradiction; \(L\) is irregular. + +\subsection{Five} +\label{sec:org9f5d6ff} +Consider a minimal DFA \(M\) that recognizes \(L\); \(L = L(M)\) with \(k\) states. By the pumping lemma +each string \(x \in L\) such that \(|x| \geq k\) is of the form \(uvw\) with \(|uv| \leq k\), \(|v| \geq 1\) and +\(uv^i w \in L \forall i \geq 0\). + +For any such \(k\) we create the string \(0^k 1^{k-1} \in L\), and because \(|uv| \leq k\) then \(uv\) matches at most +\(0^k\). So, \(u = 0^m, v = 0^n\) with \(m + n \leq k\), thus \(w = 0^{k - (m+n)} 1^{k-1}\). Additionally, since \(|v| \geq 1\), \(n \ge 1\). + +By pumping \(v\) zero times we obtain the string \(0^m 0^{k-(m+n)} 1^{k-1} = 0^{k-n} 1^{k-1}\) and \(k-n\) cannot be greater than +\(k-1\), a contradiction; \(L\) is irregular. + +\section{Question Three} +\label{sec:org9247330} + +(pictorial draft) DFA + +\begin{center} +\includegraphics[width=200px]{./img/problem_3_dfa.png} +\end{center} + +And: + +\begin{itemize} +\item \(\Sigma = \{a, b\}\) +\item \(Q = \{q_0, q_1, q_2, q_3\}\) +\item \(F = \{q_2\}\) +\item \(S = q_0\) +\item \(\delta(q_0, a) = q_1\), \(\delta(q_0, b) = \emptyset\), \(\delta(q_1, a) = \emptyset\), \(\delta(q_1, b) = q_2\), \(\delta(q_2, a) = q_3\), \(\delta(q_2, a = q_1)\), +\(\delta(q_3, a) = q_2\), \(\delta(q_3, b) = \emptyset\) +\end{itemize} + +We can build a FA that recognizes strings in \(L(G)\), so it is regular. + +\section{Question Four} +\label{sec:org7d011c1} +\(G = (\{S\}, \{0,1,\cdots,9\}, S, \{S \rightarrow 0S | 1S | 2S | 3S | 4S | 5S | 6S | 7S | 8S | 9S | \epsilon\})\) +\end{document} \ No newline at end of file diff --git a/Homework/cs5000/hw04/img/problem_2_2_dfa.png b/Homework/cs5000/hw04/img/problem_2_2_dfa.png new file mode 100644 index 0000000..78d8e54 Binary files /dev/null and b/Homework/cs5000/hw04/img/problem_2_2_dfa.png differ diff --git a/Homework/cs5000/hw04/img/problem_3_dfa.png b/Homework/cs5000/hw04/img/problem_3_dfa.png new file mode 100644 index 0000000..259067e Binary files /dev/null and b/Homework/cs5000/hw04/img/problem_3_dfa.png differ diff --git a/Homework/cs5000/hw05/.DS_Store b/Homework/cs5000/hw05/.DS_Store new file mode 100644 index 0000000..9fc8419 Binary files /dev/null and b/Homework/cs5000/hw05/.DS_Store differ diff --git a/Homework/cs5000/hw05/CS5000_F23_HW05.pdf b/Homework/cs5000/hw05/CS5000_F23_HW05.pdf new file mode 100644 index 0000000..aea985e Binary files /dev/null and b/Homework/cs5000/hw05/CS5000_F23_HW05.pdf differ diff --git a/Homework/cs5000/hw05/PyCYK/__pycache__/cnfg.cpython-310.pyc b/Homework/cs5000/hw05/PyCYK/__pycache__/cnfg.cpython-310.pyc new file mode 100644 index 0000000..6866f6c Binary files /dev/null and b/Homework/cs5000/hw05/PyCYK/__pycache__/cnfg.cpython-310.pyc differ diff --git a/Homework/cs5000/hw05/PyCYK/__pycache__/cyk.cpython-310.pyc b/Homework/cs5000/hw05/PyCYK/__pycache__/cyk.cpython-310.pyc new file mode 100644 index 0000000..d5fd992 Binary files /dev/null and b/Homework/cs5000/hw05/PyCYK/__pycache__/cyk.cpython-310.pyc differ diff --git a/Homework/cs5000/hw05/PyCYK/cnfg.py b/Homework/cs5000/hw05/PyCYK/cnfg.py new file mode 100644 index 0000000..bb1ed17 --- /dev/null +++ b/Homework/cs5000/hw05/PyCYK/cnfg.py @@ -0,0 +1,82 @@ +############################################### +# module: cnfg.py +# description: Chomsky Normal Form Grammar +# bugs to vladimir kulyukin in canvas +############################################### + +class CNFG: + + def __init__(self, startSymbol = "S", productions = dict()): + self._productions = productions + self._startSymbol = startSymbol + + def __str__(self): + productions = list() + for lhs in self._productions: + for rhs in self._productions[lhs]: + productions.append(lhs + " -> " + str(rhs)) + return "\n".join(productions) + + def add_production(self, lhs, rhs1, rhs2 = None): + if lhs in self._productions: + rhs = self._productions.get(lhs) + rhs.append(CNFProductionRHS(rhs1, rhs2)) + else: + rhs = list() + rhs.append(CNFProductionRHS(rhs1, rhs2)) + self._productions[lhs] = rhs + + def fetch_lhs(self, rhs1, rhs2 = None): + lhs_list = set() + for lhs in self._productions: + for prod_rhs in self._productions[lhs]: + if rhs2 is None: + if prod_rhs.is_rhs1() and prod_rhs.is_rhs1_equal(rhs1): + lhs_list.add(lhs) + else: + if prod_rhs.is_rhs2() and prod_rhs.is_rhs2_equal(rhs1, rhs2): + lhs_list.add(lhs) + + return lhs_list + + def clear_productions(self): + self._productions.clear() + + def get_start_symbol(self): + return self._startSymbol + + def display(self): + print(str(self)) + + +class CNFProductionRHS: + def __init__(self, rhs1, rhs2 = None): + if rhs2 is None: + self._rhs_list = list(rhs1) + else: + self._rhs_list = list([rhs1, rhs2]) + + def __str__(self): + return "".join(self._rhs_list) + + def is_rhs1(self): + return len(self._rhs_list) == 1 + + def is_rhs2(self): + return len(self._rhs_list) == 2 + + def is_rhs1_equal(self, rhs): + return self._rhs_list[0] == rhs + + def is_rhs2_equal(self, rhs1, rhs2): + return self._rhs_list[0] == rhs1 and self._rhs_list[1] == rhs2 + + def get_productions(self): + if self.is_rhs1(): + return self._rhs_list[0] + elif self.is_rhs2(): + return self._rhs_list[0], self._rhs_list[1] + else: + return None + + diff --git a/Homework/cs5000/hw05/PyCYK/cyk.py b/Homework/cs5000/hw05/PyCYK/cyk.py new file mode 100644 index 0000000..e02e34a --- /dev/null +++ b/Homework/cs5000/hw05/PyCYK/cyk.py @@ -0,0 +1,43 @@ +############################################### +# module: cyk.py +# Elizabeth Hunt +# A02364151 +############################################### + + +def format_table(derives: list[list[set]], max_row: int) -> str: + table = "" + n = len(derives) + for row in range(max_row): + curr_row = f"{row+1}: " + for col in range(n - row): + set_of_nonterminals = " ".join(derives[row][col]) + curr_row += f"|{set_of_nonterminals}|" + table += curr_row + "\n" + return table + + +class CYK(object): + @staticmethod + def is_in_cfl(test_string, cnfg, table_display_flag=False): + n = len(test_string) + derives = [[set() for _ in range(n)] for _ in range(n)] + + for i, terminal in enumerate(test_string): + derives[0][i] |= cnfg.fetch_lhs(terminal) + if table_display_flag: + print(format_table(derives, 1)) + + for length in range(2, n + 1): + for start in range(n - length + 1): + for split_idx in range(1, length): + for first in derives[split_idx - 1][start]: + for second in derives[length - split_idx - 1][ + start + split_idx + ]: + derives[length - 1][start] |= cnfg.fetch_lhs(first, second) + + if table_display_flag: + print(format_table(derives, length)) + + return "S" in derives[n - 1][0] diff --git a/Homework/cs5000/hw05/PyCYK/cyktest.py b/Homework/cs5000/hw05/PyCYK/cyktest.py new file mode 100644 index 0000000..0fa5e59 --- /dev/null +++ b/Homework/cs5000/hw05/PyCYK/cyktest.py @@ -0,0 +1,272 @@ +############################################### +# module: cyktest.py +# description: tests CYK in cyk.py +# bugs to vladimir kulyukin via canvas +############################################### + +import unittest +import cyk +from cyk import CYK +from cnfg import CNFG + +class TestCykAlgorithm(unittest.TestCase): + _grammar = CNFG() + + def _use_grammar1(self): + ## 1. S -> AB + ## 2. S --> BC + ## 3. A --> BA + ## 4. A --> a + ## 5. B --> CC + ## 6. B --> b + ## 7. C --> AB + ## 8. C --> a + self._grammar.clear_productions() + self._grammar = CNFG() + self._grammar.add_production("S", "A", "B") + self._grammar.add_production("S", "B", "C") + self._grammar.add_production("A", "B", "A") + self._grammar.add_production("A", "a") + self._grammar.add_production("B", "C", "C") + self._grammar.add_production("B", "b") + self._grammar.add_production("C", "A", "B") + self._grammar.add_production("C", "a") + + def _use_grammar2(self): + ## 1. S -> AB + ## 2. S --> BB + ## 3. A --> CC + ## 4. A --> AB + ## 5. A --> a + ## 6. B --> BB + ## 7. B --> CA + ## 8. B --> b + ## 9. C --> BA + ## 10. C --> AA + ## 11. C --> b + self._grammar.clear_productions() + self._grammar = CNFG(); + self._grammar.add_production("S", "A", "B") + self._grammar.add_production("S", "B", "B") + self._grammar.add_production("A", "C", "C") + self._grammar.add_production("A", "A", "B") + self._grammar.add_production("A", "a") + self._grammar.add_production("B", "B", "B") + self._grammar.add_production("B", "C", "A") + self._grammar.add_production("B", "b") + self._grammar.add_production("C", "B", "A") + self._grammar.add_production("C", "A", "A") + self._grammar.add_production("C", "b") + + def _use_grammar3(self): + ## 1. S -> AD1 + ## 2. D1 --> BC + ## 3. C --> BD2 + ## 4. D2 --> AB + ## 5. C --> c + ## 6. B --> BB + ## 7. B --> b + ## 8. A --> a + self._grammar._productions.clear() + self._grammar = CNFG(); + self._grammar.add_production("S", "A", "D1") + self._grammar.add_production("D1", "B", "C") + self._grammar.add_production("C", "B", "D2") + self._grammar.add_production("D2", "A", "B") + self._grammar.add_production("C", "c") + self._grammar.add_production("B", "B", "B") + self._grammar.add_production("B", "b") + self._grammar.add_production("A", "a") + + def test_ut0(self): + print("===== Test 00 =====") + grammar = CNFG() + grammar.clear_productions() + grammar.add_production("S", "A", "B") + grammar.add_production("S", "B", "C") + grammar.add_production("A", "B", "A") + grammar.add_production("A", "a") + grammar.add_production("B", "C", "C") + grammar.add_production("B", "b") + grammar.add_production("C", "A", "B") + grammar.add_production("C", "a") + print("LHS for RHS AB is {}".format(grammar.fetch_lhs("A", "B"))) + + ### ===================== Grammar 1 Tests ############################# + + def test1a(self): + print("===== Test 1a =====") + self._use_grammar1() + #self._grammar.display() + input_str = 'ab' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test1(self): + print("===== Test 1 =====") + self._use_grammar1() + self._grammar.display() + input_str = 'baaba' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test2(self): + print("===== Test 2 =====") + self._use_grammar1() + #self._grammar.display() + input_str = 'baaa' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test3(self): + print("===== Test 3 =====") + self._use_grammar1() + #self._grammar.display() + input_str = 'baba' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test4(self): + print("===== Test 4 =====") + self._use_grammar1() + #self._grammar.display() + input_str = 'baaabab' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test4a(self): + print('===== Test 4a =====') + self._use_grammar1() + input_str = 'baab' + print('Input string: {}'.format(input_str)) + result = (CYK.is_in_cfl(input_str, self._grammar, True)) + print('Result = ' + str(result)) + + def test4b(self): + print('===== Test 4b =====') + self._use_grammar1() + input_str = 'aaab' + print('Input string: {}'.format(input_str)) + result = (CYK.is_in_cfl(input_str, self._grammar, True)) + print('Result = ' + str(result)) + + ### ===================== Grammar 2 Tests ############################# + + def test5(self): + print("===== Test 5 =====") + self._use_grammar2() + #self._grammar.display() + input_str = 'aabb' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test5a(self): + print("===== Test 5a =====") + self._use_grammar2() + #self._grammar.display() + input_str = 'bbb' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test5b(self): + print("===== Test 5b =====") + self._use_grammar2() + #self._grammar.display() + input_str = 'bbb' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test5c(self): + print("===== Test 5c =====") + self._use_grammar2() + #self._grammar.display() + input_str = 'cccccb' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test5d(self): + print("===== Test 5d =====") + self._use_grammar2() + #self._grammar.display() + input_str = 'bababaaa' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + ### ===================== Grammar 3 Tests ############################# + + def test6(self): + print("===== Test 6 =====") + self._use_grammar3() + input_str = 'abc' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test7(self): + print("===== Test 7 =====") + self._use_grammar3() + input_str = 'abbbabb' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test7b(self): + print("===== Test 7b =====") + self._use_grammar3() + input_str = 'abbc' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test8(self): + print("===== Test 8 =====") + self._use_grammar3() + input_str = 'bbc' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test9(self): + print("===== Test 9 =====") + self._use_grammar3() + input_str = 'aaabb' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + + def test10(self): + print("===== Test 10 =====") + self._use_grammar3() + input_str = 'ab' + print('Input string: ' + input_str) + result = (CYK.is_in_cfl(input_str, self._grammar)) + print('Result = ' + str(result)) + +if __name__ == '__main__': + unittest.main() + + + + + + + + + + + + + + + + diff --git a/Homework/cs5000/hw06/hw06.org b/Homework/cs5000/hw06/hw06.org new file mode 100644 index 0000000..c48e3f5 --- /dev/null +++ b/Homework/cs5000/hw06/hw06.org @@ -0,0 +1,174 @@ +#+TITLE: HW 06 +#+AUTHOR: Elizabeth Hunt (A02364151) +#+STARTUP: entitiespretty fold inlineimages +#+LATEX_HEADER: \notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +#+LATEX: \setlength\parindent{20pt} +#+OPTIONS: toc:nil + +* Problem One +** 1 - { a^i b^j c^k | i > j > k } +We assume that there exists a Context Free Language, $L$ such that $L = { a^i b^j c^k | i > j > k }$. +Then by the Pumping Lemma for Context Free Languages, for each $z \in L$ of sufficient length $n$ we can +split $z$ into the sequence of substrings $uvwxy$ with $|vx| \geq 1$ and $|vwx| \le n$. Any such "pumped" +string $uv^i w x^i y \forall i \ge 0$ is also in $L$. + +Consider the string $a^{n+2} b^{n+1} c^{}^n \in L$ which is always longer than $n$ (the integer of the Pumping Lemma) +so it is of sufficient length. Splitting this up according to the aforementioned Lemma, we know +$|vwx| \le n$ and thus the string $vx$ contains either all of one letter or two different letters. + +If $vx$ contains only $a$'s or $b$'s then we can "pump" $vx$ 0 times to produce $z^* = u v^0 w x^0 y$ and +since $|vx| \geq 1$ then we lose $p \geq 1$ $a$'s or $b$'s. Thus, in the case of $a$, $(n+2)-p \leq n+1$ and +$z^*$ is not in $L$, and in the case of $b$, $(n+1)-p \leq n$, with the same conclusion. + +If $vx$ contains only $c$'s then we can "pump" $vx$ $n$ times to produce $z^* = u v^n w x^n y$ at least +$2n$ the number of $c's$ (which is always $\ge n$), and there would be equal or more $c$'s to +$b$'s and thus $z^* \notin L$. + +If $vx$ contains both $a$'s and $b$'s then we can "pump" $vx$ 0 times similar to the case of only $a$'s +and $b$'s to produce a string with an equal or less number of $b$'s than $c$'s. + +If $vx$ contains both $b$'s and $c$'s then we can "pump" $vx$ $3n$ times to come up with a string that +will always have $b$'s and $c$'s greater or eqaul to the number of $a$'s. + +** 2 - { a^i b^j | i = j^2 } + +We assume that there exists a Context Free Language, $L$ such that $L = { a^i b^j | i = j^2 }$. + +Then by the Pumping Lemma for Context Free Languages, for each $z \in L$ of sufficient length $n$ we can +split $z$ into the sequence of substrings $uvwxy$ with $|vx| \geq 1$ and $|vwx| \le n$. Any such "pumped" +string $uv^i w x^i y \forall i \ge 0$ is also in $L$. + +Consider the string $a^{n^2}^{} b^{}^n \in L$ which is always longer than $n$ (the integer of the Pumping Lemma) +so it is of sufficient length. Splitting this up according to the aforementioned Lemma, we know +$|vwx| \le n$ and thus the string $vx$ contains either all of one letter or two different letters. + +1. If $vx$ contains only $a$'s then we can "pump" $vx$ 0 times to produce $z^* = u v^0 w x^0 y$ and + since $|vx| \geq 1$ then we lose $p \geq 1$ $a$'s and thus $z^* = a^{n^2 - p} b^n \notin L$ as $n^2 - p \ne n^2$. + +2. If $vx$ contains only $b$'s then we can "pump" $vx$ 2 times to produce $z^* = u v^2 w x^2 y$ and + since $|vx| \geq 1$ then we add $p \geq 2$ $b$'s and thus $z^* = a^{n^2} b^{n+p} \notin L$ as $n^2 \ne (n + p)^2$. + +3. If $vx$ contains both $b$'s and $a$'s then we can prove that we can construct a number of times to pump + such that the relationship for $i = j^2$ cannot be satisfied: + + $v$ must contain only $a$'s and $x$ must contain only $b$'s; else we could pump and obtain a string + in which the order of $a$'s and $b$'s is disrupted. + + Let $y = |v|$ and $u = |x|$ with $1 \leq y + u \le n$ since $|vwx| \le n$ and $|vx| \geq 1$. + Then we can pump $p \geq 1$ times to create the string + $z^* = a^{(n^2 - y) + py} b^{(n - u) + pu} = a^{n^2 + p(y-1)} b^{n + p(u-1)}$. + + Then for any such $n, u, y$ we can find a $p$ such that + $(n + p(u - 1))(n + p(u - 1)) = n^2 + 2pn(u-1) + p^2(u-1)^2 \neq n^2 + p(y-1)$ + since $u$ and $y$ are positive. + +** 3 - { a^i | i is prime } + +We assume that there exists a Context Free Language, $L$ such that $L = { a^i b^j | i = j^2 }$. + +Then by the Pumping Lemma for Context Free Languages, for each $z \in L$ of sufficient length $n$ we can +split $z$ into the sequence of substrings $uvwxy$ with $|vx| \geq 1$ and $|vwx| \le n$. Any such "pumped" +string $uv^i w x^i y \forall i \ge 0$ is also in $L$. + +Consider the string $z = a^{p(n)} \in L$ where $p(n)$ is a function returning the first prime number greater +than $n$; this string is always longer than $n$ (the integer of the Pumping Lemma) so +it is of sufficient length. Splitting this up according to the aforementioned Lemma, we know +$|vwx| \le n$ and thus the string $vx$ is made up of one or more $a$'s. + +Given $t = |v|$ and $u = |x|$, and $1 \le t + u \le n$; we can simply pump $vx$ $p(n)$ times to obtain +the string $z^* = uv^{tp(n)} w x^{up(n)}y$ which is $a^{p(n) + tp(n) + up(n)}$. And $p(n) + tp(n) + up(n)$ is not prime +since it can be factored into $p(n)(1 + t + u)$; as either $t$ or $u$ is greater than one, then +$z^* \notin L$. + +* Problem Two + +[[https://bit.ly/cs5000-simponic-hw06-p02]] + + +* Problem Three + +[[https://bit.ly/cs5000-simponic-hw06-p03]] + +In english(ish): + +1. If the current symbol is $B$, move right and goto 2 + +2. If the current symbol is $a, b, c$, move right and goto 2. If the current symbol is $B$, move Left and goto 3. + If the current symbol is * we move left and goto 6. + +3. We're at the last $c$ in the string. If the current symbol is $c$ then we print $ and go left until + we see an $a$. Then, move Left and go to 4. + +4. If the current symbol is $b$ then we print * and go right until we see $. At which we move left and + goto 3. If the symbol is * then we move right and goto 5. + +5. If the current symbol is b, c, *, we move right and goto 5. If it's $ we move left and goto 2 to do the next + iteration. + +6. We move left until we hit $B$ at which we move right and goto 7. + +7. We're now at the beginning of the $a$'s after replacing all $c$'s with $ and $b$'s with *. If we read + an $a$ we print $+$ and goto 8. If we see a $-$ (which we replace $*$'s with), we accept. + +8. If the current symbol is $+, a, *$, we move right and goto 8. If we see $ or $-$ we move left and + goto 9. + +9. If the current symbol is $*$ then we print $-$ and goto 9. If we see $-$ we move left and goto 10. + +10. If the current symbol is $*, a$ then we move left and goto 10. If we see $+$ we move right and goto + 7 to do another iteration. + + +* Problem Four +We can write the control tuples for the two-tape turing machine in the form: $(q_{\text{from}} , s_1, s_2, a_1, a_2, q_{\text{to}})$ +where s_n is the expected symbol on tape $n$, $a_n$ is the action (R / L / new symbol) to perform on tape $n$, $q_{\text{from}}$ +is the current state, and $q_{\text{to}}$ is the next state. + +At a high level we can translate these control tuples to a single tape by separating the single tape into two sections; the +first section simulates the first tape, and the other the second tape. These can be split by a single symbol ~+~ not in the alphabet (with the +first cell also being ~+~, representing the beginning of the input on the first tape). Additionally, the position of the tape +head of the turing machine being simulated in its section can be delimited by some symbol not in the input alphabet in each section; call this +symbol ~*~. + +Thus, to build the initial tape we can construct the tape ~+ * + * ~ (the head being at the beginning). +Then, for each tuple in the two-tape turing machine $(q_{\text{from}} , s_1, s_2, a_1, a_2, q_{\text{to}})$ we construct a set of new states that will: + +1. Search until we find ~*~ (we're at the head of the first "tape"), at which we go right one, and if we read s_1 goto 2. +2. Search until we find ~*~ (we're at the head of the second "tape"), at which we go right one, and if we read s_2 goto 3. +3. We perform a_2. + + If $s_2$ is the ~+~ symbol, we perform a new set of states to analyze the next symbol after; if it's non-~+~ we shift all symbols proceeding + to the right (this is a catch for 4 in the case we need to overwrite the ~+~ cell delimiting the two sections) and print a blank symbol. Then continue. + + If a_2 is "R" then we go left one (to the ~*~), write s_2, and go right one. + + If a_2 is "L" then we go back 2 (to the symbol preceding ~*~) and from a new set of states constructed from all symbols in the alphabet go right and copy that symbol. + Then we go back one and print "*". + + Else, we print a_2. + + Finally, go left and goto 4. +4. Move left until we find ~*~ (we're now at the head of the first "tape") again and perform the same algorithm as 3 but with $s_2 \rightarrow s_1 , a_2 \rightarrow a_1$. Then goto 5. +5. Move left until we find the ~+~ symbol (we're at the head of the first tape) and move to the state corresponding to 1 with q_{\text{to}}. + +* Problem Five +We can write the control quadruples for the 3D turing machine in the form: $(q_{\text{from}}, s, a, q_{\text{to}})$ +where $s$ is the expected symbol and $a$ is the movement action $\{ +x, -x, +y, -y, +z, -z \}$ or a symbol to print; +where each movement action is a single step on the specified axis by either positive or negative one. + +At a high level we will apply our strategy in Problem 4 of delimination to construct several rows of tape into a +"matrix" and then scale those into several matrices to produce a 3-dimensional tape; as one could emulate with +~(make-array (list z y x))~. + +Then if we construct a one dimensional tape such that each "row" is a "tape" in the z axis then we "paste" the input +into a one dimensional tape in the form ~- = + * _ <...[(0, 0, 0), (0, 0, 1)...]>~ with the first five unique symbols not in the alphabet; +the ~-~ indicating a new "matrix" in the z-y plane, and each ~+~ symbol a new row in the z direction. But now, we need to keep track of +where we are in the $z$ and $y$ planes for every $x$. To do so we can also create another three new symbols not in the +alphabet; say ~*~ to stick with Problem 4 for the $z$ plane, ~=~ for the $y$ plane, and ~_~ for the actual placement of the +current head of the machine. + +Now, for each control tuple of the 3D turing machine we can construct a new set of states that will, at a high level: + +1. Search until we find ~_~ (we're at the head of the tape), at which we go right one, and if we read $s$ goto 2. +2. If $a$ is $\pm z$ then we move right or left. + + If this symbol is ~+~ we must then traverse to the very beginning of the tape and "increase the size" of every single $z$ since the + tape has the potential to now go in the $x$ or $y$ axes; we do this by searching for the first ~+~, move right, shift the entire tape + right one and print a blank symbol (to add an extra cell at the beginning), then continue searching for ~+~ and for each: shift the entire tape right one, + move left, print a blank symbol, move right two, shift everything to the right one, move left, and print a blank symbol (adding a blank cell before and after + each ~+~). + + Then we go back to the beginning of the tape and continue moving right until we see ~_~. +3. If $a$ is $\pm y$ or $\pm x$ then move left or right until the first instance of either ~=~ or ~-~ respectively and perform a similar kind of algorithm to copy + the rows or matrices with blank $z$ rows of the same size, adding rows / matrices if necessary should we hit the beginning or end of the tape (for $x$) or + a new "matrix" (~-~ for $y$).. diff --git a/Homework/cs5000/hw06/hw06.pdf b/Homework/cs5000/hw06/hw06.pdf new file mode 100644 index 0000000..d898ce4 Binary files /dev/null and b/Homework/cs5000/hw06/hw06.pdf differ diff --git a/Homework/cs5000/hw06/hw06.tex b/Homework/cs5000/hw06/hw06.tex new file mode 100644 index 0000000..3d0af5f --- /dev/null +++ b/Homework/cs5000/hw06/hw06.tex @@ -0,0 +1,220 @@ +% Created 2023-11-02 Thu 12:14 +% Intended LaTeX compiler: pdflatex +\documentclass[11pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{wrapfig} +\usepackage{rotating} +\usepackage[normalem]{ulem} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{capt-of} +\usepackage{hyperref} +\notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +\author{Elizabeth Hunt (A02364151)} +\date{\today} +\title{HW 06} +\hypersetup{ + pdfauthor={Elizabeth Hunt (A02364151)}, + pdftitle={HW 06}, + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 28.2 (Org mode 9.7-pre)}, + pdflang={English}} +\begin{document} + +\maketitle +\setlength\parindent{20pt} + +\section{Problem One} +\label{sec:orgf4c2128} +\subsection{1 - \{ a\textsuperscript{i} b\textsuperscript{j} c\textsuperscript{k} | i > j > k \}} +\label{sec:orgd221679} +We assume that there exists a Context Free Language, \(L\) such that \(L = { a^i b^j c^k | i > j > k }\). +Then by the Pumping Lemma for Context Free Languages, for each \(z \in L\) of sufficient length \(n\) we can +split \(z\) into the sequence of substrings \(uvwxy\) with \(|vx| \geq 1\) and \(|vwx| \le n\). Any such "pumped" +string \(uv^i w x^i y \forall i \ge 0\) is also in \(L\). + +Consider the string \(a^{n+2} b^{n+1} c^{}^n \in L\) which is always longer than \(n\) (the integer of the Pumping Lemma) +so it is of sufficient length. Splitting this up according to the aforementioned Lemma, we know +\(|vwx| \le n\) and thus the string \(vx\) contains either all of one letter or two different letters. + +If \(vx\) contains only \(a\)'s or \(b\)'s then we can "pump" \(vx\) 0 times to produce \(z^* = u v^0 w x^0 y\) and +since \(|vx| \geq 1\) then we lose \(p \geq 1\) \(a\)'s or \(b\)'s. Thus, in the case of \(a\), \((n+2)-p \leq n+1\) and +\(z^*\) is not in \(L\), and in the case of \(b\), \((n+1)-p \leq n\), with the same conclusion. + +If \(vx\) contains only \(c\)'s then we can "pump" \(vx\) \(n\) times to produce \(z^* = u v^n w x^n y\) at least +\(2n\) the number of \(c's\) (which is always \(\ge n\)), and there would be equal or more \(c\)'s to +\(b\)'s and thus \(z^* \notin L\). + +If \(vx\) contains both \(a\)'s and \(b\)'s then we can "pump" \(vx\) 0 times similar to the case of only \(a\)'s +and \(b\)'s to produce a string with an equal or less number of \(b\)'s than \(c\)'s. + +If \(vx\) contains both \(b\)'s and \(c\)'s then we can "pump" \(vx\) \(3n\) times to come up with a string that +will always have \(b\)'s and \(c\)'s greater or eqaul to the number of \(a\)'s. + +\subsection{2 - \{ a\textsuperscript{i} b\textsuperscript{j} | i = j\textsuperscript{2} \}} +\label{sec:org5f8cc3e} + +We assume that there exists a Context Free Language, \(L\) such that \(L = { a^i b^j | i = j^2 }\). + +Then by the Pumping Lemma for Context Free Languages, for each \(z \in L\) of sufficient length \(n\) we can +split \(z\) into the sequence of substrings \(uvwxy\) with \(|vx| \geq 1\) and \(|vwx| \le n\). Any such "pumped" +string \(uv^i w x^i y \forall i \ge 0\) is also in \(L\). + +Consider the string \(a^{n^2}^{} b^{}^n \in L\) which is always longer than \(n\) (the integer of the Pumping Lemma) +so it is of sufficient length. Splitting this up according to the aforementioned Lemma, we know +\(|vwx| \le n\) and thus the string \(vx\) contains either all of one letter or two different letters. + +\begin{enumerate} +\item If \(vx\) contains only \(a\)'s then we can "pump" \(vx\) 0 times to produce \(z^* = u v^0 w x^0 y\) and +since \(|vx| \geq 1\) then we lose \(p \geq 1\) \(a\)'s and thus \(z^* = a^{n^2 - p} b^n \notin L\) as \(n^2 - p \ne n^2\). + +\item If \(vx\) contains only \(b\)'s then we can "pump" \(vx\) 2 times to produce \(z^* = u v^2 w x^2 y\) and +since \(|vx| \geq 1\) then we add \(p \geq 2\) \(b\)'s and thus \(z^* = a^{n^2} b^{n+p} \notin L\) as \(n^2 \ne (n + p)^2\). + +\item If \(vx\) contains both \(b\)'s and \(a\)'s then we can prove that we can construct a number of times to pump +such that the relationship for \(i = j^2\) cannot be satisfied: +\begin{itemize} +\item \(v\) must contain only \(a\)'s and \(x\) must contain only \(b\)'s; else we could pump and obtain a string +in which the order of \(a\)'s and \(b\)'s is disrupted. +\item Let \(y = |v|\) and \(u = |x|\) with \(1 \leq y + u \le n\) since \(|vwx| \le n\) and \(|vx| \geq 1\). +Then we can pump \(p \geq 1\) times to create the string +\(z^* = a^{(n^2 - y) + py} b^{(n - u) + pu} = a^{n^2 + p(y-1)} b^{n + p(u-1)}\). +\item Then for any such \(n, u, y\) we can find a \(p\) such that +\((n + p(u - 1))(n + p(u - 1)) = n^2 + 2pn(u-1) + p^2(u-1)^2 \neq n^2 + p(y-1)\) +since \(u\) and \(y\) are positive. +\end{itemize} +\end{enumerate} + +\subsection{3 - \{ a\textsuperscript{i} | i is prime \}} +\label{sec:orgc7ac705} + +We assume that there exists a Context Free Language, \(L\) such that \(L = { a^i b^j | i = j^2 }\). + +Then by the Pumping Lemma for Context Free Languages, for each \(z \in L\) of sufficient length \(n\) we can +split \(z\) into the sequence of substrings \(uvwxy\) with \(|vx| \geq 1\) and \(|vwx| \le n\). Any such "pumped" +string \(uv^i w x^i y \forall i \ge 0\) is also in \(L\). + +Consider the string \(z = a^{p(n)} \in L\) where \(p(n)\) is a function returning the first prime number greater +than \(n\); this string is always longer than \(n\) (the integer of the Pumping Lemma) so +it is of sufficient length. Splitting this up according to the aforementioned Lemma, we know +\(|vwx| \le n\) and thus the string \(vx\) is made up of one or more \(a\)'s. + +Given \(t = |v|\) and \(u = |x|\), and \(1 \le t + u \le n\); we can simply pump \(vx\) \(p(n)\) times to obtain +the string \(z^* = uv^{tp(n)} w x^{up(n)}y\) which is \(a^{p(n) + tp(n) + up(n)}\). And \(p(n) + tp(n) + up(n)\) is not prime +since it can be factored into \(p(n)(1 + t + u)\); as either \(t\) or \(u\) is greater than one, then +\(z^* \notin L\). + +\section{Problem Two} +\label{sec:org0e7b7e5} + +\url{https://bit.ly/cs5000-simponic-hw06-p02} + + +\section{Problem Three} +\label{sec:org3b85eb1} + +\url{https://bit.ly/cs5000-simponic-hw06-p03} + +In english(ish): + +\begin{enumerate} +\item If the current symbol is \(B\), move right and goto 2 + +\item If the current symbol is \(a, b, c\), move right and goto 2. If the current symbol is \(B\), move Left and goto 3. +If the current symbol is * we move left and goto 6. + +\item We're at the last \(c\) in the string. If the current symbol is \(c\) then we print \$ and go left until +we see an \(a\). Then, move Left and go to 4. + +\item If the current symbol is \(b\) then we print * and go right until we see \$. At which we move left and +goto 3. If the symbol is * then we move right and goto 5. + +\item If the current symbol is b, c, *, we move right and goto 5. If it's \$ we move left and goto 2 to do the next +iteration. + +\item We move left until we hit \(B\) at which we move right and goto 7. + +\item We're now at the beginning of the \(a\)'s after replacing all \(c\)'s with \$ and \(b\)'s with *. If we read +an \(a\) we print \(+\) and goto 8. If we see a \(-\) (which we replace \(*\)'s with), we accept. + +\item If the current symbol is \(+, a, *\), we move right and goto 8. If we see \$ or \(-\) we move left and +goto 9. + +\item If the current symbol is \(*\) then we print \(-\) and goto 9. If we see \(-\) we move left and goto 10. + +\item If the current symbol is \(*, a\) then we move left and goto 10. If we see \(+\) we move right and goto +7 to do another iteration. +\end{enumerate} + + +\section{Problem Four} +\label{sec:orgdacb3cd} +We can write the control tuples for the two-tape turing machine in the form: \((q_{\text{from}} , s_1, s_2, a_1, a_2, q_{\text{to}})\) +where s\textsubscript{n} is the expected symbol on tape \(n\), \(a_n\) is the action (R / L / new symbol) to perform on tape \(n\), \(q_{\text{from}}\) +is the current state, and \(q_{\text{to}}\) is the next state. + +At a high level we can translate these control tuples to a single tape by separating the single tape into two sections; the +first section simulates the first tape, and the other the second tape. These can be split by a single symbol \texttt{+} not in the alphabet (with the +first cell also being \texttt{+}, representing the beginning of the input on the first tape). Additionally, the position of the tape +head of the turing machine being simulated in its section can be delimited by some symbol not in the input alphabet in each section; call this +symbol \texttt{*}. + +Thus, to build the initial tape we can construct the tape \texttt{+ * + * } (the head being at the beginning). +Then, for each tuple in the two-tape turing machine \((q_{\text{from}} , s_1, s_2, a_1, a_2, q_{\text{to}})\) we construct a set of new states that will: + +\begin{enumerate} +\item Search until we find \texttt{*} (we're at the head of the first "tape"), at which we go right one, and if we read s\textsubscript{1} goto 2. +\item Search until we find \texttt{*} (we're at the head of the second "tape"), at which we go right one, and if we read s\textsubscript{2} goto 3. +\item We perform a\textsubscript{2}. +\begin{itemize} +\item If \(s_2\) is the \texttt{+} symbol, we perform a new set of states to analyze the next symbol after; if it's non-\texttt{+} we shift all symbols proceeding +to the right (this is a catch for 4 in the case we need to overwrite the \texttt{+} cell delimiting the two sections) and print a blank symbol. Then continue. +\item If a\textsubscript{2} is "R" then we go left one (to the \texttt{*}), write s\textsubscript{2}, and go right one. +\item If a\textsubscript{2} is "L" then we go back 2 (to the symbol preceding \texttt{*}) and from a new set of states constructed from all symbols in the alphabet go right and copy that symbol. +Then we go back one and print "*". +\item Else, we print a\textsubscript{2}. +\item Finally, go left and goto 4. +\end{itemize} +\item Move left until we find \texttt{*} (we're now at the head of the first "tape") again and perform the same algorithm as 3 but with \(s_2 \rightarrow s_1 , a_2 \rightarrow a_1\). Then goto 5. +\item Move left until we find the \texttt{+} symbol (we're at the head of the first tape) and move to the state corresponding to 1 with q\textsubscript{\text{to}}. +\end{enumerate} + +\section{Problem Five} +\label{sec:orgab00621} +We can write the control quadruples for the 3D turing machine in the form: \((q_{\text{from}}, s, a, q_{\text{to}})\) +where \(s\) is the expected symbol and \(a\) is the movement action \(\{ +x, -x, +y, -y, +z, -z \}\) or a symbol to print; +where each movement action is a single step on the specified axis by either positive or negative one. + +At a high level we will apply our strategy in Problem 4 of delimination to construct several rows of tape into a +"matrix" and then scale those into several matrices to produce a 3-dimensional tape; as one could emulate with +\texttt{(make-array (list z y x))}. + +Then if we construct a one dimensional tape such that each "row" is a "tape" in the z axis then we "paste" the input +into a one dimensional tape in the form \texttt{- = + * \_ <...[(0, 0, 0), (0, 0, 1)...]>} with the first five unique symbols not in the alphabet; +the \texttt{-} indicating a new "matrix" in the z-y plane, and each \texttt{+} symbol a new row in the z direction. But now, we need to keep track of +where we are in the \(z\) and \(y\) planes for every \(x\). To do so we can also create another three new symbols not in the +alphabet; say \texttt{*} to stick with Problem 4 for the \(z\) plane, \texttt{=} for the \(y\) plane, and \texttt{\_} for the actual placement of the +current head of the machine. + +Now, for each control tuple of the 3D turing machine we can construct a new set of states that will, at a high level: + +\begin{enumerate} +\item Search until we find \texttt{\_} (we're at the head of the tape), at which we go right one, and if we read \(s\) goto 2. +\item If \(a\) is \(\pm z\) then we move right or left. +\begin{itemize} +\item If this symbol is \texttt{+} we must then traverse to the very beginning of the tape and "increase the size" of every single \(z\) since the +tape has the potential to now go in the \(x\) or \(y\) axes; we do this by searching for the first \texttt{+}, move right, shift the entire tape +right one and print a blank symbol (to add an extra cell at the beginning), then continue searching for \texttt{+} and for each: shift the entire tape right one, +move left, print a blank symbol, move right two, shift everything to the right one, move left, and print a blank symbol (adding a blank cell before and after +each \texttt{+}). +\item Then we go back to the beginning of the tape and continue moving right until we see \texttt{\_}. +\end{itemize} +\item If \(a\) is \(\pm y\) or \(\pm x\) then move left or right until the first instance of either \texttt{=} or \texttt{-} respectively and perform a similar kind of algorithm to copy +the rows or matrices with blank \(z\) rows of the same size, adding rows / matrices if necessary should we hit the beginning or end of the tape (for \(x\)) or +a new "matrix" (\texttt{-} for \(y\)).. +\end{enumerate} +\end{document} \ No newline at end of file diff --git a/Homework/cs5000/hw07/hw07.org b/Homework/cs5000/hw07/hw07.org new file mode 100644 index 0000000..b88e959 --- /dev/null +++ b/Homework/cs5000/hw07/hw07.org @@ -0,0 +1,58 @@ +#+TITLE: HW 07 +#+AUTHOR: Elizabeth Hunt (A02364151) +#+STARTUP: entitiespretty fold inlineimages +#+LATEX_HEADER: \notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +#+LATEX: \setlength\parindent{20pt} +#+OPTIONS: toc:nil + +* Problem One + +\begin{verbatim} +1. [A1] Y <- Y - 1 +2. IF Y != 0 GOTO A +3. [B1] IF X1 != 0 GOTO C +4. GOTO E +5. [C1] X1 <- X1 - 1 +6. Y <- Y + 1 +7. Y <- Y + 1 +8. Y <- Y + 1 +9. GOTO B1 +\end{verbatim} + +* Problem Two +1. $(1, \sigma) | \sigma = \{X_1 = 2, Y = 0, Z_1 = 0\}$ +2. $(4, \sigma) | \sigma = \{X_1 = 2, Y = 0, Z_1 = 0\}$ +3. $(5, \sigma) | \sigma = \{X_1 = 1, Y = 0, Z_1 = 0\}$ +4. $(6, \sigma) | \sigma = \{X_1 = 1, Y = 1, Z_1 = 0\}$ +5. $(7, \sigma) | \sigma = \{X_1 = 1, Y = 1, Z_1 = 1\}$ +6. $(1, \sigma) | \sigma = \{X_1 = 1, Y = 1, Z_1 = 1\}$ +7. $(4, \sigma) | \sigma = \{X_1 = 1, Y = 1, Z_1 = 1\}$ +8. $(5, \sigma) | \sigma = \{X_1 = 0, Y = 1, Z_1 = 1\}$ +9. $(6, \sigma) | \sigma = \{X_1 = 0, Y = 2, Z_1 = 1\}$ +10. $(7, \sigma) | \sigma = \{X_1 = 0, Y = 2, Z_1 = 2\}$ +11. $(1, \sigma) | \sigma = \{X_1 = 0, Y = 2, Z_1 = 2\}$ +12. $(2, \sigma) | \sigma = \{X_1 = 0, Y = 2, Z_1 = 2\}$ +13. $(3, \sigma) | \sigma = \{X_1 = 0, Y = 2, Z_1 = 3\}$ +14. $(8, \sigma) | \sigma = \{X_1 = 0, Y = 2, Z_1 = 3\}$ + +* Problem Three +\begin{verbatim} +1. [A1] Y <- Y +2. Y <- Y +3. Y <- Y +4. Y <- Y +5. Y <- Y +6. GOTO E +\end{verbatim} + +* Problem Four +Let $P$ be a program in $L$ that computes $g(x_1, x_2, \cdots, x_n)$; a list of instructions $[I_1, I_2, \cdots, I_k]$, +where $I_1$ is the first instruction and $I_k$ the last. + +Then, define $P^i | i \in N$ to be a new program such that each instruction $I_n$ replaces $I_{n+i}$ (when $n=0$ +we perform no operation), appending +to the end of the instruction list if necessary. We then replace the sublist $[I_1, \cdots, I_i]$ with +$[Y \leftarrow Y]^i$ in the program $P$. As $Y \leftarrow Y$ produces no side effects then $P^i$ still computes $g$. + +Finally, for all $i \in N$ the length of $P^i$ is greater than $k$ and thus there are countably infinitely +many $L$ -programs to compute $g$. diff --git a/Homework/cs5000/hw07/hw07.pdf b/Homework/cs5000/hw07/hw07.pdf new file mode 100644 index 0000000..6d555a1 Binary files /dev/null and b/Homework/cs5000/hw07/hw07.pdf differ diff --git a/Homework/cs5000/hw07/hw07.tex b/Homework/cs5000/hw07/hw07.tex new file mode 100644 index 0000000..53c92bd --- /dev/null +++ b/Homework/cs5000/hw07/hw07.tex @@ -0,0 +1,88 @@ +% Created 2023-11-04 Sat 18:02 +% Intended LaTeX compiler: pdflatex +\documentclass[11pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{wrapfig} +\usepackage{rotating} +\usepackage[normalem]{ulem} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{capt-of} +\usepackage{hyperref} +\notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +\author{Elizabeth Hunt (A02364151)} +\date{\today} +\title{HW 07} +\hypersetup{ + pdfauthor={Elizabeth Hunt (A02364151)}, + pdftitle={HW 07}, + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 28.2 (Org mode 9.7-pre)}, + pdflang={English}} +\begin{document} + +\maketitle +\setlength\parindent{20pt} + +\section{Problem One} +\label{sec:orgd2348b9} + +\begin{verbatim} +1. [A1] Y <- Y - 1 +2. IF Y != 0 GOTO A +3. [B1] IF X1 != 0 GOTO C +4. GOTO E +5. [C1] X1 <- X1 - 1 +6. Y <- Y + 1 +7. Y <- Y + 1 +8. Y <- Y + 1 +9. GOTO B1 +\end{verbatim} + +\section{Problem Two} +\label{sec:org07c7432} +\begin{enumerate} +\item \((1, \sigma) | \sigma = \{X_1 = 2, Y = 0, Z_1 = 0\}\) +\item \((4, \sigma) | \sigma = \{X_1 = 2, Y = 0, Z_1 = 0\}\) +\item \((5, \sigma) | \sigma = \{X_1 = 1, Y = 0, Z_1 = 0\}\) +\item \((6, \sigma) | \sigma = \{X_1 = 1, Y = 1, Z_1 = 0\}\) +\item \((7, \sigma) | \sigma = \{X_1 = 1, Y = 1, Z_1 = 1\}\) +\item \((1, \sigma) | \sigma = \{X_1 = 1, Y = 1, Z_1 = 1\}\) +\item \((4, \sigma) | \sigma = \{X_1 = 1, Y = 1, Z_1 = 1\}\) +\item \((5, \sigma) | \sigma = \{X_1 = 0, Y = 1, Z_1 = 1\}\) +\item \((6, \sigma) | \sigma = \{X_1 = 0, Y = 2, Z_1 = 1\}\) +\item \((7, \sigma) | \sigma = \{X_1 = 0, Y = 2, Z_1 = 2\}\) +\item \((1, \sigma) | \sigma = \{X_1 = 0, Y = 2, Z_1 = 2\}\) +\item \((2, \sigma) | \sigma = \{X_1 = 0, Y = 2, Z_1 = 2\}\) +\item \((3, \sigma) | \sigma = \{X_1 = 0, Y = 2, Z_1 = 3\}\) +\item \((8, \sigma) | \sigma = \{X_1 = 0, Y = 2, Z_1 = 3\}\) +\end{enumerate} + +\section{Problem Three} +\label{sec:orgf9c18d1} +\begin{verbatim} +1. [A1] Y <- Y +2. Y <- Y +3. Y <- Y +4. Y <- Y +5. Y <- Y +6. GOTO E +\end{verbatim} + +\section{Problem Four} +\label{sec:org49ea029} +Let \(P\) be a program in \(L\) that computes \(g(x_1, x_2, \cdots, x_n)\); a list of instructions \([I_1, I_2, \cdots, I_k]\), +where \(I_1\) is the first instruction and \(I_k\) the last. + +Then, define \(P^i | i \in N\) to be a new program such that each instruction \(I_n\) replaces \(I_{n+i}\) (when \(n=0\) +we perform no operation), appending +to the end of the instruction list if necessary. We then replace the sublist \([I_1, \cdots, I_i]\) with +\([Y \leftarrow Y]^i\) in the program \(P\). As \(Y \leftarrow Y\) produces no side effects then \(P^i\) still computes \(g\). + +Finally, for all \(i \in N\) the length of \(P^i\) is greater than \(k\) and thus there are countably infinitely +many \(L\) -programs to compute \(g\). +\end{document} \ No newline at end of file diff --git a/Homework/cs5000/hw08/hw08.org b/Homework/cs5000/hw08/hw08.org new file mode 100644 index 0000000..fddc47b --- /dev/null +++ b/Homework/cs5000/hw08/hw08.org @@ -0,0 +1,89 @@ +#+TITLE: HW 08 +#+AUTHOR: Elizabeth Hunt (A02364151) +#+STARTUP: entitiespretty fold inlineimages +#+LATEX_HEADER: \notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +#+LATEX: \setlength\parindent{0pt} +#+OPTIONS: toc:nil + +* Problem One +Let $m$ be the number of statements that don't produce an effect on $Y$ i.e. +$\{ Y \leftarrow Y, X1 \leftarrow X1 + 1, \cdots \}$, $n$ be the number of statements $Y \leftarrow Y - 1$, and +$o$ be the number of statements $Y \leftarrow Y + 1$. A straightline program of length $k$ +must have $m + n + o = k$ instructions. Then, the terminal snapshot ends with +$Y = o - n + 0m$. Thus, $Y$ is at a maximum if and only if $o = k$, thus $Y = k$, +and at a minimum if and only if $o = n$, thus $Y = 0$ (we cannot have $n > o$ as +by definition of $L$, for a valid program $P$ $Y$ is a non-negative number). + +* Problem Two +Let $P$ be a program in $L$ that computes $f$. Then $f$ is partially computable +by definition, and is partially computable in $L++$ trivially since $L++$ is a +"superset" of $L$. ($L++ \Leftarrow L$). + +Then let $Q$ be a program in $L++$ that computes $f$, $f$ is partially computable +if we can convert $Q$ into $L$. For each instruction $i \in Q$, if $i$ is in the form +$V \leftarrow k | k \in N$ then we replace $i$ with the sequence of instructions and unique labels +(with the notation \cdots representing a reapeating instruction until the instruction is the +following index), else write $i$ ($L++ \Rightarrow L$). + +\begin{verbatim} +1. [A1] IF V != 0 GOTO B1 +2. GOTO C1 +3. [B1] V <- V - 1 +4. GOTO A1 +5. [C1] V <- V + 1 +... V <- V + 1 +(5 + k - 1). V <- V + 1 +\end{verbatim} + +And thus any program in $L++$ is also partially computable. + +* Problem Three +For $n=0$, $i(n, x) = f^0(x) = x$ is primitive recursive since it can be represented as +a projection function $u_1^1(x) = x$. If $f^n$ is primitive recursive, then so is $f^{n+1}$, as $f^{n+1}$ +is a finite composition $f(f^n)$. By induction, for any $n \in N$, $i(n, x)$ is primitive recursive, and thus computable. + +* Problem Four +** One +Let $m \in N$ represent the number of compositions in a function such that the set containing all $n$ -ary +functions with "composition number" $m$ are of the form + +$f(x_1, \cdots, x_n) = g(f_1(x_1, \cdots, x_n), \cdots, f_j(x_1, \cdots, x_n))$ +where each $f_i$ is in the set of functions with a "composition number" $\le m - 1$. Except for the case in which +$m = 0$ - the initial functions; which are all of the form $k$ or $x_i + k$. + +Then, let $F^m | m \in N$ represent the set of all functions of composition number $m$ or less, +and assume that $\forall f \in F^m$ are of either form $k$ or $x_i + k$. Then, $g \in F^{m+1} | m \in N$'s elements +are $g(x_1, \cdots, x_n) = f(f_1(x_1, \cdots, x_n), \cdots, f_j(x_1, \cdots, x_n))$ where $f$ is an initial function, by definition, and each +$f_i | 1 \le i \le j \in F^m$. +1. If $f$ is the Zero function $g$ is in the form $k = 0$ +2. If $f$ is the Successor function $g$ is some $f_i(\cdots) + 1$ which by assumption is thus $(x_i + k) + 1 \Rightarrow x_i + k$ or $k + 1 \Rightarrow k$. +3. If $f$ is the Projection function $g$ is some $f_i(\cdots)$ which by assumption is $(x_i + k)$ or $k$. + +Finally, by induction, $\forall f(x_1, \cdots, x_n) \in$ ~COMP~, $f$ is thus in the form $k$ or $x_i + k | 1 \le i \le n$. + +** Two +By what we showed in One, $f(x_1, \cdots, x_n)$ is dependent on a single $x_i \in {x_1, \cdots, x_n}$ and produces $r = (x_i + k)$ or $r = k$. Then $f(y_1, \cdots, y_n) = (y_i + k) | k$ +for the same $i$. So if for all $i | 1 \le i \le n$, $x_i \le y_i$ then $(y_i + k) \ge (x_i + k)$ or $k = k$. Thus in both cases $f(y_1, \cdots, y_n) \ge f(x_1, \cdots, x_n)$ +and is thus monotonic. + +** Three +Yes. Firstly, every $f \in$ ~COMP~ is primitive recursive, just without the recursion, so it is a subset of the set of all primitive recursive +functions. + +Consider the (proven in class) primitive recursive function $f(x_1, x_2) = x_1 * x_2$, and the equivalent $g \in$ ~COMP~. $g(x_1, x_2)$ is equivalent to +$x_1 + k$, $x_2 + k$, or $k$. Then there all elements of $\{f(x_1, x_2 + 1), f(x_1 + 1, x_2), f(x_1, x_2)\} | x_1, x_2 > 1$ cannot be present in +$\{g(x_1, x_2 + 1), g(x_1 + 1, x_2), g(x_1, x_2)\}$ for the same $x_1, x_2$ due to the dependence relation, which is a contradiction to $f$ and $g$ +being equivalent. + +** Four +Yes. By the fact that all primitive recursive functions are computable, ~COMP~ being a set of primitive recursive functions from Three, is a subset of computable functions. +However, we also showed in Three that there exists a computable (primitive recursive) function which is not in ~COMP~, so ~COMP~ is not equivalent to the set +of all computable functions. + +* Problem Five +1. Let $a(x_1, x_2) = x_1 + x_2$ and $m(x_1, x_2) = x_1 * x_2$ which are primitive recursive by proofs in class. +2. Let $t(x_1)$ be the composition of the successor function $s$ 10 times on the zero function $z$ function: $t(x_1) = s(s(\cdots(n(x_1))))$, and is primitive recursive. +3. Let $v(x_1)$ be $v(x_1) = a(x_1, a(x_1, a(x_1, a(x_1, u_1^1(x_1)))))$, which is primitive recursive. +4. Let $w(x_1)$ be $w(x_1) = a(t(x_1), v(x_1))$, which is primitive recursive. +5. Let $y(x_1)$ be $y(x_1) = m(m(x_1, x_1), s(s(n(x_1))))$, which is primitive recursive. +6. Then $f(x_1)$ is $a(w(x_1), y(x_1))$, which is primitive recursive. diff --git a/Homework/cs5000/hw08/hw08.pdf b/Homework/cs5000/hw08/hw08.pdf new file mode 100644 index 0000000..f297511 Binary files /dev/null and b/Homework/cs5000/hw08/hw08.pdf differ diff --git a/Homework/cs5000/hw08/hw08.tex b/Homework/cs5000/hw08/hw08.tex new file mode 100644 index 0000000..c20ca1f --- /dev/null +++ b/Homework/cs5000/hw08/hw08.tex @@ -0,0 +1,118 @@ +% Created 2023-11-11 Sat 20:04 +% Intended LaTeX compiler: pdflatex +\documentclass[11pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{wrapfig} +\usepackage{rotating} +\usepackage[normalem]{ulem} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{capt-of} +\usepackage{hyperref} +\notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +\author{Elizabeth Hunt (A02364151)} +\date{\today} +\title{HW 08} +\hypersetup{ + pdfauthor={Elizabeth Hunt (A02364151)}, + pdftitle={HW 08}, + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 29.1 (Org mode 9.7-pre)}, + pdflang={English}} +\begin{document} + +\maketitle +\setlength\parindent{0pt} +\section{Problem One} +\label{sec:org7aa3a78} +Let \(m\) be the number of statements that don't produce an effect on \(Y\) i.e. +\(\{ Y \leftarrow Y, X1 \leftarrow X1 + 1, \cdots \}\), \(n\) be the number of statements \(Y \leftarrow Y - 1\), and +\(o\) be the number of statements \(Y \leftarrow Y + 1\). A straightline program of length \(k\) +must have \(m + n + o = k\) instructions. Then, the terminal snapshot ends with +\(Y = o - n + 0m\). Thus, \(Y\) is at a maximum if and only if \(o = k\), thus \(Y = k\), +and at a minimum if and only if \(o = n\), thus \(Y = 0\) (we cannot have \(n > o\) as +by definition of \(L\), for a valid program \(P\) \(Y\) is a non-negative number). +\section{Problem Two} +\label{sec:orgb9efdfb} +Let \(P\) be a program in \(L\) that computes \(f\). Then \(f\) is partially computable +by definition, and is partially computable in \(L++\) trivially since \(L++\) is a +"superset" of \(L\). (\(L++ \Leftarrow L\)). + +Then let \(Q\) be a program in \(L++\) that computes \(f\), \(f\) is partially computable +if we can convert \(Q\) into \(L\). For each instruction \(i \in Q\), if \(i\) is in the form +\(V \leftarrow k | k \in N\) then we replace \(i\) with the sequence of instructions and unique labels +(with the notation \(\cdots{}\) representing a reapeating instruction until the instruction is the +following index), else write \(i\) (\(L++ \Rightarrow L\)). + +\begin{verbatim} +1. [A1] IF V != 0 GOTO B1 +2. GOTO C1 +3. [B1] V <- V - 1 +4. GOTO A1 +5. [C1] V <- V + 1 +... V <- V + 1 +(5 + k - 1). V <- V + 1 +\end{verbatim} + +And thus any program in \(L++\) is also partially computable. +\section{Problem Three} +\label{sec:org53e881b} +For \(n=0\), \(i(n, x) = f^0(x) = x\) is primitive recursive since it can be represented as +a projection function \(u_1^1(x) = x\). If \(f^n\) is primitive recursive, then so is \(f^{n+1}\), as \(f^{n+1}\) +is a finite composition \(f(f^n)\). By induction, for any \(n \in N\), \(i(n, x)\) is primitive recursive, and thus computable. +\section{Problem Four} +\label{sec:orgbc1477c} +\subsection{One} +\label{sec:org96da465} +Let \(m \in N\) represent the number of compositions in a function such that the set containing all \(n\) -ary +functions with "composition number" \(m\) are of the form + +\(f(x_1, \cdots, x_n) = g(f_1(x_1, \cdots, x_n), \cdots, f_j(x_1, \cdots, x_n))\) +where each \(f_i\) is in the set of functions with a "composition number" \(\le m - 1\). Except for the case in which +\(m = 0\) - the initial functions; which are all of the form \(k\) or \(x_i + k\). + +Then, let \(F^m | m \in N\) represent the set of all functions of composition number \(m\) or less, +and assume that \(\forall f \in F^m\) are of either form \(k\) or \(x_i + k\). Then, \(g \in F^{m+1} | m \in N\)'s elements +are \(g(x_1, \cdots, x_n) = f(f_1(x_1, \cdots, x_n), \cdots, f_j(x_1, \cdots, x_n))\) where \(f\) is an initial function, by definition, and each +\(f_i | 1 \le i \le j \in F^m\). +\begin{enumerate} +\item If \(f\) is the Zero function \(g\) is in the form \(k = 0\) +\item If \(f\) is the Successor function \(g\) is some \(f_i(\cdots) + 1\) which by assumption is thus \((x_i + k) + 1 \Rightarrow x_i + k\) or \(k + 1 \Rightarrow k\). +\item If \(f\) is the Projection function \(g\) is some \(f_i(\cdots)\) which by assumption is \((x_i + k)\) or \(k\). +\end{enumerate} + +Finally, by induction, \(\forall f(x_1, \cdots, x_n) \in\) \texttt{COMP}, \(f\) is thus in the form \(k\) or \(x_i + k | 1 \le i \le n\). +\subsection{Two} +\label{sec:org74c3eb4} +By what we showed in One, \(f(x_1, \cdots, x_n)\) is dependent on a single \(x_i \in {x_1, \cdots, x_n}\) and produces \(r = (x_i + k)\) or \(r = k\). Then \(f(y_1, \cdots, y_n) = (y_i + k) | k\) +for the same \(i\). So if for all \(i | 1 \le i \le n\), \(x_i \le y_i\) then \((y_i + k) \ge (x_i + k)\) or \(k = k\). Thus in both cases \(f(y_1, \cdots, y_n) \ge f(x_1, \cdots, x_n)\) +and is thus monotonic. +\subsection{Three} +\label{sec:org8b3878c} +Yes. Firstly, every \(f \in\) \texttt{COMP} is primitive recursive, just without the recursion, so it is a subset of the set of all primitive recursive +functions. + +Consider the (proven in class) primitive recursive function \(f(x_1, x_2) = x_1 * x_2\), and the equivalent \(g \in\) \texttt{COMP}. \(g(x_1, x_2)\) is equivalent to +\(x_1 + k\), \(x_2 + k\), or \(k\). Then there all elements of \(\{f(x_1, x_2 + 1), f(x_1 + 1, x_2), f(x_1, x_2)\} | x_1, x_2 > 1\) cannot be present in +\(\{g(x_1, x_2 + 1), g(x_1 + 1, x_2), g(x_1, x_2)\}\) for the same \(x_1, x_2\) due to the dependence relation, which is a contradiction to \(f\) and \(g\) +being equivalent. +\subsection{Four} +\label{sec:orgcea60eb} +Yes. By the fact that all primitive recursive functions are computable, \texttt{COMP} being a set of primitive recursive functions from Three, is a subset of computable functions. +However, we also showed in Three that there exists a computable (primitive recursive) function which is not in \texttt{COMP}, so \texttt{COMP} is not equivalent to the set +of all computable functions. +\section{Problem Five} +\label{sec:orgab79ce2} +\begin{enumerate} +\item Let \(a(x_1, x_2) = x_1 + x_2\) and \(m(x_1, x_2) = x_1 * x_2\) which are primitive recursive by proofs in class. +\item Let \(t(x_1)\) be the composition of the successor function \(s\) 10 times on the zero function \(z\) function: \(t(x_1) = s(s(\cdots(n(x_1))))\), and is primitive recursive. +\item Let \(v(x_1)\) be \(v(x_1) = a(x_1, a(x_1, a(x_1, a(x_1, u_1^1(x_1)))))\), which is primitive recursive. +\item Let \(w(x_1)\) be \(w(x_1) = a(t(x_1), v(x_1))\), which is primitive recursive. +\item Let \(y(x_1)\) be \(y(x_1) = m(m(x_1, x_1), s(s(n(x_1))))\), which is primitive recursive. +\item Then \(f(x_1)\) is \(a(w(x_1), y(x_1))\), which is primitive recursive. +\end{enumerate} +\end{document} diff --git a/Homework/cs5000/midterm/cs5000_midterm_01.pdf b/Homework/cs5000/midterm/cs5000_midterm_01.pdf new file mode 100644 index 0000000..fd2ea3c Binary files /dev/null and b/Homework/cs5000/midterm/cs5000_midterm_01.pdf differ diff --git a/Homework/cs5000/midterm/img/6b.png b/Homework/cs5000/midterm/img/6b.png new file mode 100644 index 0000000..aec6bad Binary files /dev/null and b/Homework/cs5000/midterm/img/6b.png differ diff --git a/Homework/cs5000/midterm/img/7.png b/Homework/cs5000/midterm/img/7.png new file mode 100644 index 0000000..7abf636 Binary files /dev/null and b/Homework/cs5000/midterm/img/7.png differ diff --git a/Homework/cs5000/midterm/img/p6.png b/Homework/cs5000/midterm/img/p6.png new file mode 100644 index 0000000..f1a268a Binary files /dev/null and b/Homework/cs5000/midterm/img/p6.png differ diff --git a/Homework/cs5000/midterm/img/prob_2_parse_tree.png b/Homework/cs5000/midterm/img/prob_2_parse_tree.png new file mode 100644 index 0000000..5600029 Binary files /dev/null and b/Homework/cs5000/midterm/img/prob_2_parse_tree.png differ diff --git a/Homework/cs5000/midterm/midterm.org b/Homework/cs5000/midterm/midterm.org new file mode 100644 index 0000000..1ad41f7 --- /dev/null +++ b/Homework/cs5000/midterm/midterm.org @@ -0,0 +1,188 @@ +#+TITLE: Theory of Computability Midterm 1 +#+AUTHOR: Elizabeth Hunt (A02364151) +#+STARTUP: entitiespretty fold inlineimages +#+LATEX_HEADER: \notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +#+LATEX: \setlength\parindent{20pt} +#+OPTIONS: toc:nil + +* Problem 1 +** Stage 1 +We skip Stage 1; there are no productions in the form $A \rightarrow BC$ or $A \rightarrow s$. + +$P' = \{ \}$ + +** Stage 2 +$P' = \{ C_a \rightarrow a , C_b \rightarrow b, C_c \rightarrow c, C_d \rightarrow d \}$ + +And our new productions are $\{ S \rightarrow C_a S C_b C_b , S \rightarrow C_a S C_a , S \rightarrow C_b S C_a C_a , S \rightarrow C_b S C_b , S \rightarrow C_c C_d \}$ + +** Stage 3 + +We replace $S \rightarrow C_a S C_b C_b$ with $\{ S \rightarrow C_a D_1 , D_1 \rightarrow S D_2 , D_2 \rightarrow C_b C_b \}$ + +We replace $S \rightarrow C_a S C_a$ with $\{ S \rightarrow C_a D_3, D_3 \rightarrow S C_a \}$ + +We replace $S \rightarrow C_b S C_a C_a$ with $\{ S \rightarrow C_b D_4 , D_4 \rightarrow S D_5 , D_5 \rightarrow C_a C_a \}$ + +We replace $S \rightarrow C_b S C_b$ with $\{ S \rightarrow C_b D_6 , D_6 \rightarrow S C_b \}$. + +We add $S \rightarrow C_c C_d$ as it is in CNF already. + +Thus, + +\begin{align*} +P' &= \{ C_a \rightarrow a , C_b \rightarrow b, C_c \rightarrow c, C_d \rightarrow d \} \\ + & \cup \{ S \rightarrow C_a D_1 , D_1 \rightarrow S D_2 , D_2 \rightarrow C_b C_b \} \\ + & \cup \{ S \rightarrow C_a D_3, D_3 \rightarrow S C_a \} \\ + & \cup \{ S \rightarrow C_b D_4 , D_4 \rightarrow S D_5 , D_5 \rightarrow C_a C_a \} \\ + & \cup \{ S \rightarrow C_b D_6 , D_6 \rightarrow S C_b \} \\ + & \cup \{ S \rightarrow C_c C_d \} +\end{align*} + +* Problem 2 + +#+attr_latex: :width 150px +[[./img/prob_2_parse_tree.png]] + +Yes, we can recognize the string by this derivation. + +* Problem 3 + +Because strings in $L(M_1)$ and $L(M_2)$ are recognized by Discrete Finite Automata, +they must be regular languages. + +By the Myhill-Nerode theorem, if $L$ is a regular language it can be recognized by a unique DFA +with a minimal number of states. In other words, we know that if two DFA recognize +the same language, they must have the same minimal DFA. + +Let $\text{minimize}(D)$ be the minimization algorithm given in Lecture 04 returning a deterministic +set of states. + +Then, we know $M_1$ is equivalent to $M_2$ when $\text{minimize}(M_1)$ is congruent to +$\text{minimize}(M_2)$. This is only true when all descriptors (\Sigma, q_0, \delta, etc...) are also +equivalent. + +In the below pseduo code we just check the equivalence of the set of states, alphabet, and start +state. Then we perform a search to see if $(\delta_1) = M_1$ is $\subseteq$ of $(\delta_2) = M_2$ and +$\delta_2 \subseteq \delta_1$, and if both are true, then $\delta_1 = \delta_2$. + +If all are equivalent, then the languages recognize the same strings! + +#+BEGIN_SRC python + def minimize(dfa): + minimized = dfa.copy() + # ... mutate minimized according to minimize() + return minimized + + def delta_subseteq(start_state, sigma, delta1, delta2): + visited = set() + for transition in delta2.keys(): + if transition not in delta1 or \ + delta1[transition] != delta2[transition]: + return False + return True + + def equivalent(m1, m2): + minimized_m1 = minimize(m1) + minimized_m2 = minimize(m2) + if minimized_m1.Q != minimized_m2.Q or \ + minimzed_m1.sigma != minimized_m2.sigma or \ + minimized_m1.q0 != minimized_m2.q0 or \ + minimized_m1.F != minimized_m2.F: + return False + + m2_delta_includes_m1_delta = delta_subseteq(minimized_m1.q0, \ + minimized_m1.sigma, \ + minimized_m1.delta, \ + minimized_m2.delta) + + m1_delta_includes_m2_delta = delta_subseteq(minimized_m2.q0, \ + minimized_m2.sigma, \ + minimized_m2.delta, \ + minimized_m1.delta) + + return m2_delta_includes_m1_delta and m1_delta_includes_m2_delta +#+END_SRC + + +* Problem 4 +We can construct a CFG: + +$S \rightarrow aSbbb | abbb$ + +Which we convert to a stack machine: + +| read | pop | push | +| \epsilon | S | aSbbb | +| \epsilon | S | abbb | +| a | a | \epsilon | +| b | b | \epsilon | + +$M = (\{a, b, S\}, \{a, b\}, S, \delta)$ + +where + +1. $\delta(\epsilon, S) = \{aSbbb, abbb\}$ +2. $\delta(a, a) = \{ \epsilon \}$ +3. $\delta(b, b) = \{ \epsilon \}$ + +* Problem 5 + +1. $S \rightarrow 0 | 0T | 1T$ +2. $T \rightarrow 1S | 0S$ + +Is a right linear grammar, and is thus regular. + +* Problem 6 +** One +#+attr_latex: :width 200px +[[./img/p6.png]] + ++ $Q = \{p_0, p_1\}$ ++ $F = \{p_1\}$ ++ $\Sigma = \{1\}$ ++ $S = p_0$ ++ $\delta(p_0, 1) = p_1$ ++ $\delta(p_1, 1) = p_0$ + +** Two + +#+attr_latex: :width 200px +[[./img/6b.png]] + ++ $Q = \{p_0, p_1, p_2, p_3, p_4, p_5\}$ ++ $F = \{p_2, p_4, p_6\}$ ++ $\Sigma = \{a, b\}$ ++ $S = p_0$ ++ $\delta(p_0, a) = p_1$ ++ $\delta(p_0, b) = p_3$ ++ $\delta(p_1, a) = p_6$ ++ $\delta(p_1, b) = p_2$ ++ $\delta(p_2, b) = p_5$ ++ $\delta(p_5, b) = p_2$ ++ $\delta(p_3, b) = p_4$ ++ $\delta(p_4, b) = p_3$ ++ $\delta(p_3, a) = \delta(p_4, a) = \delta(p_2, a) = \delta(p_5, a) = \emptyset$ + +* Problem 7 +#+attr_latex: :width 200px +[[./img/7.png]] + +Because the magnitude of each element in the range of $\delta$ is 1 then, intuitively, if we follow +the subset construction algorithm with queue optimization we will only end up with new states +identical to the ones present in the current NFA (i.e. we will visit no elements of the powerset +whose magnitude is greater than one also). + +Thus the DFA is: + ++ $Q = \{q_0, q_1, q_2, q_3, q_4\}$ ++ $F = \{q_4\}$ ++ $\Sigma = \{a, b\}$ ++ $S = q_0$ ++ $\delta(q_0, a) = q_1$ ++ $\delta(p_1, a) = q_2$ ++ $\delta(q_2, a) = q_2$ ++ $\delta(q_2, b) = q_3$ ++ $\delta(q_3, b) = q_4$ ++ $\delta(p_4, b) = q_4$ ++ $\delta(q_0, b) = \delta(q_1, b) = \delta(q_3, a) = \delta(p_4, a) = \emptyset$ diff --git a/Homework/cs5000/midterm/midterm.pdf b/Homework/cs5000/midterm/midterm.pdf new file mode 100644 index 0000000..29aa5bc Binary files /dev/null and b/Homework/cs5000/midterm/midterm.pdf differ diff --git a/Homework/cs5000/midterm/midterm.tex b/Homework/cs5000/midterm/midterm.tex new file mode 100644 index 0000000..20335ef --- /dev/null +++ b/Homework/cs5000/midterm/midterm.tex @@ -0,0 +1,242 @@ +% Created 2023-10-06 Fri 20:58 +% Intended LaTeX compiler: pdflatex +\documentclass[11pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{wrapfig} +\usepackage{rotating} +\usepackage[normalem]{ulem} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{capt-of} +\usepackage{hyperref} +\notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +\author{Elizabeth Hunt (A02364151)} +\date{\today} +\title{Theory of Computability Midterm 1} +\hypersetup{ + pdfauthor={Elizabeth Hunt (A02364151)}, + pdftitle={Theory of Computability Midterm 1}, + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 28.2 (Org mode 9.7-pre)}, + pdflang={English}} +\begin{document} + +\maketitle +\setlength\parindent{20pt} + +\section{Problem 1} +\label{sec:orgb0784e8} +\subsection{Stage 1} +\label{sec:org855b93a} +We skip Stage 1; there are no productions in the form \(A \rightarrow BC\) or \(A \rightarrow s\). + +\(P' = \{ \}\) + +\subsection{Stage 2} +\label{sec:org325eccc} +\(P' = \{ C_a \rightarrow a , C_b \rightarrow b, C_c \rightarrow c, C_d \rightarrow d \}\) + +And our new productions are \(\{ S \rightarrow C_a S C_b C_b , S \rightarrow C_a S C_a , S \rightarrow C_b S C_a C_a , S \rightarrow C_b S C_b , S \rightarrow C_c C_d \}\) + +\subsection{Stage 3} +\label{sec:orgeecaa22} + +We replace \(S \rightarrow C_a S C_b C_b\) with \(\{ S \rightarrow C_a D_1 , D_1 \rightarrow S D_2 , D_2 \rightarrow C_b C_b \}\) + +We replace \(S \rightarrow C_a S C_a\) with \(\{ S \rightarrow C_a D_3, D_3 \rightarrow S C_a \}\) + +We replace \(S \rightarrow C_b S C_a C_a\) with \(\{ S \rightarrow C_b D_4 , D_4 \rightarrow S D_5 , D_5 \rightarrow C_a C_a \}\) + +We replace \(S \rightarrow C_b S C_b\) with \(\{ S \rightarrow C_b D_6 , D_6 \rightarrow S C_b \}\). + +We add \(S \rightarrow C_c C_d\) as it is in CNF already. + +Thus, + +\begin{align*} +P' &= \{ C_a \rightarrow a , C_b \rightarrow b, C_c \rightarrow c, C_d \rightarrow d \} \\ + & \cup \{ S \rightarrow C_a D_1 , D_1 \rightarrow S D_2 , D_2 \rightarrow C_b C_b \} \\ + & \cup \{ S \rightarrow C_a D_3, D_3 \rightarrow S C_a \} \\ + & \cup \{ S \rightarrow C_b D_4 , D_4 \rightarrow S D_5 , D_5 \rightarrow C_a C_a \} \\ + & \cup \{ S \rightarrow C_b D_6 , D_6 \rightarrow S C_b \} \\ + & \cup \{ S \rightarrow C_c C_d \} +\end{align*} + +\section{Problem 2} +\label{sec:orgde63c33} + +\begin{center} +\includegraphics[width=150px]{./img/prob_2_parse_tree.png} +\end{center} + +Yes, we can recognize the string by this derivation. + +\section{Problem 3} +\label{sec:org4d6de8f} + +Because strings in \(L(M_1)\) and \(L(M_2)\) are recognized by Discrete Finite Automata, +they must be regular languages. + +By the Myhill-Nerode theorem, if \(L\) is a regular language it can be recognized by a unique DFA +with a minimal number of states. In other words, we know that if two DFA recognize +the same language, they must have the same minimal DFA. + +Let \(\text{minimize}(D)\) be the minimization algorithm given in Lecture 04 returning a deterministic +set of states. + +Then, we know \(M_1\) is equivalent to \(M_2\) when \(\text{minimize}(M_1)\) is congruent to +\(\text{minimize}(M_2)\). This is only true when all descriptors (\(\Sigma\), q\textsubscript{0}, \(\delta\), etc\ldots{}) are also +equivalent. + +In the below pseduo code we just check the equivalence of the set of states, alphabet, and start +state. Then we perform a search to see if \((\delta_1) = M_1\) is \(\subseteq\) of \((\delta_2) = M_2\) and +\(\delta_2 \subseteq \delta_1\), and if both are true, then \(\delta_1 = \delta_2\). + +If all are equivalent, then the languages recognize the same strings! + +\begin{verbatim} +def minimize(dfa): + minimized = dfa.copy() + # ... mutate minimized according to minimize() + return minimized + +def delta_subseteq(start_state, sigma, delta1, delta2): + visited = set() + for transition in delta2.keys(): + if transition not in delta1 or \ + delta1[transition] != delta2[transition]: + return False + return True + +def equivalent(m1, m2): + minimized_m1 = minimize(m1) + minimized_m2 = minimize(m2) + if minimized_m1.Q != minimized_m2.Q or \ + minimzed_m1.sigma != minimized_m2.sigma or \ + minimized_m1.q0 != minimized_m2.q0 or \ + minimized_m1.F != minimized_m2.F: + return False + + m2_delta_includes_m1_delta = delta_subseteq(minimized_m1.q0, \ + minimized_m1.sigma, \ + minimized_m1.delta, \ + minimized_m2.delta) + + m1_delta_includes_m2_delta = delta_subseteq(minimized_m2.q0, \ + minimized_m2.sigma, \ + minimized_m2.delta, \ + minimized_m1.delta) + + return m2_delta_includes_m1_delta and m1_delta_includes_m2_delta +\end{verbatim} + + +\section{Problem 4} +\label{sec:orgf8f3fbd} +We can construct a CFG: + +\(S \rightarrow aSbbb | abbb\) + +Which we convert to a stack machine: + +\begin{center} +\begin{tabular}{lll} +read & pop & push\\[0pt] +\(\epsilon\) & S & aSbbb\\[0pt] +\(\epsilon\) & S & abbb\\[0pt] +a & a & \(\epsilon\)\\[0pt] +b & b & \(\epsilon\)\\[0pt] +\end{tabular} +\end{center} + +\(M = (\{a, b, S\}, \{a, b\}, S, \delta)\) + +where + +\begin{enumerate} +\item \(\delta(\epsilon, S) = \{aSbbb, abbb\}\) +\item \(\delta(a, a) = \{ \epsilon \}\) +\item \(\delta(b, b) = \{ \epsilon \}\) +\end{enumerate} + +\section{Problem 5} +\label{sec:org0f801f2} + +\begin{enumerate} +\item \(S \rightarrow 0 | 0T | 1T\) +\item \(T \rightarrow 1S | 0S\) +\end{enumerate} + +Is a right linear grammar, and is thus regular. + +\section{Problem 6} +\label{sec:org690d7be} +\subsection{One} +\label{sec:orgc0da8de} +\begin{center} +\includegraphics[width=200px]{./img/p6.png} +\end{center} + +\begin{itemize} +\item \(Q = \{p_0, p_1\}\) +\item \(F = \{p_1\}\) +\item \(\Sigma = \{1\}\) +\item \(S = p_0\) +\item \(\delta(p_0, 1) = p_1\) +\item \(\delta(p_1, 1) = p_0\) +\end{itemize} + +\subsection{Two} +\label{sec:org0e05810} + +\begin{center} +\includegraphics[width=200px]{./img/6b.png} +\end{center} + +\begin{itemize} +\item \(Q = \{p_0, p_1, p_2, p_3, p_4, p_5\}\) +\item \(F = \{p_2, p_4, p_6\}\) +\item \(\Sigma = \{a, b\}\) +\item \(S = p_0\) +\item \(\delta(p_0, a) = p_1\) +\item \(\delta(p_0, b) = p_3\) +\item \(\delta(p_1, a) = p_6\) +\item \(\delta(p_1, b) = p_2\) +\item \(\delta(p_2, b) = p_5\) +\item \(\delta(p_5, b) = p_2\) +\item \(\delta(p_3, b) = p_4\) +\item \(\delta(p_4, b) = p_3\) +\item \(\delta(p_3, a) = \delta(p_4, a) = \delta(p_2, a) = \delta(p_5, a) = \emptyset\) +\end{itemize} + +\section{Problem 7} +\label{sec:org4149a63} +\begin{center} +\includegraphics[width=200px]{./img/7.png} +\end{center} + +Because the magnitude of each element in the range of \(\delta\) is 1 then, intuitively, if we follow +the subset construction algorithm with queue optimization we will only end up with new states +identical to the ones present in the current NFA (i.e. we will visit no elements of the powerset +whose magnitude is greater than one also). + +Thus the DFA is: + +\begin{itemize} +\item \(Q = \{q_0, q_1, q_2, q_3, q_4\}\) +\item \(F = \{q_4\}\) +\item \(\Sigma = \{a, b\}\) +\item \(S = q_0\) +\item \(\delta(q_0, a) = q_1\) +\item \(\delta(p_1, a) = q_2\) +\item \(\delta(q_2, a) = q_2\) +\item \(\delta(q_2, b) = q_3\) +\item \(\delta(q_3, b) = q_4\) +\item \(\delta(p_4, b) = q_4\) +\item \(\delta(q_0, b) = \delta(q_1, b) = \delta(q_3, a) = \delta(p_4, a) = \emptyset\) +\end{itemize} +\end{document} \ No newline at end of file diff --git a/Homework/cs5000/midterm02/compile_l_program.js b/Homework/cs5000/midterm02/compile_l_program.js new file mode 100644 index 0000000..e69de29 diff --git a/Homework/cs5000/midterm02/midterm.org b/Homework/cs5000/midterm02/midterm.org new file mode 100644 index 0000000..7d1312f --- /dev/null +++ b/Homework/cs5000/midterm02/midterm.org @@ -0,0 +1,218 @@ +#+TITLE: HW 08 +#+AUTHOR: Elizabeth Hunt (A02364151) +#+STARTUP: entitiespretty fold inlineimages +#+LATEX_HEADER: \notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +#+LATEX: \setlength\parindent{0pt} + +* Problem One +#+attr_latex: :width 7cm +[[./p1.png]] + +* Problem Two +#+attr_latex: :width 7cm +[[./p2.png]] + +* Problem Three +Using the following code proceeding the appendix we receive + +$l(111) = 4$ + +$r(111) = 3$ + +$lt(111) = 12$ + +#+BEGIN_SRC js + const p3 = () => { + const x = 111; + const { l, r } = lr(x); + const lt = length(x); + + [`l(${x}) = ${l}`, `r(${x}) = ${r}`, `lt(${x}) = ${lt}`].forEach((s) => + console.log(s) + ); + }; + p3(); +#+END_SRC + +* Problem Four +Using the following code proceeding the appendix we receive + +$(17)_0 = 0$ + +$(17)_1 = 0$ + +$(17)_2 = 0$ + +$(17)_3 = 0$ + +$(17)_4 = 0$ + +$(17)_5 = 0$ + +$(17)_6 = 0$ + +$(17)_7 = 1$ + +$(17)_8 = 0$ + +#+BEGIN_SRC js + const p4 = () => { + const x = 17; + + for (let i = 0; i <= 8; i++) + console.log(`(${x})_${i} = ${access(x, i)}`) + }; + p4(); +#+END_SRC + + +And for all $i > 8$, $p_i > 17$ and thus $p_i^{(t+1)} \nmid x$ for all $t \ge 0$, and thus the valid set of $t$'s, +$T$, has $\text{min}(T) = 0$, so $(17)_i = 0$. + +* Problem Five +We compute the new code: + +$[\#(I_1), \#(I_2)]$ + +For $\#(I_1)$: + +$\#(I_1) = \langle a, \langle b, c \rangle \rangle$ where $a = \#(B1) = 2$, $b = 1$, $c = \#(X1) - 1 = 1$, so +$\#(I_1) = \langle 2, \langle 1, 1 \rangle \rangle = 2^2(2\langle1, 1\rangle + 1) - 1 = 4(11) - 1 = 43$. + +For $\#(I_2)$: + +$\#(I_2) = \langle a, \langle b, c \rangle \rangle$ where $a = 0$ as there is no label for the instruction, $b = \#(B1) + 2 = 4$, +$c = \#(X1) - 1 = 1$, so $\#(I_2) = \langle 0, \langle 4, 1 \rangle \rangle = 2^0(2\langle 4, 1 \rangle + 1) - 1 = 94$. + +Thus: + +$[43, 94] = (2^{43})(3^{94}) - 1 = 6218530334586699211614548872374762259672175972138197450751$. + +* Problem Six +** \phi_5^1(x) +\phi_5^1(x) has source $5 + 1$ = $6$ which corresponds to the godel sequence $2^1 * 3^1 = [1, 1]$. 1 = +$\langle 1, \langle 0, 0 \rangle \rangle$ which corresponds to an instruction with $\#(L) = 1$, $\#(V) = 0$, and an operation +of $0$: + +\begin{verbatim} +[ A1 ] Y <- Y +[ A1 ] Y <- Y +\end{verbatim} + +** \phi_7^1(x) +\phi_7^1(x) has source $7 + 1$ = $8$ which corresponds to the godel sequence $2^3 = [3]$. 3 = +$\langle 2, \langle 0, 0 \rangle \rangle$ which corresponds to an instruction with $\#(L) = 2$, $\#(V) = 0$, and an +operation of $0$: + +\begin{verbatim} +[ B1 ] Y <- Y +\end{verbatim} + +** \phi_11^1(x) +\phi_11^1(x) has source $11 + 1$ = $12$ which corresponds to the godel sequence $2^2 * 3^1 = [2, 1]$. 2 = +$\langle 0, \langle 1, 0 \rangle \rangle$ which corresponds to an instruction with $\#(L) = 0$, $\#(V) = 0$, and an +operation of $1$. + +And, we already found $1$ in \phi_5^1(x): + +\begin{verbatim} +Y <- Y + 1 +[ A1 ] Y <- Y +\end{verbatim} + +** \phi_13^1(x) +\phi_13^1(x) has source $13 + 1$ = $14$ which corresponds to the godel sequence $2^1 * 7^1 = [1, 0, 0, 1]$. +And, we already found $1$ in $\phi_5^1(x)$, $0$ is trivially ~Y <- Y~ (unlabeled, $\#(V) = 0$, op = 0). + +\begin{verbatim} +[ A1 ] Y <- Y +Y <- Y +Y <- Y +[ A1 ] Y <- Y +\end{verbatim} + +** \phi_17^1(x) +\phi_17(x) has source $17 + 1$ = $18$ which corresponds to the godel sequence $2^1 * 3^2 = [1, 2]$. +And, we already found $1$ in $\phi_5^1(x)$, and $2$ in \phi_11^1(x) + +\begin{verbatim} +[ A1 ] Y <- Y +Y <- Y + 1 +\end{verbatim} + +* Problem Seven +1. Let $m(x_1, x_2) = x_1 * x_2$ which is primitive recursive by proofs in class. +2. Let $four(x_1) = s(s(s(s(n(x_1)))))$; the successor function composed 4 times on the null function. +3. Then $f(x_1)$ is $m(four(x_1), x_1)$ which is an application of composition of primitive recursive functions. + +Thus, $f$ is primitive recursive, and thus computable. + +* Problem Eight +We can use the handy identity that $lcm(x_1, x_2) = \frac{(a * b)}{gcd(a, b)} = \lfloor \frac{(a * b)}{gcd(a, b)} \rfloor$ +since $gcd(a, b)$ by definition divides $a * b$. + +1. Define $gcd(x_1, 0) = x_1$ +2. Let $R(x_1, x_2)$ be the remainder function when $x_1$ divides $x_2$ which is primitive recursive by + the proof found on page 56 of the book. +3. We construct the informal recursion $gcd(x_1, x_2) = gcd(x_2, R(x_1, x_2))$ by Euclid's Algorithm. +4. Let $floordiv(x_1, x_2)$ be the floor of the result of division $\frac{x_1}{x_2}$ which is primitive + recursive by the proof found on page 56 of the book. +5. Let $m(x_1, x_2) = x_1 * x_2$ which is primitive recursive by proofs in class. +6. Then $lcm(x_1, x_2) = floordiv(m(x_1, x_2), gcd(x_1, x_2))$ which is an application of composotion of primitive recursive functions. + +Then $lcm$ is primitive recursive. + + +* Appendix +#+BEGIN_SRC js + const isPrime = (n) => + !Array(Math.ceil(Math.sqrt(n))) + .fill(0) + .map((_, i) => i + 2) // first prime is 2 + .some((i) => n !== i && n % i === 0); + + const primesCache = [2]; + const p = (i) => { + if (primesCache.length <= i) { + let x = primesCache.at(-1); + while (primesCache.length <= i) { + if (isPrime(++x)) primesCache.push(x); + } + } + return primesCache.at(i - 1); + }; + + const lr = (z, maxSearch = 100) => { + let x = 0; + for (let i = 0; i < maxSearch; ++i) + if ((z + 1) % Math.pow(2, i) === 0) x = Math.max(i, x); + + const y = ((z + 1) / Math.pow(2, x) - 1) / 2; + return { l: x, r: y }; + }; + + const access = (x, i) => { + if (i === 0 || x === 0) return 0; + + const p_i = p(i); + let minT = x; + for (let t = x; t >= 0; t--) + if (x % Math.pow(p_i, t + 1) !== 0) minT = Math.min(t, minT); + return minT; + }; + + const length = (x) => { + let minI = x; + for (let i = x; i >= 0; i--) + if ( + access(x, i) !== 0 && + Array(x) + .fill(0) + .map((_, j) => j + 1) + .every((j) => j <= i || access(x, j) == 0) + ) + minI = Math.min(i, minI); + + return minI; + }; +#+END_SRC diff --git a/Homework/cs5000/midterm02/midterm.pdf b/Homework/cs5000/midterm02/midterm.pdf new file mode 100644 index 0000000..f79a624 Binary files /dev/null and b/Homework/cs5000/midterm02/midterm.pdf differ diff --git a/Homework/cs5000/midterm02/midterm.tex b/Homework/cs5000/midterm02/midterm.tex new file mode 100644 index 0000000..6848ed7 --- /dev/null +++ b/Homework/cs5000/midterm02/midterm.tex @@ -0,0 +1,265 @@ +% Created 2023-11-17 Fri 13:57 +% Intended LaTeX compiler: pdflatex +\documentclass[11pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{wrapfig} +\usepackage{rotating} +\usepackage[normalem]{ulem} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{capt-of} +\usepackage{hyperref} +\notindent \notag \usepackage{amsmath} \usepackage[a4paper,margin=1in,portrait]{geometry} +\author{Elizabeth Hunt (A02364151)} +\date{\today} +\title{HW 08} +\hypersetup{ + pdfauthor={Elizabeth Hunt (A02364151)}, + pdftitle={HW 08}, + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 28.2 (Org mode 9.7-pre)}, + pdflang={English}} +\begin{document} + +\maketitle +\tableofcontents + +\setlength\parindent{0pt} + +\section{Problem One} +\label{sec:orgbeb25aa} +\begin{center} +\includegraphics[width=7cm]{./p1.png} +\end{center} + +\section{Problem Two} +\label{sec:orgc078de2} +\begin{center} +\includegraphics[width=7cm]{./p2.png} +\end{center} + +\section{Problem Three} +\label{sec:orga508990} +Using the following code proceeding the appendix we receive + +\(l(111) = 4\) + +\(r(111) = 3\) + +\(lt(111) = 12\) + +\begin{verbatim} +const p3 = () => { + const x = 111; + const { l, r } = lr(x); + const lt = length(x); + + [`l(${x}) = ${l}`, `r(${x}) = ${r}`, `lt(${x}) = ${lt}`].forEach((s) => + console.log(s) + ); +}; +p3(); +\end{verbatim} + +\section{Problem Four} +\label{sec:org7ca236e} +Using the following code proceeding the appendix we receive + +\((17)_0 = 0\) + +\((17)_1 = 0\) + +\((17)_2 = 0\) + +\((17)_3 = 0\) + +\((17)_4 = 0\) + +\((17)_5 = 0\) + +\((17)_6 = 0\) + +\((17)_7 = 1\) + +\((17)_8 = 0\) + +\begin{verbatim} +const p4 = () => { + const x = 17; + + for (let i = 0; i <= 8; i++) + console.log(`(${x})_${i} = ${access(x, i)}`) +}; +p4(); +\end{verbatim} + + +And for all \(i > 8\), \(p_i > 17\) and thus \(p_i^{(t+1)} \nmid x\) for all \(t \ge 0\), and thus the valid set of \(t\)'s, +\(T\), has \(\text{min}(T) = 0\), so \((17)_i = 0\). + +\section{Problem Five} +\label{sec:org25e3a57} +We compute the new code: + +\([\#(I_1), \#(I_2)]\) + +For \(\#(I_1)\): + +\(\#(I_1) = \langle a, \langle b, c \rangle \rangle\) where \(a = \#(B1) = 2\), \(b = 1\), \(c = \#(X1) - 1 = 1\), so +\(\#(I_1) = \langle 2, \langle 1, 1 \rangle \rangle = 2^2(2\langle1, 1\rangle + 1) - 1 = 4(11) - 1 = 43\). + +For \(\#(I_2)\): + +\(\#(I_2) = \langle a, \langle b, c \rangle \rangle\) where \(a = 0\) as there is no label for the instruction, \(b = \#(B1) + 2 = 4\), +\(c = \#(X1) - 1 = 1\), so \(\#(I_2) = \langle 0, \langle 4, 1 \rangle \rangle = 2^0(2\langle 4, 1 \rangle + 1) - 1 = 94\). + +Thus: + +\([43, 94] = (2^{43})(3^{94}) - 1 = 6218530334586699211614548872374762259672175972138197450751\). + +\section{Problem Six} +\label{sec:orgc5e0177} +\subsection{\(\phi\)\textsubscript{5}\textsuperscript{1}(x)} +\label{sec:orgf652342} +\(\phi\)\textsubscript{5}\textsuperscript{1}(x) has source \(5 + 1\) = \(6\) which corresponds to the godel sequence \(2^1 * 3^1 = [1, 1]\). 1 = +\(\langle 1, \langle 0, 0 \rangle \rangle\) which corresponds to an instruction with \(\#(L) = 1\), \(\#(V) = 0\), and an operation +of \(0\): + +\begin{verbatim} +[ A1 ] Y <- Y +[ A1 ] Y <- Y +\end{verbatim} + +\subsection{\(\phi\)\textsubscript{7}\textsuperscript{1}(x)} +\label{sec:orgd9de496} +\(\phi\)\textsubscript{7}\textsuperscript{1}(x) has source \(7 + 1\) = \(8\) which corresponds to the godel sequence \(2^3 = [3]\). 3 = +\(\langle 2, \langle 0, 0 \rangle \rangle\) which corresponds to an instruction with \(\#(L) = 2\), \(\#(V) = 0\), and an +operation of \(0\): + +\begin{verbatim} +[ B1 ] Y <- Y +\end{verbatim} + +\subsection{\(\phi\)\textsubscript{11}\textsuperscript{1}(x)} +\label{sec:orge5e7392} +\(\phi\)\textsubscript{11}\textsuperscript{1}(x) has source \(11 + 1\) = \(12\) which corresponds to the godel sequence \(2^2 * 3^1 = [2, 1]\). 2 = +\(\langle 0, \langle 1, 0 \rangle \rangle\) which corresponds to an instruction with \(\#(L) = 0\), \(\#(V) = 0\), and an +operation of \(1\). + +And, we already found \(1\) in \(\phi\)\textsubscript{5}\textsuperscript{1}(x): + +\begin{verbatim} +Y <- Y + 1 +[ A1 ] Y <- Y +\end{verbatim} + +\subsection{\(\phi\)\textsubscript{13}\textsuperscript{1}(x)} +\label{sec:org65f2245} +\(\phi\)\textsubscript{13}\textsuperscript{1}(x) has source \(13 + 1\) = \(14\) which corresponds to the godel sequence \(2^1 * 7^1 = [1, 0, 0, 1]\). +And, we already found \(1\) in \(\phi_5^1(x)\), \(0\) is trivially \texttt{Y <- Y} (unlabeled, \(\#(V) = 0\), op = 0). + +\begin{verbatim} +[ A1 ] Y <- Y +Y <- Y +Y <- Y +[ A1 ] Y <- Y +\end{verbatim} + +\subsection{\(\phi\)\textsubscript{17}\textsuperscript{1}(x)} +\label{sec:orgacbaf8a} +\(\phi\)\textsubscript{17}(x) has source \(17 + 1\) = \(18\) which corresponds to the godel sequence \(2^1 * 3^2 = [1, 2]\). +And, we already found \(1\) in \(\phi_5^1(x)\), and \(2\) in \(\phi\)\textsubscript{11}\textsuperscript{1}(x) + +\begin{verbatim} +[ A1 ] Y <- Y +Y <- Y + 1 +\end{verbatim} + +\section{Problem Seven} +\label{sec:org15f3033} +\begin{enumerate} +\item Let \(m(x_1, x_2) = x_1 * x_2\) which is primitive recursive by proofs in class. +\item Let \(four(x_1) = s(s(s(s(n(x_1)))))\); the successor function composed 4 times on the null function. +\item Then \(f(x_1)\) is \(m(four(x_1), x_1)\) which is an application of composition of primitive recursive functions. +\end{enumerate} + +Thus, \(f\) is primitive recursive, and thus computable. + +\section{Problem Eight} +\label{sec:org1d07ae0} +We can use the handy identity that \(lcm(x_1, x_2) = \frac{(a * b)}{gcd(a, b)} = \lfloor \frac{(a * b)}{gcd(a, b)} \rfloor\) +since \(gcd(a, b)\) by definition divides \(a * b\). + +\begin{enumerate} +\item Define \(gcd(x_1, 0) = x_1\) +\item Let \(R(x_1, x_2)\) be the remainder function when \(x_1\) divides \(x_2\) which is primitive recursive by +the proof found on page 56 of the book. +\item We construct the informal recursion \(gcd(x_1, x_2) = gcd(x_2, R(x_1, x_2))\) by Euclid's Algorithm. +\item Let \(floordiv(x_1, x_2)\) be the floor of the result of division \(\frac{x_1}{x_2}\) which is primitive +recursive by the proof found on page 56 of the book. +\item Let \(m(x_1, x_2) = x_1 * x_2\) which is primitive recursive by proofs in class. +\item Then \(lcm(x_1, x_2) = floordiv(m(x_1, x_2), gcd(x_1, x_2))\) which is an application of composotion of primitive recursive functions. +\end{enumerate} + +Then \(lcm\) is primitive recursive. + + +\section{Appendix} +\label{sec:org7f26251} +\begin{verbatim} +const isPrime = (n) => + !Array(Math.ceil(Math.sqrt(n))) + .fill(0) + .map((_, i) => i + 2) // first prime is 2 + .some((i) => n !== i && n % i === 0); + +const primesCache = [2]; +const p = (i) => { + if (primesCache.length <= i) { + let x = primesCache.at(-1); + while (primesCache.length <= i) { + if (isPrime(++x)) primesCache.push(x); + } + } + return primesCache.at(i - 1); +}; + +const lr = (z, maxSearch = 100) => { + let x = 0; + for (let i = 0; i < maxSearch; ++i) + if ((z + 1) % Math.pow(2, i) === 0) x = Math.max(i, x); + + const y = ((z + 1) / Math.pow(2, x) - 1) / 2; + return { l: x, r: y }; +}; + +const access = (x, i) => { + if (i === 0 || x === 0) return 0; + + const p_i = p(i); + let minT = x; + for (let t = x; t >= 0; t--) + if (x % Math.pow(p_i, t + 1) !== 0) minT = Math.min(t, minT); + return minT; +}; + +const length = (x) => { + let minI = x; + for (let i = x; i >= 0; i--) + if ( + access(x, i) !== 0 && + Array(x) + .fill(0) + .map((_, j) => j + 1) + .every((j) => j <= i || access(x, j) == 0) + ) + minI = Math.min(i, minI); + + return minI; +}; +\end{verbatim} +\end{document} \ No newline at end of file diff --git a/Homework/cs5000/midterm02/p1.png b/Homework/cs5000/midterm02/p1.png new file mode 100644 index 0000000..31740b9 Binary files /dev/null and b/Homework/cs5000/midterm02/p1.png differ diff --git a/Homework/cs5000/midterm02/p2.png b/Homework/cs5000/midterm02/p2.png new file mode 100644 index 0000000..afab994 Binary files /dev/null and b/Homework/cs5000/midterm02/p2.png differ -- cgit v1.3