From c53aa7a7872c6c8d10b9c5fd9e8a6b27ad36a5a1 Mon Sep 17 00:00:00 2001 From: "zabiulla.ahmadi" <zabiullah.ahmadi@etu.hesge.ch> Date: Mon, 30 Jan 2023 20:03:56 +0100 Subject: [PATCH] 4 partie --- db/contacts.json | 2 +- pom.xml | 52 +- src/Application/Application.java | 412 ---------------- src/Contacts/Contacts.java | 253 ---------- src/Family/Family.java | 195 -------- src/Friends/Friends.java | 197 -------- src/Helper/Helper.java | 115 ----- src/Main.java | 7 - src/Professional/Professional.java | 196 -------- src/main/java/Application/Application.java | 377 ++------------- src/main/java/Contacts/Contacts.java | 188 +------- src/main/java/Contacts/Family.java | 34 ++ src/main/java/Contacts/Friend.java | 31 ++ src/main/java/Contacts/Professional.java | 32 ++ src/main/java/Family/Family.java | 191 -------- src/main/java/Friends/Friends.java | 191 -------- src/main/java/Helper/Helper.java | 115 ----- src/main/java/Main.java | 35 +- src/main/java/MainController.java | 479 +++++++++++++++++++ src/main/java/Professional/Professional.java | 192 -------- src/main/resources/add.png | Bin 0 -> 317 bytes src/main/resources/bg.png | Bin 0 -> 184347 bytes src/main/resources/close50.png | Bin 0 -> 401 bytes src/main/resources/close_red.png | Bin 0 -> 570 bytes src/main/resources/delete.png | Bin 0 -> 300 bytes src/main/resources/e.png | Bin 0 -> 15723 bytes src/main/resources/main.css | 29 ++ src/main/resources/main.fxml | 343 +++++++++++++ src/main/resources/refresh.png | Bin 0 -> 341 bytes src/main/resources/search.png | Bin 0 -> 448 bytes src/main/resources/sidebar.css | 0 src/main/resources/update.png | Bin 0 -> 913 bytes src/main/resources/update1.png | Bin 0 -> 706 bytes src/test/java/MainTest.java | 82 ++-- 34 files changed, 1131 insertions(+), 2617 deletions(-) delete mode 100644 src/Application/Application.java delete mode 100644 src/Contacts/Contacts.java delete mode 100644 src/Family/Family.java delete mode 100644 src/Friends/Friends.java delete mode 100644 src/Helper/Helper.java delete mode 100644 src/Main.java delete mode 100644 src/Professional/Professional.java create mode 100644 src/main/java/Contacts/Family.java create mode 100644 src/main/java/Contacts/Friend.java create mode 100644 src/main/java/Contacts/Professional.java delete mode 100644 src/main/java/Family/Family.java delete mode 100644 src/main/java/Friends/Friends.java delete mode 100644 src/main/java/Helper/Helper.java create mode 100644 src/main/java/MainController.java delete mode 100644 src/main/java/Professional/Professional.java create mode 100644 src/main/resources/add.png create mode 100644 src/main/resources/bg.png create mode 100644 src/main/resources/close50.png create mode 100644 src/main/resources/close_red.png create mode 100644 src/main/resources/delete.png create mode 100644 src/main/resources/e.png create mode 100644 src/main/resources/main.css create mode 100644 src/main/resources/main.fxml create mode 100644 src/main/resources/refresh.png create mode 100644 src/main/resources/search.png create mode 100644 src/main/resources/sidebar.css create mode 100644 src/main/resources/update.png create mode 100644 src/main/resources/update1.png diff --git a/db/contacts.json b/db/contacts.json index b86be73..963156b 100644 --- a/db/contacts.json +++ b/db/contacts.json @@ -1 +1 @@ -[{"name":"acima","lastname":["BBBB"],"address":"sude ksdjf ldsaflksa flkds fldsa fdsaf","telelphoneNumbers":["+4234234234234234"],"emailAddresses":["@.com.sdfd"],"socialAcounts":["https://"],"profession":"student","familyRelation":"brother","type":"Family"},{"name":"agnon","lastname":["burteshi"],"address":"rue du valais 21","telelphoneNumbers":["+9294324234234"],"emailAddresses":["burteshi@gmail.com"],"socialAcounts":["https://hello.com"],"profession":"developeeur","type":"Professional","professionalRelation":"Collegue"},{"name":"agnon","lastname":["kurteshi"],"address":"rue du rhone 4, 1203 Genève","telelphoneNumbers":["+41 78 741 22 11"],"emailAddresses":["agnon@gmail.com"],"socialAcounts":["https://hello.com/?=name"],"profession":"student","type":"Friend","friendsSince":"2002.12.12"}] \ No newline at end of file +[{"name":"Albion","lastname":["kurteshi"],"type":"Friend","address":"rue du rhone 4, 1203 Genève","telelphoneNumbers":["+41 78 741 22 11"],"emailAddresses":["agnon@gmail.com"],"socialAcounts":["https://hello.com/?=name"],"profession":"student","relation":"best friend"},{"name":"agnon","lastname":["kurteshi"],"type":"Friend","address":"rue du rhone 4, 1203 Genève","telelphoneNumbers":["+41 78 741 22 11"],"emailAddresses":["agnon@gmail.com"],"socialAcounts":["https://hello.com/?=name"],"profession":"student","relation":"normal friend"},{"name":"alex","lastname":["berneaux"],"type":"Professional","address":"rue la martine 23, 1203 Genève","telelphoneNumbers":["+41 78 751 68 41"],"emailAddresses":["alexberneaux@gmail.com"],"socialAcounts":["https://instagram.com"],"profession":"student","relation":"employee"},{"name":"dawid","lastname":["dymm"],"type":"Professional","address":"rue la martine 23, 1203 Genève","telelphoneNumbers":["+41 78 751 68 41"],"emailAddresses":["zabio@gmail.com"],"socialAcounts":["https://instagram.com"],"profession":"student","relation":"collegue"},{"name":"zabiullah3","lastname":["ahmadi"," bx"],"type":"Professional","address":"rue la martine 23, 1203 Genève","telelphoneNumbers":["+41 78 751 68 41"],"emailAddresses":["zabio@gmail.com"],"socialAcounts":["https://instagram.com"],"profession":"student","relation":"employee"},{"name":"zabiullah34","lastname":["ahmadi"," bx"],"type":"Professional","address":"rue la martine 23, 1203 Genève","telelphoneNumbers":["+41 78 751 68 41"],"emailAddresses":["zabio@gmail.com"],"socialAcounts":["https://instagram.com"],"profession":"student","relation":"employee"},{"name":"zabiullah6666","lastname":["ahmadi"," bx"],"type":"Professional","address":"rue la martine 23, 1203 Genève","telelphoneNumbers":["+41 78 751 68 41"],"emailAddresses":["zabio@gmail.com"],"socialAcounts":["https://instagram.com"],"profession":"student","relation":"employee"}] \ No newline at end of file diff --git a/pom.xml b/pom.xml index aeb0ce6..311d33a 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,31 @@ </properties> <dependencies> + + <dependency> + <groupId>com.google.zxing</groupId> + <artifactId>core</artifactId> + <version>3.4.0</version> + </dependency> + + + + + <!-- JAVA FX --> + <dependency> + <groupId>org.openjfx</groupId> + <artifactId>javafx-controls</artifactId> + <version>18.0.2</version> + </dependency> + + + <dependency> + <groupId>org.openjfx</groupId> + <artifactId>javafx-fxml</artifactId> + <version>18.0.2</version> + </dependency> + <!-- JAVA FX --> + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> @@ -22,6 +47,7 @@ <scope>test</scope> </dependency> + <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> @@ -33,12 +59,36 @@ <artifactId>json-simple</artifactId> <version>1.1.1</version> </dependency> + + </dependencies> <build> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins> - <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle --> + <plugin> + <groupId>org.openjfx</groupId> + <artifactId>javafx-maven-plugin</artifactId> + <version>0.0.8</version> + <executions> + <execution> + <!-- Default configuration for running with: mvn clean javafx:run --> + <id>default-cli</id> + <configuration> + <mainClass>Main</mainClass> + <launcher>app</launcher> + <jlinkZipName>app</jlinkZipName> + <jlinkImageName>app</jlinkImageName> + <noManPages>true</noManPages> + <stripDebug>true</stripDebug> + <noHeaderFiles>true</noHeaderFiles> + </configuration> + </execution> + </executions> + </plugin> + + + <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle --> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> diff --git a/src/Application/Application.java b/src/Application/Application.java deleted file mode 100644 index 55d8b2b..0000000 --- a/src/Application/Application.java +++ /dev/null @@ -1,412 +0,0 @@ -package Application; - -import Contacts.Contacts; -import Family.Family; -import Friends.Friends; -import Helper.Helper; -import Professional.Professional; - -import java.util.Objects; -import java.util.Scanner; - -public class Application extends Helper { - Contacts[] contact_list; - - public void addToContactList(Contacts newContact) { - - // if null - if (contact_list == null) { - contact_list = new Contacts[1]; - contact_list[0] = newContact; - } else { - Contacts[] temp = new Contacts[contact_list.length + 1]; - - for (int i = 0; i < contact_list.length; i++) { - temp[i] = contact_list[i]; - } - temp[contact_list.length] = newContact; - - contact_list = temp; - // bubble sort - bubbleSort(); - } - } - - public Contacts createContact() { - - System.out.println("Enter the type of contact: []"); - System.out.println("[1] for friend "); - System.out.println("[2] for family "); - System.out.println("[3] for professional"); - System.out.println("Enter your choice [] :"); - - Scanner scanner = new Scanner(System.in); - int type = scanner.nextInt(); - while (type < 1 || type > 3) { - - System.out.format("%s %s %s\n", RED, "ERREUR: PLEASE CHOOSE THE CORRECT TYPE", RED); - System.out.format("%s", RESET); - System.out.println("Enter your choice [] :"); - type = scanner.nextInt(); - } - - Contacts new_contact = null; - if (type == 1) { - new_contact = new Friends() - .askContact(); - } - - else if (type == 2) { - new_contact = new Family().askContact(); - } - - else if (type == 3) { - new_contact = new Professional() - .askContact(); - } else { - PrintErrorAndReturn(); - } - // scanner.close(); - return new_contact; - - } - - public boolean update(int id) { - - int elementId = id - 1; - if (elementId >= 0 && elementId < contact_list.length) { - contact_list[elementId].updateContact(); - return true; - } - return false; - } - - public Contacts[] search() { - - Contacts[] result = new Contacts[0]; - Scanner scanner = new Scanner(System.in); - System.out.println("CHOOSE BY WHICH FIELD YOU WANT TO SEARCH"); - System.out.println("[1] NAME "); - System.out.println("[2] LASTNAME "); - System.out.println("[3] EMAIL"); - System.out.println("[4] BY TYPE:"); - - System.out.println(String.format("%s %s %s : []", BLUE, "YOUR FIELD ", BLUE)); - System.out.print(String.format("%s", RESET)); - int option = scanner.nextInt(); - while (option < 1 || option > 4) { - System.out.println(String.format("%s %s %s", RED, "ERREUR: PLEASE CHOOSE THE CORRECT FIELD", RED)); - System.out.println(String.format("%s %s %s : [] ", BLUE, "YOUR FIELD ", BLUE)); - System.out.print(String.format("%s", RESET)); - option = scanner.nextInt(); - } - - if (option == 1) { - - System.out.println(String.format("%s %s %s : [] ", BLUE, "ENTER A NAME TO SEARCH ", BLUE)); - System.out.print(String.format("%s", RESET)); - Scanner sc = new Scanner(System.in); - String nameToSearch = sc.nextLine(); - while (nameToSearch.length() < 3) { - System.out.println( - String.format("%s %s %s", RED, "NAME SHOULD CONTAINS AT LEAST 3 CHARACTER LENGTH", RED)); - System.out.println(String.format("%s %s %s : [] ", BLUE, "ENTER A NAME TO SEARCH ", BLUE)); - System.out.print(String.format("%s", RESET)); - nameToSearch = sc.nextLine(); - } - - int j = 0; - for (int i = 0; i < contact_list.length; i++) { - if (contact_list[i].getName().equals(nameToSearch)) { - result = new Contacts[result.length + 1]; - result[j++] = contact_list[i]; - } - } - } - - // } - if (option == 2) - - { - int j = 0; - System.out.println(String.format("%s %s %s : [] ", BLUE, "ENTER A LASTNAME TO SEARCH ", BLUE)); - System.out.print(String.format("%s", RESET)); - Scanner sc = new Scanner(System.in); - String lastNameToSerach = sc.nextLine(); - while (lastNameToSerach.length() < 3) { - System.out.println( - String.format("%s %s %s", RED, "LASTNAME SHOULD CONTAINS AT LEAST 3 CHARACTER LENGTH", RED)); - System.out.println(String.format("%s %s %s : [] ", BLUE, "ENTER A LASTNAME TO SEARCH ", BLUE)); - System.out.print(String.format("%s", RESET)); - lastNameToSerach = sc.nextLine(); - } - - for (int i = 0; i < contact_list.length; i++) { - if (contact_list[i].getLastname().equals(lastNameToSerach)) { - result = new Contacts[result.length + 1]; - result[j++] = contact_list[i]; - } - } - } else if (option == 3) { - int j = 0; - System.out.println(String.format("%s %s %s : [] ", BLUE, "ENTER A EMAIL TO SEARCH ", BLUE)); - System.out.print(String.format("%s", RESET)); - Scanner sc = new Scanner(System.in); - String emailToSearch = sc.nextLine(); - while (emailToSearch.length() < 3) { - System.out.println( - String.format("%s %s %s\n", RED, "LASTNAME SHOULD CONTAINS AT LEAST 3 CHARACTER LENGTH", RED)); - System.out.println(String.format("%s %s %s : [] ", BLUE, "ENTER A EMAIL TO SEARCH", BLUE)); - System.out.print(String.format("%s", RESET)); - emailToSearch = sc.nextLine(); - } - - for (int i = 0; i < contact_list.length; i++) { - if (contact_list[i].getEmailAddresses().equals(emailToSearch)) { - result = new Contacts[result.length + 1]; - result[j++] = contact_list[i]; - } - } - } else if (option == 4) { - int j = 0; - System.out.println(String.format("%s %s %s : [] ", BLUE, "ENTER A TYPE TO SEARCH ", BLUE)); - System.out.print(String.format("%s", RESET)); - Scanner sc = new Scanner(System.in); - String typeToSearch = sc.nextLine(); - while (typeToSearch.length() < 5) { - System.out.println( - String.format("%s %s %s\n", RED, "TYPE SHOULD CONTAINS AT LEAST 5 CHARACTER LENGTH", RED)); - System.out.println(String.format("%s %s %s : [] ", BLUE, "ENTER A TYPE TO SEARCH ", BLUE)); - System.out.print(String.format("%s", RESET)); - typeToSearch = sc.nextLine(); - } - - for (int i = 0; i < contact_list.length; i++) { - if (contact_list[i].getType().equals(typeToSearch)) { - result = new Contacts[result.length + 1]; - result[j++] = contact_list[i]; - } - } - } - - return result; - } - - public boolean delete(int id) { - - int elementId = id - 1; - if (elementId >= 0 && elementId < contact_list.length) { - // delete - Contacts[] temp = new Contacts[contact_list.length - 1]; - - int j = 0; - for (int i = 0; i < contact_list.length; i++) { - if (i != elementId) { - temp[j] = contact_list[i]; - j++; - } - } - contact_list = temp; - return true; - - } else { - return false; - } - } - - public int getCharNumericValue(String value) { - return (int) (value.charAt(0)); - } - - public void shift(int index) { - Contacts tempContact = contact_list[index]; - contact_list[index] = contact_list[index - 1]; - contact_list[index - 1] = tempContact; - } - - public void bubbleSort() { - for (int i = 0; i < contact_list.length; i++) { - - for (int j = contact_list.length - 1; j >= 1; j--) { - - int firstPersonNameValue = getCharNumericValue(contact_list[j].getName().toUpperCase()); - int firstPersonLastNameValue = getCharNumericValue(contact_list[j].getLastname()[0].toUpperCase()); - - int secondPersonNameValue = getCharNumericValue(contact_list[j - 1].getName().toUpperCase()); - int secondPersonLastNameValue = getCharNumericValue(contact_list[j - 1].getLastname()[0].toUpperCase()); - - // sort by last name if first names are equals - if (firstPersonNameValue == secondPersonNameValue) { - - if (firstPersonLastNameValue < secondPersonLastNameValue) { - shift(j); - } - // sort by first name - } else if (firstPersonNameValue < secondPersonNameValue) { - shift(j); - } - - } - } - } - - public void showContacts() { - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", YELLOW); - PrintInColor(String.format("SHOW CONTACTS \t\t\t\t\t\t\tTOTAL [%s %d %s]\n", WHITE, - (contact_list != null) ? contact_list.length : 0, CYAN), CYAN); - PrintInColor("==================================================================================\n\n", YELLOW); - - if (contact_list == null) { - System.out.println(" No contacts yet !\n"); - } - - if (contact_list != null) { - for (int i = 0; i < contact_list.length; i++) { - - contact_list[i].showContact(); - } - } - } - - public void run() { - int option = ASK_USER_INPUT; - - while (true) { - Scanner scanner = new Scanner(System.in); - if (option == ASK_USER_INPUT) { - - PrintHeader(); - PrintInColor("Enter your option : ", WHITE); - - option = scanner.nextInt(); - - if (option == EXIT_CONSOLE) { - System.exit(0); - } - - if (option == ADD_CONTACTS) { - - addToContactList(createContact()); - option = ASK_USER_INPUT; - continue; - } - - if (option == SHOW_CONTACTS) { - showContacts(); - printFooter(); - - PrintInColor("Enter your option : ", WHITE); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - continue; - - } - - if (option == SEARCH_CONTACT) { - - if (contact_list != null) { - Contacts[] result = search(); - if (result.length != 0) { - for (int i = 0; i < result.length; i++) { - - result[i].showContact(); - } - printFooter(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - - } else { - System.out.println("---------------------------------------------------"); - System.out.println(String.format("no contact found")); - System.out.println("---------------------------------------------------"); - printFooter(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - } - } else { - showContacts(); - printFooter(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - - } - continue; - } - - // update contact - if (option == UPDATE_CONTACTS) { - - showContacts(); - if (contact_list != null) { - - System.out.format("%s %s %s : [] ", BLUE, "ENTER A CONTACT ID TO UPDATE: ", BLUE); - int id = scanner.nextInt(); - - while (id < 1 || id > contact_list.length + 1) { - System.out.format("%s %s %s\n", RED, "ERREUR: PLEASE CHOOSE THE CORRECT ID", RED); - System.out.format("%s %s %s : [] ", BLUE, "ENTER A CONTACT ID TO UPDATE: ", BLUE); - id = scanner.nextInt(); - } - - Boolean updated = update(id); - if (updated) { - option = ASK_USER_INPUT; - } else { - System.out.println(String.format( - " Contact with id %d doesn't exists", id)); - PrintErrorAndReturn(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - } - - } else { - showContacts(); - printFooter(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - } - continue; - } - // delete contact - if (option == DELETE_CONTACT) { - showContacts(); - - if (contact_list != null) { - deleteOption(); - System.out.print("Enter contact id to delete: "); - int id = scanner.nextInt(); - - boolean deleted = delete(id); - - if (deleted) { - option = ASK_USER_INPUT; - } else { - System.out.println(String.format( - " Contact with id %d doesn't exists", id)); - PrintErrorAndReturn(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - } - - } else { - printFooter(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - } - continue; - } - - } - - if (option < 1 || option > 4) { - - clearConsoleScreen(); - PrintErrorAndReturn(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - } - scanner.close();// close scanner - } - } -} diff --git a/src/Contacts/Contacts.java b/src/Contacts/Contacts.java deleted file mode 100644 index 81c7cf7..0000000 --- a/src/Contacts/Contacts.java +++ /dev/null @@ -1,253 +0,0 @@ -package Contacts; - -import Helper.Helper; - -import java.util.Scanner; - -public abstract class Contacts extends Helper { - - protected String name; - protected String[] lastname; - protected String address; - protected String[] telelphoneNumbers; - protected String[] emailAddresses; - protected String[] socialAcounts; - protected String profession; - - public Contacts() { - } - - public Contacts(String name, String[] lastname, String address, String[] telelphoneNumbers, String[] emailAddresses, - String[] socialAcounts, String profession) { - this.name = name; - this.lastname = lastname; - this.address = address; - this.telelphoneNumbers = telelphoneNumbers; - this.emailAddresses = emailAddresses; - this.socialAcounts = socialAcounts; - this.profession = profession; - } - - public String getName() { - return name; - } - - protected void setName(String name) { - this.name = name; - } - - public String[] getLastname() { - return lastname; - } - - public void setLastname(String[] lastname) { - this.lastname = lastname; - } - - public String getAddress() { - return address; - } - - public void setAddress(String address) { - this.address = address; - } - - public String[] getTelelphoneNumbers() { - return telelphoneNumbers; - } - - public void setTelelphoneNumbers(String[] telelphoneNumbers) { - this.telelphoneNumbers = telelphoneNumbers; - } - - public String[] getEmailAddresses() { - return emailAddresses; - } - - public void setEmailAddresses(String[] emailAddresses) { - this.emailAddresses = emailAddresses; - } - - public String[] getSocialAcounts() { - return socialAcounts; - } - - public void setSocialAcounts(String[] socialAcounts) { - this.socialAcounts = socialAcounts; - } - - public String getProfession() { - return profession; - } - - public void setProfession(String profession) { - this.profession = profession; - } - - public void askName() { - - Scanner sc = new Scanner(System.in); - - System.out.print(" Enter a name [] : "); - String name = sc.nextLine(); - while (name.length() < 3) { - System.out - .println( - String.format("\n %sName should contain at least 3 character %s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter a name [] : "); - name = sc.nextLine(); - } - setName(name); - // sc.close(); - } - - public void askLastName() { - - Scanner sc = new Scanner(System.in); - - System.out.print(" Enter one or more last name separated by , [] : "); - String lastName = sc.nextLine(); - - while (lastName.length() < 3) { - System.out - .println( - String.format("\n %slast name should contain at least 3 character %s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter one or more last name separated by , [] : "); - name = sc.nextLine(); - } - setLastname(lastName.split(",")); - - // sc.close(); - } - - public void askAdress() { - Scanner sc = new Scanner(System.in); - - System.out.print(" Enter Address [] : "); - String address = sc.nextLine(); - while (address.length() < 15) { - System.out - .println( - String.format("\n %sAddress should at least contain 15 character length%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter Address [] : "); - address = sc.nextLine(); - } - setAddress(address); - - // sc.close(); - } - - public void askEmail() { - Scanner sc = new Scanner(System.in); - System.out.print(" Enter one or more email separated by , [] : "); - String email = sc.nextLine(); - - while (email.length() < 10 || !email.contains("@") || !email.contains(".")) { - System.out - .println( - String.format("\n %sPlease Insert a correct Email !%s%s", RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter one or more email separated by , [] : "); - - email = sc.nextLine(); - } - setEmailAddresses(email.split(",")); - // sc.close(); - } - - public void askTelephoneNumber() { - Scanner sc = new Scanner(System.in); - - System.out.print(" Enter one or more telephone number separated by , [] : "); - String telephonNumber = sc.nextLine(); - - while (telephonNumber.length() < 12 || !telephonNumber.contains("+") - || telephonNumber.replaceAll(" ", telephonNumber).length() < 12) { // +4178 223 22 44 - System.out.println( - String.format("\n %sPLEASE INSERT A CORRECT TELEPHONE NUMBER !%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter one or more telephone number separated by , [] : "); - telephonNumber = sc.nextLine(); - - } - setTelelphoneNumbers(telephonNumber.split(",")); - - // sc.close(); - } - - public void askSocialAcount() { - Scanner sc = new Scanner(System.in); - System.out.print(" Enter one or more social acount URL separated by , [] :"); - String socialAcount = sc.nextLine(); - - while (!socialAcount.contains("https://")) { - System.out - .println( - String.format("\n %sPLEASE INSERT A CORRECT URL PREFIXED BY HTTPS:// !%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter one or more social acount URL separated by , [] :"); - socialAcount = sc.nextLine(); - } - setSocialAcounts(socialAcount.split(",")); - // sc.close(); - } - - public void askProfession() { - - Scanner sc = new Scanner(System.in); - System.out.print(" Enter Your Contact Profession [] : "); - String profession = sc.nextLine(); - - while (profession.length() < 5) { - System.out - .println( - String.format("\n %sPLEASE INSERT A CORRECT PROFESSION !%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter Your Contact Profession [] : "); - profession = sc.nextLine(); - } - setProfession(profession); - // sc.close(); - } - - public void displayRequestHeader() { - - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "CREATE A CONTACT"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - } - - public abstract String getType(); - - public abstract void setType(String type); - - public abstract void showContact(); - - public abstract void updateContact(); - -} diff --git a/src/Family/Family.java b/src/Family/Family.java deleted file mode 100644 index 1bd19ef..0000000 --- a/src/Family/Family.java +++ /dev/null @@ -1,195 +0,0 @@ -package Family; - -import java.util.Scanner; - -import Contacts.Contacts; -import Helper.Helper; - -public class Family extends Contacts { - private String Type; - private String familyRelation; - - public Family() { - super(); - this.Type = "Family"; - } - - public Family(String name, String[] lastname, String address, String[] telelphoneNumbers, String[] emailAddresses, - String[] socialAcounts, String profession, String familyRelation) { - super(name, lastname, address, telelphoneNumbers, emailAddresses, socialAcounts, profession); - Type = "Family"; - setFamilyRelation(familyRelation); - } - - @Override - public String getType() { - return Type; - } - - @Override - public void setType(String type) { - Type = type; - } - - public void setFamilyRelation(String familyRelation) { - this.familyRelation = familyRelation; - } - - public String getFamilyRelation() { - return this.familyRelation; - } - - public void askFamilyRelation() { - - Scanner sc = new Scanner(System.in); - System.out.print(" Enter Your relation with contact owner [father, mother, brother, sister, ...] : "); - String famRelation = sc.nextLine(); - - while (famRelation.length() < 5) { - System.out - .println( - String.format("\n %sPLEASE INSERT A CORRECT FAMILY RELATION !%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter Your relation with contact owner [father, mother, brother, sister, ...] : "); - famRelation = sc.nextLine(); - } - setFamilyRelation(famRelation); - - } - - public Family askContact() { - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "CREATE A CONTACT [Family]"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - askName(); - askLastName(); - askEmail(); - // - askFamilyRelation(); - askTelephoneNumber(); - askAdress(); - - askSocialAcount(); - askProfession(); - return this; - - } - - public void updateContact() { - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "UPDATE CONTACT [Family]"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - System.out.println("CHOOSE WHICH FIELD YOU WANT TO UPDATE"); - System.out.println("[1] NAME "); - System.out.println("[2] LASTNAME "); - System.out.println("[3] EMAIL"); - System.out.println("[4] FAMILY RELATION:"); - System.out.println("[5] TELEPHONE NUMBER:"); - System.out.println("[6] ADDRESS:"); - System.out.println("[7] SOCIAL ACOUNT:"); - System.out.println("[8] PROFESSION:"); - - System.out.format("%s %s %s : [] ", BLUE, "YOUR OPTION ", BLUE); - Scanner sc = new Scanner(System.in); - int option = sc.nextInt(); - while (option < 1 || option > 8) { - System.out.format("%s %s %s\n", RED, "ERREUR: PLEASE CHOOSE THE CORRECT OPTION", RED); - System.out.format("%s", RESET); - System.out.format("%s %s %s : [] ", BLUE, "YOUR OPTION ", BLUE); - option = sc.nextInt(); - } - - switch (option) { - case 1: - askName(); - break; - case 2: - askLastName(); - break; - case 3: - askEmail(); - break; - case 4: - askFamilyRelation(); - break; - case 5: - askTelephoneNumber(); - break; - case 6: - askAdress(); - break; - case 7: - askSocialAcount(); - break; - case 8: - askProfession(); - break; - } - } - - @Override - public void showContact() { - - System.out.println( - "----------------------------------------------------------------------------------"); - System.out.println(); - - System.out.println(String.format(" %sName : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + getName(), RESET)); - - System.out.println(); - String lastnames = String.join(",", getLastname()); - System.out.println(String.format(" %sLast Name : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + lastnames, RESET)); - - System.out.println(); - System.out.println(String.format(" %sFamily Relation : %s", BLUE, - BLUE) - + String.format("\t\t%s" + getFamilyRelation(), RESET)); - - System.out.println(); - System.out.println(String.format(" %sAddress : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + getAddress(), RESET)); - - System.out.println(); - String emails = String.join(", ", getEmailAddresses()); - System.out.println(String.format(" %sEmail : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + emails, RESET)); - - System.out.println(); - String telephone_numbers = String.join(", ", getTelelphoneNumbers()); - System.out.println(String.format(" %sTelephone Number : %s", BLUE, - BLUE) - + String.format("\t\t%s" + telephone_numbers, RESET)); - - System.out.println(); - String social_acounts = String.join(", ", getSocialAcounts()); - System.out.println(String.format(" %sSocial Acount : %s", BLUE, - BLUE) - + String.format("%s" + social_acounts, RESET)); - - System.out.println(); - System.out.println(String.format(" %sProfession : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + getProfession(), RESET)); - - System.out.println(); - System.out.println( - "----------------------------------------------------------------------------------\n"); - - } - - @Override - public String toString() { - return this.getName(); - } - -} diff --git a/src/Friends/Friends.java b/src/Friends/Friends.java deleted file mode 100644 index 8472a02..0000000 --- a/src/Friends/Friends.java +++ /dev/null @@ -1,197 +0,0 @@ -package Friends; - -import Contacts.Contacts; -import Family.Family; -import Professional.Professional; - -import java.util.Scanner; - -public class Friends extends Contacts { - - private String Type; - - private String firendsSince; - - public Friends() { - super(); - Type = "Friend"; - } - - public Friends(String name, String[] lastname, String address, String[] telelphoneNumbers, String[] emailAddresses, - String[] socialAcounts, String profession, String firendsSince) { - super(name, lastname, address, telelphoneNumbers, emailAddresses, socialAcounts, profession); - Type = "Friend"; - setFriendsSince(firendsSince); - } - - @Override - public String getType() { - return Type; - } - - @Override - public void setType(String type) { - Type = type; - } - - public void setFriendsSince(String str) { - this.firendsSince = str; - - } - - public String getFriendsSince() { - return this.firendsSince; - } - - public void askFriendShipDate() { - - Scanner sc = new Scanner(System.in); - System.out.print(this.name + " is Your friend since : "); - String friendshipeDate = sc.nextLine(); - - while (friendshipeDate.length() < 5) { - System.out - .println( - String.format("\n %sPLEASE INSERT A CORRECT FRIENDSHIP DATE !%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(this.name + " is Your friend since : "); - friendshipeDate = sc.nextLine(); - } - setFriendsSince(friendshipeDate); - } - - public Contacts askContact() { - - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "CREATE A CONTACT [Friends]"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - askName(); - askLastName(); - askEmail(); - // - askFriendShipDate(); - askTelephoneNumber(); - askAdress(); - askSocialAcount(); - askProfession(); - return this; - - } - - public void updateContact() { - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "UPDATE CONTACT [FRIENDS]"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - System.out.println("CHOOSE WHICH FIELD YOU WANT TO UPDATE"); - System.out.println("[1] NAME "); - System.out.println("[2] LASTNAME "); - System.out.println("[3] EMAIL"); - System.out.println("[4] FRIENDSHIP DATE:"); - System.out.println("[5] TELEPHONE NUMBER:"); - System.out.println("[6] ADDRESS:"); - System.out.println("[7] SOCIAL ACOUNT:"); - System.out.println("[8] PROFESSION:"); - - System.out.format("%s %s %s : [] ", BLUE, "YOUR OPTION ", BLUE); - Scanner sc = new Scanner(System.in); - int option = sc.nextInt(); - while (option < 1 || option > 8) { - System.out.format("%s %s %s\n", RED, "ERREUR: PLEASE CHOOSE THE CORRECT OPTION", RED); - System.out.format("%s", RESET); - System.out.format("%s %s %s : [] ", BLUE, "YOUR OPTION ", BLUE); - option = sc.nextInt(); - } - - switch (option) { - case 1: - askName(); - break; - case 2: - askLastName(); - break; - case 3: - askEmail(); - break; - case 4: - askFriendShipDate(); - break; - case 5: - askTelephoneNumber(); - break; - case 6: - askAdress(); - break; - case 7: - askSocialAcount(); - break; - case 8: - askProfession(); - break; - } - } - - @Override - public void showContact() { - - System.out.println( - "----------------------------------------------------------------------------------"); - System.out.println(); - - System.out.println(String.format(" %sName : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + getName(), RESET)); - - System.out.println(); - String lastnames = String.join(",", getLastname()); - System.out.println(String.format(" %sLast Name : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + lastnames, RESET)); - - System.out.println(); - System.out.println(String.format(" %sFriendship since : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + getFriendsSince(), RESET)); - - System.out.println(); - System.out.println(String.format(" %sAddress : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + getAddress(), RESET)); - - System.out.println(); - String emails = String.join(", ", getEmailAddresses()); - System.out.println(String.format(" %sEmail : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + emails, RESET)); - - System.out.println(); - String telephone_numbers = String.join(", ", getTelelphoneNumbers()); - System.out.println(String.format(" %sTelephone Number : %s", BLUE, - BLUE) - + String.format("\t\t%s" + telephone_numbers, RESET)); - - System.out.println(); - String social_acounts = String.join(", ", getSocialAcounts()); - System.out.println(String.format(" %sSocial Acount : %s", BLUE, - BLUE) - + String.format("\t\t%s" + social_acounts, RESET)); - - System.out.println(); - System.out.println(String.format(" %sProfession : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + getProfession(), RESET)); - - System.out.println(); - System.out.println( - "----------------------------------------------------------------------------------\n"); - - } - - @Override - public String toString() { - return this.getName(); - } -} diff --git a/src/Helper/Helper.java b/src/Helper/Helper.java deleted file mode 100644 index 762e26c..0000000 --- a/src/Helper/Helper.java +++ /dev/null @@ -1,115 +0,0 @@ -package Helper; - - - -public abstract class Helper { - - // text color - protected final String RED = "\u001B[31m"; - protected final String BLACK = "\u001B[30m"; - protected final String GREEN = "\u001B[32m"; - protected final String BLUE = "\u001B[34m"; - protected final String RESET = "\u001B[0m"; - protected final String PURPLE = "\u001B[35m"; - protected final String CYAN = "\u001B[36m"; - protected final String YELLOW = "\u001B[33m"; - protected final String WHITE = "\u001B[37m"; - - protected final String YELLOW_BACKGROUND = "\u001B[43m"; - protected final String BLUE_BACKGROUND = "\u001B[44m"; - protected final String BLACK_BACKGROUND = "\u001B[40m"; - protected final String PURPLE_BACKGROUND = "\u001B[45m"; - protected final String CYAN_BACKGROUND = "\u001B[46m"; - protected final String GREEN_BACKGROUND = "\u001B[42m"; - protected final String WHITE_BACKGROUND = "\u001B[47m"; - - protected final int ASK_USER_INPUT = 110; - protected final int SHOW_CONTACTS = 1; - protected final int ADD_CONTACTS = 2; - protected final int SEARCH_CONTACT = 3; - protected final int UPDATE_CONTACTS = 4; - protected final int DELETE_CONTACT = 5; - protected final int EXIT_CONSOLE = 6; - - // clear console screen - protected void clearConsoleScreen() { - System.out.print("\033[H\033[2J"); - System.out.flush(); - } - - // print in color a given text or change background color - protected void PrintInColor(String text, String color) { - - System.out.format("%s %s %s", color, text, color); - System.out.format("%s", RESET); - } - - // Print header of our console application - protected void PrintHeader() { - - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", - YELLOW); - PrintInColor("WELLCOME TO CONTACT MANAGEMENT SYSTEM \n", GREEN); - PrintInColor("==================================================================================\n", - YELLOW); - - PrintInColor("[1]: \tshow contacts\t\t\t\t\n", CYAN); - PrintInColor("[2]: \tadd contact\t\t\t\t\n", CYAN); - PrintInColor("[3]: \tsearch contact\t\t\t\t\n", CYAN); - PrintInColor("[4]: \tupdate a contact\t\t\t\t\n", CYAN); - PrintInColor("[5]: \tdelete a contact\t\t\t\t\n", CYAN); - PrintInColor("[6]: \texit\t\t\t\t\n", CYAN); - PrintInColor("==================================================================================\n", - YELLOW); - } - - // print OPTION ERROR - protected void PrintErrorAndReturn() { - - PrintInColor(" ----------------------------------------------------------------------------------\n", - YELLOW); - PrintInColor("ERROR: WRONG OPTION ID \n", RED); - PrintInColor("----------------------------------------------------------------------------------\n", - YELLOW); - - PrintInColor("[1]: \treturn to main menu\t\t\t\t\n", CYAN); - PrintInColor("[2]: \texit\t\t\t\t\n", CYAN); - PrintInColor("----------------------------------------------------------------------------------\n", - YELLOW); - - } - - protected void printFooter() { - - PrintInColor(" ----------------------------------------------------------------------------------\n", - YELLOW); - PrintInColor("RETURN TO HOME \n", CYAN); - PrintInColor("----------------------------------------------------------------------------------\n", - YELLOW); - - PrintInColor("[1]: \treturn to main menu\t\t\t\t\n", CYAN); - PrintInColor("[2]: \texit\t\t\t\t\n", CYAN); - PrintInColor("----------------------------------------------------------------------------------\n", - YELLOW); - } - - protected void deleteOption() { - PrintInColor(" ==================================================================================\n", - YELLOW); - PrintInColor("DELETE A CONCTACT\n", CYAN); - PrintInColor("==================================================================================\n", - YELLOW); - } - - protected int populateErrorOrReturnHome(int option) { - if (option == 1) { - return ASK_USER_INPUT; - } - if (option == 2) { - System.exit(0); - } - return 0; - } - -} diff --git a/src/Main.java b/src/Main.java deleted file mode 100644 index 76fcf5e..0000000 --- a/src/Main.java +++ /dev/null @@ -1,7 +0,0 @@ -import Application.Application; - -public class Main { - public static void main(String[] args) { - new Application().run(); - } -} \ No newline at end of file diff --git a/src/Professional/Professional.java b/src/Professional/Professional.java deleted file mode 100644 index dd9d6da..0000000 --- a/src/Professional/Professional.java +++ /dev/null @@ -1,196 +0,0 @@ -package Professional; - -import java.util.Scanner; - -import Contacts.Contacts; -import Family.Family; - -public class Professional extends Contacts { - private String Type; - - private String ProfessionRelation; - - public Professional() { - super(); - Type = "Professional"; - } - - public Professional(String name, String[] lastname, String address, String[] telelphoneNumbers, - String[] emailAddresses, String[] socialAcounts, String profession, String professionRelation) { - super(name, lastname, address, telelphoneNumbers, emailAddresses, socialAcounts, profession); - setProfessionRelation(professionRelation); - Type = "Professional"; - } - - @Override - public String getType() { - return Type; - } - - @Override - public void setType(String type) { - Type = type; - } - - public void setProfessionRelation(String professionRelation) { - ProfessionRelation = professionRelation; - } - - public String getProfessionalRelation() { - return this.ProfessionRelation; - } - - public void askProfessionalRelation() { - - Scanner sc = new Scanner(System.in); - System.out.print(" Enter Your relation with contact owner [Boss, Collegue, Aprentice,collaborator, ...] : "); - String proRelation = sc.nextLine(); - - while (proRelation.length() < 5) { - System.out - .println( - String.format("\n %sPLEASE INSERT A CORRECT PROFESSIONAL RELATION !%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out - .print(" Enter Your relation with contact owner [Boss, Collegue, Aprentice,collaborator, ...] : "); - proRelation = sc.nextLine(); - } - setProfessionRelation(proRelation); - - } - - public Professional askContact() { - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "CREATE A CONTACT [Professional]"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - askName(); - askLastName(); - askEmail(); - // - askProfessionalRelation(); - askTelephoneNumber(); - askAdress(); - askSocialAcount(); - askProfession(); - - return this; - - } - - public void updateContact() { - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "UPDATE CONTACT [PROFESSIONAL]"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - System.out.println("CHOOSE WHICH FIELD YOU WANT TO UPDATE"); - System.out.println("[1] NAME "); - System.out.println("[2] LASTNAME "); - System.out.println("[3] EMAIL"); - System.out.println("[4] PROFESSIONAL RELATION:"); - System.out.println("[5] TELEPHONE NUMBER:"); - System.out.println("[6] ADDRESS:"); - System.out.println("[7] SOCIAL ACOUNT:"); - System.out.println("[8] PROFESSION:"); - - System.out.format("%s %s %s : [] ", BLUE, "YOUR OPTION ", BLUE); - Scanner sc = new Scanner(System.in); - int option = sc.nextInt(); - while (option < 1 || option > 8) { - System.out.format("%s %s %s\n", RED, "ERREUR: PLEASE CHOOSE THE CORRECT OPTION", RED); - System.out.format("%s", RESET); - System.out.format("%s %s %s : [] ", BLUE, "YOUR OPTION ", BLUE); - option = sc.nextInt(); - } - - switch (option) { - case 1: - askName(); - break; - case 2: - askLastName(); - break; - case 3: - askEmail(); - break; - case 4: - askProfessionalRelation(); - break; - case 5: - askTelephoneNumber(); - break; - case 6: - askAdress(); - break; - case 7: - askSocialAcount(); - break; - case 8: - askProfession(); - break; - } - } - - @Override - public void showContact() { - - System.out.println( - "----------------------------------------------------------------------------------"); - System.out.println(); - - System.out.println(String.format(" %sName : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + getName(), RESET)); - - System.out.println(); - String lastnames = String.join(",", getLastname()); - System.out.println(String.format(" %sLast Name : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + lastnames, RESET)); - - System.out.println(); - System.out.println(String.format(" %sProfessional Relation : %s", BLUE, - BLUE) - + String.format("\t\t%s" + getProfessionalRelation(), RESET)); - - System.out.println(); - System.out.println(String.format(" %sAddress : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + getAddress(), RESET)); - - System.out.println(); - String emails = String.join(", ", getEmailAddresses()); - System.out.println(String.format(" %sEmail : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + emails, RESET)); - - System.out.println(); - String telephone_numbers = String.join(", ", getTelelphoneNumbers()); - System.out.println(String.format(" %sTelephone Number : %s", BLUE, - BLUE) - + String.format("\t\t%s" + telephone_numbers, RESET)); - - System.out.println(); - String social_acounts = String.join(", ", getSocialAcounts()); - System.out.println(String.format(" %sSocial Acount : %s", BLUE, - BLUE) - + String.format("\t\t%s" + social_acounts, RESET)); - - System.out.println(); - System.out.println(String.format(" %sProfession : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + getProfession(), RESET)); - - System.out.println(); - System.out.println( - "----------------------------------------------------------------------------------\n"); - - } - - @Override - public String toString() { - return this.getName(); - } -} diff --git a/src/main/java/Application/Application.java b/src/main/java/Application/Application.java index 1533307..2984582 100644 --- a/src/main/java/Application/Application.java +++ b/src/main/java/Application/Application.java @@ -5,21 +5,27 @@ import java.io.FileReader; import java.io.IOException; import java.util.*; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import com.fasterxml.jackson.databind.ObjectMapper; import Contacts.Contacts; -import Family.Family; -import Friends.Friends; -import Helper.Helper; -import Professional.Professional; +import Contacts.Family; +import Contacts.Friend; +import Contacts.Professional; -public class Application extends Helper { - List<Contacts> contactsList = new ArrayList<>(); +public class Application { + public ObservableList<Contacts> contactsList = FXCollections.observableArrayList(); - public void saveContactList(List<Contacts> contactsList) { + public Application() { + this.loadDatabase(); + this.sortContactList(); + } + + public void saveContactList(ObservableList<Contacts> contactsList) { ObjectMapper objectMapper = new ObjectMapper(); try { @@ -61,30 +67,28 @@ public class Application extends Helper { .trim() .split(",")); String profession = info.get("profession").toString().trim(); - Contacts new_contact = null; String type = info.get("type").toString(); + + String relation = (info.get("relation") != null) + ? info.get("relation").toString().trim() + : ""; + Contacts new_contact = null; + switch (type) { case "Family": - String familyRelation = (info.get("familyRelation") != null) - ? info.get("familyRelation").toString().trim() - : ""; - new_contact = new Family(name, lastname, address, telelphoneNumbers, emailAddresses, - socialAcounts, profession, familyRelation); + new_contact = new Family(name, lastname, type, relation, address, telelphoneNumbers, + emailAddresses, socialAcounts, profession); break; case "Friend": - String friendsSince = (info.get("friendsSince") != null) ? info.get("friendsSince").toString().trim() - : ""; - new_contact = new Friends(name, lastname, address, telelphoneNumbers, emailAddresses, - socialAcounts, profession, friendsSince); + new_contact = new Friend(name, lastname, type, relation, address, telelphoneNumbers, + emailAddresses, socialAcounts, profession); break; case "Professional": - String ProfessionRelation = (info.get("ProfessionRelation") != null) - ? info.get("ProfessionRelation").toString().trim() - : ""; - new_contact = new Friends(name, lastname, address, telelphoneNumbers, emailAddresses, - socialAcounts, profession, ProfessionRelation); + new_contact = new Professional(name, lastname, type, relation, address, telelphoneNumbers, + emailAddresses, socialAcounts, profession); + break; default: break; @@ -117,163 +121,19 @@ public class Application extends Helper { } - public Contacts createContact() { - - System.out.println("Enter the type of contact: []"); - System.out.println("[1] for friend "); - System.out.println("[2] for family "); - System.out.println("[3] for professional"); - System.out.println("Enter your choice [] :"); - - Scanner scanner = new Scanner(System.in); - int type = scanner.nextInt(); - while (type < 1 || type > 3) { - - System.out.format("%s %s %s\n", RED, "ERREUR: PLEASE CHOOSE THE CORRECT TYPE", RED); - System.out.format("%s", RESET); - System.out.println("Enter your choice [] :"); - type = scanner.nextInt(); - } - - Contacts new_contact = null; - if (type == 1) { - new_contact = new Friends() - .askContact(); - } - - else if (type == 2) { - new_contact = new Family().askContact(); - } - - else if (type == 3) { - new_contact = new Professional() - .askContact(); - } else { - PrintErrorAndReturn(); - } - // scanner.close(); - return new_contact; - - } - - public boolean update(int id) { - - int elementId = id - 1; - if (!contactsList.isEmpty() && contactsList.get(elementId) != null) { - contactsList.get(elementId).updateContact(); - sortContactList(); + public boolean delete(String searchKey) { + Optional<Contacts> contact = contactsList + .stream() + .filter(e -> e.getName().equals(searchKey)) + .findFirst(); + if (contact.isPresent()) { + int index = contactsList.indexOf(contact.get()); + contactsList.remove(index); return true; } return false; } - public List<Contacts> search() { - - List<Contacts> result = new ArrayList<Contacts>(); - - Scanner scanner = new Scanner(System.in); - System.out.println("CHOOSE BY WHICH FIELD YOU WANT TO SEARCH"); - System.out.println("[1] NAME "); - System.out.println("[2] LASTNAME "); - System.out.println("[3] EMAIL"); - System.out.println("[4] BY TYPE:"); - - System.out.printf("%s %s %s : []%n", BLUE, "YOUR OPTION ", BLUE); - System.out.printf("%s", RESET); - int option = scanner.nextInt(); - while (option < 1 || option > 4) { - System.out.printf("%s %s %s%n", RED, "ERREUR: PLEASE CHOOSE THE CORRECT OPTION", RED); - System.out.printf("%s %s %s : [] %n", BLUE, "YOUR OPTION ", BLUE); - System.out.printf("%s", RESET); - option = scanner.nextInt(); - } - - if (option == 1) { - - System.out.printf("%s %s %s : [] %n", BLUE, "ENTER A NAME TO SEARCH ", BLUE); - System.out.printf("%s", RESET); - Scanner sc = new Scanner(System.in); - String nameToSearch = sc.nextLine(); - while (nameToSearch.length() < 3) { - System.out.printf("%s %s %s%n", RED, "NAME SHOULD CONTAINS AT LEAST 3 CHARACTER LENGTH", RED); - System.out.printf("%s %s %s : [] %n", BLUE, "ENTER A NAME TO SEARCH ", BLUE); - System.out.printf("%s", RESET); - nameToSearch = sc.nextLine(); - } - - final String searchKey = nameToSearch; - result = contactsList.stream().filter(e -> e.getName().contains(searchKey)).toList(); - } - if (option == 2) - - { - int j = 0; - System.out.printf("%s %s %s : [] %n", BLUE, "ENTER A LASTNAME TO SEARCH ", BLUE); - System.out.printf("%s", RESET); - Scanner sc = new Scanner(System.in); - String lastNameToSerach = sc.nextLine(); - while (lastNameToSerach.length() < 3) { - System.out.printf("%s %s %s%n", RED, "LASTNAME SHOULD CONTAINS AT LEAST 3 CHARACTER LENGTH", RED); - System.out.printf("%s %s %s : [] %n", BLUE, "ENTER A LASTNAME TO SEARCH ", BLUE); - System.out.printf("%s", RESET); - lastNameToSerach = sc.nextLine(); - } - - final String searchKey = lastNameToSerach; - result = contactsList.stream().filter(e -> e.getLastname().contains(searchKey)).toList(); - - } else if (option == 3) { - int j = 0; - System.out.printf("%s %s %s : [] %n", BLUE, "ENTER A EMAIL TO SEARCH ", BLUE); - System.out.printf("%s", RESET); - Scanner sc = new Scanner(System.in); - String emailToSearch = sc.nextLine(); - while (emailToSearch.length() < 3) { - System.out.printf("%s %s %s\n%n", RED, "LASTNAME SHOULD CONTAINS AT LEAST 3 CHARACTER LENGTH", RED); - System.out.printf("%s %s %s : [] %n", BLUE, "ENTER A EMAIL TO SEARCH", BLUE); - System.out.printf("%s", RESET); - emailToSearch = sc.nextLine(); - } - - final String searchKey = emailToSearch; - result = contactsList.stream().filter(e -> e.getEmailAddresses().contains(searchKey)).toList(); - - } else if (option == 4) { - int j = 0; - System.out.printf("%s %s %s : [] %n", BLUE, "ENTER A TYPE TO SEARCH ", BLUE); - System.out.printf("%s", RESET); - Scanner sc = new Scanner(System.in); - String typeToSearch = sc.nextLine(); - while (typeToSearch.length() < 5) { - System.out.printf("%s %s %s\n%n", RED, "TYPE SHOULD CONTAINS AT LEAST 5 CHARACTER LENGTH", RED); - System.out.printf("%s %s %s : [] %n", BLUE, "ENTER A TYPE TO SEARCH ", BLUE); - System.out.printf("%s", RESET); - typeToSearch = sc.nextLine(); - } - - final String searchKey = typeToSearch; - result = contactsList.stream().filter(e -> e.getType().contains(searchKey)).toList(); - } - - return result; - } - - public boolean delete(int id) { - - int elementId = id - 1; - - if (elementId >= 0 && elementId < contactsList.size()) { - // delete - contactsList.remove(elementId); - // sort - sortContactList(); - return true; - - } else { - return false; - } - } - public void sortContactList() { Comparator<Contacts> compareByName = Comparator .comparing(Contacts::getName) @@ -283,172 +143,11 @@ public class Application extends Helper { } - public void showContacts() { - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", YELLOW); - PrintInColor(String.format("SHOW CONTACTS \t\t\t\t\t\t\tTOTAL [%s %d %s]\n", WHITE, - (!contactsList.isEmpty()) ? contactsList.size() : 0, CYAN), CYAN); - PrintInColor("==================================================================================\n\n", YELLOW); - - if (contactsList.isEmpty()) { - System.out.println(" No contacts yet !\n"); - } else { - contactsList.forEach(e -> e.showContact()); - } - } - - public void run() { - - loadDatabase(); - sortContactList(); - int option = ASK_USER_INPUT; - - while (true) { - Scanner scanner = new Scanner(System.in); - if (option == ASK_USER_INPUT) { - - PrintHeader(); - PrintInColor("Enter your option : ", WHITE); - - option = scanner.nextInt(); - - if (option == EXIT_CONSOLE) { - - saveContactList(contactsList); // save - System.exit(0); - } - - if (option == ADD_CONTACTS) { - - addToContactList(createContact()); - saveContactList(contactsList); // save - option = ASK_USER_INPUT; - continue; - } - - if (option == SHOW_CONTACTS) { - showContacts(); - printFooter(); - - PrintInColor("Enter your option : ", WHITE); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - continue; - - } - - if (option == SEARCH_CONTACT) { - - if (!contactsList.isEmpty()) { - List<Contacts> result = search(); - if (!result.isEmpty()) { - - result.forEach(res -> res.showContact()); - printFooter(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - - } else { - System.out.println("---------------------------------------------------"); - System.out.println("no contact found"); - System.out.println("---------------------------------------------------"); - printFooter(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - } - } else { - showContacts(); - printFooter(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - - } - continue; - } - - // update contact - if (option == UPDATE_CONTACTS) { - - showContacts(); - if (!contactsList.isEmpty()) { - - System.out.format("%s %s %s : [] ", BLUE, "ENTER A CONTACT ID TO UPDATE: ", BLUE); - int id = scanner.nextInt(); - - while (id < 1 || id > contactsList.size() + 1) { - System.out.format("%s %s %s\n", RED, "ERREUR: PLEASE CHOOSE THE CORRECT ID", RED); - System.out.format("%s %s %s : [] ", BLUE, "ENTER A CONTACT ID TO UPDATE: ", BLUE); - id = scanner.nextInt(); - } - - Boolean updated = update(id); - if (updated) { - - // save to database - saveContactList(contactsList); - option = ASK_USER_INPUT; - } else { - System.out.printf( - " Contact with id %d doesn't exists%n", id); - PrintErrorAndReturn(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - } - - } else { - showContacts(); - printFooter(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - } - continue; - } - // delete contact - if (option == DELETE_CONTACT) { - showContacts(); - - if (!contactsList.isEmpty()) { - deleteOption(); - System.out.print("Enter contact id to delete: "); - int id = scanner.nextInt(); - - boolean deleted = delete(id); - - if (deleted) { - option = ASK_USER_INPUT; - // save to database - saveContactList(contactsList); - } else { - System.out.printf( - " Contact with id %d doesn't exists%n", id); - PrintErrorAndReturn(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - } - - } else { - - printFooter(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - } - continue; - } - - } - - if (option < 1 || option > 4) { - - clearConsoleScreen(); - PrintErrorAndReturn(); - option = scanner.nextInt(); - option = populateErrorOrReturnHome(option); - } - scanner.close();// close scanner - } + public ObservableList<Contacts> getContactList() { + return contactsList; } - public List<Contacts> getContactList() { - return this.contactsList; + public void setContactList(ObservableList<Contacts> contactsList) { + this.contactsList = contactsList; } } diff --git a/src/main/java/Contacts/Contacts.java b/src/main/java/Contacts/Contacts.java index 93eac5e..1796f43 100644 --- a/src/main/java/Contacts/Contacts.java +++ b/src/main/java/Contacts/Contacts.java @@ -1,15 +1,12 @@ package Contacts; -import Helper.Helper; - -import java.util.Arrays; import java.util.List; -import java.util.Scanner; -public abstract class Contacts extends Helper { +public abstract class Contacts { protected String name; protected List<String> lastname; + protected String type; protected String address; protected List<String> telelphoneNumbers; protected List<String> emailAddresses; @@ -19,11 +16,12 @@ public abstract class Contacts extends Helper { public Contacts() { } - public Contacts(String name, List<String> lastname, String address, List<String> telelphoneNumbers, + public Contacts(String name, List<String> lastname, String type, String address, List<String> telelphoneNumbers, List<String> emailAddresses, List<String> socialAcounts, String profession) { this.name = name; this.lastname = lastname; + this.type = type; this.address = address; this.telelphoneNumbers = telelphoneNumbers; this.emailAddresses = emailAddresses; @@ -35,7 +33,7 @@ public abstract class Contacts extends Helper { return name; } - protected void setName(String name) { + public void setName(String name) { this.name = name; } @@ -43,6 +41,14 @@ public abstract class Contacts extends Helper { return lastname; } + public void setType(String type) { + this.type = type; + } + + public String getType() { + return type; + } + public void setLastname(List<String> lastname) { this.lastname = lastname; } @@ -87,167 +93,19 @@ public abstract class Contacts extends Helper { this.profession = profession; } - public void askName() { - - Scanner sc = new Scanner(System.in); - - System.out.print(" Enter a name [] : "); - String name = sc.nextLine(); - while (name.length() < 3) { - System.out - .println( - String.format("\n %sName should contain at least 3 character %s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter a name [] : "); - name = sc.nextLine(); - } - setName(name); - // sc.close(); - } - - public void askLastName() { - - Scanner sc = new Scanner(System.in); - - System.out.print(" Enter one or more last name separated by , [] : "); - String lastName = sc.nextLine(); - - // validate - while (lastName.length() < 3) { - System.out - .println( - String.format("\n %slast name should contain at least 3 character %s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter one or more last name separated by , [] : "); - name = sc.nextLine(); - } - setLastname(Arrays.asList(lastName.split(","))); - - // sc.close(); - } - - public void askAdress() { - Scanner sc = new Scanner(System.in); - - System.out.print(" Enter Address [] : "); - String address = sc.nextLine(); - while (address.length() < 15) { - System.out - .println( - String.format("\n %sAddress should at least contain 15 character length%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter Address [] : "); - address = sc.nextLine(); - } - setAddress(address); - - // sc.close(); - } - - public void askEmail() { - Scanner sc = new Scanner(System.in); - System.out.print(" Enter one or more email separated by , [] : "); - String email = sc.nextLine(); - - while (email.length() < 10 || !email.contains("@") || !email.contains(".")) { - System.out - .println( - String.format("\n %sPlease Insert a correct Email !%s%s", RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter one or more email separated by , [] : "); - - email = sc.nextLine(); - } - setEmailAddresses(Arrays.asList(email.split(","))); - // sc.close(); - } - - public void askTelephoneNumber() { - Scanner sc = new Scanner(System.in); - - System.out.print(" Enter one or more telephone number separated by , [] : "); - String telephonNumber = sc.nextLine(); - - while (telephonNumber.length() < 12 || !telephonNumber.contains("+") - || telephonNumber.replaceAll(" ", telephonNumber).length() < 12) { // +4178 223 22 44 - System.out.println( - String.format("\n %sPLEASE INSERT A CORRECT TELEPHONE NUMBER !%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter one or more telephone number separated by , [] : "); - telephonNumber = sc.nextLine(); - + @Override + public boolean equals(Object o) { + if (o == this) { + return true; } - setTelelphoneNumbers(Arrays.asList(telephonNumber.split(","))); - } - - public void askSocialAcount() { - Scanner sc = new Scanner(System.in); - System.out.print(" Enter one or more social acount URL separated by , [] :"); - String socialAcount = sc.nextLine(); - - while (!socialAcount.contains("https://")) { - System.out - .println( - String.format("\n %sPLEASE INSERT A CORRECT URL PREFIXED BY HTTPS:// !%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter one or more social acount URL separated by , [] :"); - socialAcount = sc.nextLine(); + if (!(o instanceof Contacts)) { + return false; } - setSocialAcounts(Arrays.asList(socialAcount.split(","))); + Contacts c = (Contacts) o; + return name.equals(c.name) && telelphoneNumbers.get(0).equals(c.telelphoneNumbers.get(0)); } - public void askProfession() { - - Scanner sc = new Scanner(System.in); - System.out.print(" Enter Your Contact Profession [] : "); - String profession = sc.nextLine(); - - while (profession.length() < 5) { - System.out - .println( - String.format("\n %sPLEASE INSERT A CORRECT PROFESSION !%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter Your Contact Profession [] : "); - profession = sc.nextLine(); - } - setProfession(profession); - } - - public void displayRequestHeader() { - - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "CREATE A CONTACT"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - } - - public abstract String getType(); - - public abstract void setType(String type); - - public abstract void showContact(); - - public abstract void updateContact(); + public abstract String getRelation(); + public abstract void setRelation(String relation); } diff --git a/src/main/java/Contacts/Family.java b/src/main/java/Contacts/Family.java new file mode 100644 index 0000000..0d9a81e --- /dev/null +++ b/src/main/java/Contacts/Family.java @@ -0,0 +1,34 @@ +package Contacts; + +import java.util.List; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; + +public class Family extends Contacts { + + public static ObservableList<String> contactRelation = FXCollections.observableArrayList("father", "mother", + "brother", + "sister", + "daugther", "sun"); + + private String relation; + + public Family(String name, List<String> lastname, String type, String relation, String address, + List<String> telelphoneNumbers, + List<String> emailAddresses, + List<String> socialAcounts, String profession) { + super(name, lastname, type, address, telelphoneNumbers, emailAddresses, socialAcounts, profession); + + this.relation = relation; + } + + public String getRelation() { + return relation; + } + + public void setRelation(String relation) { + this.relation = relation; + } + +} diff --git a/src/main/java/Contacts/Friend.java b/src/main/java/Contacts/Friend.java new file mode 100644 index 0000000..bb197da --- /dev/null +++ b/src/main/java/Contacts/Friend.java @@ -0,0 +1,31 @@ +package Contacts; + +import java.util.List; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; + +public class Friend extends Contacts { + + public static ObservableList<String> contactRelation = FXCollections.observableArrayList("normal friend", + "best friend"); + + private String relation; + + public Friend(String name, List<String> lastname, String type, String relation, String address, + List<String> telelphoneNumbers, + List<String> emailAddresses, + List<String> socialAcounts, String profession) { + super(name, lastname, type, address, telelphoneNumbers, emailAddresses, socialAcounts, profession); + this.relation = relation; + } + + public String getRelation() { + return relation; + } + + public void setRelation(String relation) { + this.relation = relation; + } + +} diff --git a/src/main/java/Contacts/Professional.java b/src/main/java/Contacts/Professional.java new file mode 100644 index 0000000..fa99cbd --- /dev/null +++ b/src/main/java/Contacts/Professional.java @@ -0,0 +1,32 @@ +package Contacts; + +import java.util.List; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; + +public class Professional extends Contacts { + + public static ObservableList<String> contactRelation = FXCollections.observableArrayList("Boss", "collegue", + "employee", + "collaborator", "manager"); + + private String relation; + + public Professional(String name, List<String> lastname, String type, String relation, String address, + List<String> telelphoneNumbers, + List<String> emailAddresses, + List<String> socialAcounts, String profession) { + super(name, lastname, type, address, telelphoneNumbers, emailAddresses, socialAcounts, profession); + this.relation = relation; + } + + public String getRelation() { + return relation; + } + + public void setRelation(String relation) { + this.relation = relation; + } + +} diff --git a/src/main/java/Family/Family.java b/src/main/java/Family/Family.java deleted file mode 100644 index 3865777..0000000 --- a/src/main/java/Family/Family.java +++ /dev/null @@ -1,191 +0,0 @@ -package Family; - -import java.util.List; -import java.util.Scanner; - -import Contacts.Contacts; -import Helper.Helper; - -public class Family extends Contacts { - private String Type; - private String familyRelation; - - public Family() { - super(); - this.Type = "Family"; - } - - public Family(String name, List<String> lastname, String address, List<String> telelphoneNumbers, List<String> emailAddresses, - List<String> socialAcounts, String profession, String familyRelation) { - super(name, lastname, address, telelphoneNumbers, emailAddresses, socialAcounts, profession); - Type = "Family"; - setFamilyRelation(familyRelation); - } - - @Override - public String getType() { - return Type; - } - - @Override - public void setType(String type) { - Type = type; - } - - public void setFamilyRelation(String familyRelation) { - this.familyRelation = familyRelation; - } - - public String getFamilyRelation() { - return this.familyRelation; - } - - public void askFamilyRelation() { - - Scanner sc = new Scanner(System.in); - System.out.print(" Enter Your relation with contact owner [father, mother, brother, sister, ...] : "); - String famRelation = sc.nextLine(); - - while (famRelation.length() < 5) { - System.out - .println( - String.format("\n %sPLEASE INSERT A CORRECT FAMILY RELATION !%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(" Enter Your relation with contact owner [father, mother, brother, sister, ...] : "); - famRelation = sc.nextLine(); - } - setFamilyRelation(famRelation); - - } - - public Family askContact() { - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "CREATE A CONTACT [Family]"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - askName(); - askLastName(); - askEmail(); - // - askFamilyRelation(); - askTelephoneNumber(); - askAdress(); - - askSocialAcount(); - askProfession(); - return this; - - } - public void updateContact(){ - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "UPDATE CONTACT [Family]"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - System.out.println("CHOOSE WHICH FIELD YOU WANT TO UPDATE"); - System.out.println("[1] NAME "); - System.out.println("[2] LASTNAME "); - System.out.println("[3] EMAIL"); - System.out.println("[4] FAMILY RELATION:"); - System.out.println("[5] TELEPHONE NUMBER:"); - System.out.println("[6] ADDRESS:"); - System.out.println("[7] SOCIAL ACOUNT:"); - System.out.println("[8] PROFESSION:"); - - System.out.format("%s %s %s : [] ", BLUE, "YOUR OPTION ", BLUE); - Scanner sc = new Scanner(System.in); - int option = sc.nextInt(); - while(option < 1 || option > 8){ - System.out.format("%s %s %s\n", RED, "ERREUR: PLEASE CHOOSE THE CORRECT OPTION", RED); - System.out.format("%s", RESET); - System.out.format("%s %s %s : [] ", BLUE, "YOUR OPTION ", BLUE); - option = sc.nextInt(); - } - - switch (option){ - case 1: - askName(); - break; - case 2: - askLastName(); - break; - case 3: - askEmail(); - break; - case 4: - askFamilyRelation(); - break; - case 5: - askTelephoneNumber(); - break; - case 6: - askAdress(); - break; - case 7: - askSocialAcount(); - break; - case 8: - askProfession(); - break; - } - } - - - @Override - public void showContact() { - - System.out.println( - "----------------------------------------------------------------------------------"); - System.out.println(); - - System.out.println(String.format(" %sName : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + getName(), RESET)); - - System.out.println(); - String lastnames = String.join(",", getLastname()); - System.out.println(String.format(" %sLast Name : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + lastnames, RESET)); - - System.out.println(); - System.out.println(String.format(" %sFamily Relation : %s", BLUE, - BLUE) - + String.format("\t\t%s" + getFamilyRelation(), RESET)); - - System.out.println(); - System.out.println(String.format(" %sAddress : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + getAddress(), RESET)); - - System.out.println(); - String emails = String.join(", ", getEmailAddresses()); - System.out.println(String.format(" %sEmail : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + emails, RESET)); - - System.out.println(); - String telephone_numbers = String.join(", ", getTelelphoneNumbers()); - System.out.println(String.format(" %sTelephone Number : %s", BLUE, - BLUE) - + String.format("\t\t%s" + telephone_numbers, RESET)); - - System.out.println(); - String social_acounts = String.join(", ", getSocialAcounts()); - System.out.println(String.format(" %sSocial Acount : %s", BLUE, - BLUE) - + String.format("%s" + social_acounts, RESET)); - - System.out.println(); - System.out.println(String.format(" %sProfession : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + getProfession(), RESET)); - - System.out.println(); - System.out.println( - "----------------------------------------------------------------------------------\n"); - - } - -} diff --git a/src/main/java/Friends/Friends.java b/src/main/java/Friends/Friends.java deleted file mode 100644 index feee430..0000000 --- a/src/main/java/Friends/Friends.java +++ /dev/null @@ -1,191 +0,0 @@ -package Friends; - -import Contacts.Contacts; -import java.util.List; -import java.util.Scanner; - -public class Friends extends Contacts { - - private String Type; - - private String firendsSince; - - public Friends() { - super(); - Type = "Friend"; - } - - public Friends(String name, List<String> lastname, String address, List<String> telelphoneNumbers, - List<String> emailAddresses, - List<String> socialAcounts, String profession, String firendsSince) { - super(name, lastname, address, telelphoneNumbers, emailAddresses, socialAcounts, profession); - Type = "Friend"; - setFriendsSince(firendsSince); - } - - @Override - public String getType() { - return Type; - } - - @Override - public void setType(String type) { - Type = type; - } - - public void setFriendsSince(String str) { - this.firendsSince = str; - - } - - public String getFriendsSince() { - return this.firendsSince; - } - - public void askFriendShipDate() { - - Scanner sc = new Scanner(System.in); - System.out.print(this.name + " is Your friend since : "); - String friendshipeDate = sc.nextLine(); - - while (friendshipeDate.length() < 5) { - System.out - .println( - String.format("\n %sPLEASE INSERT A CORRECT FRIENDSHIP DATE !%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out.print(this.name + " is Your friend since : "); - friendshipeDate = sc.nextLine(); - } - setFriendsSince(friendshipeDate); - } - - public Contacts askContact() { - - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "CREATE A CONTACT [Friends]"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - askName(); - askLastName(); - askEmail(); - // - askFriendShipDate(); - askTelephoneNumber(); - askAdress(); - askSocialAcount(); - askProfession(); - return this; - - } - - public void updateContact() { - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "UPDATE CONTACT [FRIENDS]"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - System.out.println("CHOOSE WHICH FIELD YOU WANT TO UPDATE"); - System.out.println("[1] NAME "); - System.out.println("[2] LASTNAME "); - System.out.println("[3] EMAIL"); - System.out.println("[4] FRIENDSHIP DATE:"); - System.out.println("[5] TELEPHONE NUMBER:"); - System.out.println("[6] ADDRESS:"); - System.out.println("[7] SOCIAL ACOUNT:"); - System.out.println("[8] PROFESSION:"); - - System.out.format("%s %s %s : [] ", BLUE, "YOUR OPTION ", BLUE); - Scanner sc = new Scanner(System.in); - int option = sc.nextInt(); - while (option < 1 || option > 8) { - System.out.format("%s %s %s\n", RED, "ERREUR: PLEASE CHOOSE THE CORRECT OPTION", RED); - System.out.format("%s", RESET); - System.out.format("%s %s %s : [] ", BLUE, "YOUR OPTION ", BLUE); - option = sc.nextInt(); - } - - switch (option) { - case 1: - askName(); - break; - case 2: - askLastName(); - break; - case 3: - askEmail(); - break; - case 4: - askFriendShipDate(); - break; - case 5: - askTelephoneNumber(); - break; - case 6: - askAdress(); - break; - case 7: - askSocialAcount(); - break; - case 8: - askProfession(); - break; - } - } - - @Override - public void showContact() { - - System.out.println( - "----------------------------------------------------------------------------------"); - System.out.println(); - - System.out.println(String.format(" %sName : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + getName(), RESET)); - - System.out.println(); - String lastnames = String.join(",", getLastname()); - System.out.println(String.format(" %sLast Name : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + lastnames, RESET)); - - System.out.println(); - System.out.println(String.format(" %sFriendship since : %s", BLUE, - BLUE) - + String.format("\t\t%s" + getFriendsSince(), RESET)); - - System.out.println(); - System.out.println(String.format(" %sAddress : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + getAddress(), RESET)); - - System.out.println(); - String emails = String.join(", ", getEmailAddresses()); - System.out.println(String.format(" %sEmail : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + emails, RESET)); - - System.out.println(); - String telephone_numbers = String.join(", ", getTelelphoneNumbers()); - System.out.println(String.format(" %sTelephone Number : %s", BLUE, - BLUE) - + String.format("\t\t%s" + telephone_numbers, RESET)); - - System.out.println(); - String social_acounts = String.join(", ", getSocialAcounts()); - System.out.println(String.format(" %sSocial Acount : %s", BLUE, - BLUE) - + String.format("\t\t%s" + social_acounts, RESET)); - - System.out.println(); - System.out.println(String.format(" %sProfession : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + getProfession(), RESET)); - - System.out.println(); - System.out.println( - "----------------------------------------------------------------------------------\n"); - - } -} diff --git a/src/main/java/Helper/Helper.java b/src/main/java/Helper/Helper.java deleted file mode 100644 index 762e26c..0000000 --- a/src/main/java/Helper/Helper.java +++ /dev/null @@ -1,115 +0,0 @@ -package Helper; - - - -public abstract class Helper { - - // text color - protected final String RED = "\u001B[31m"; - protected final String BLACK = "\u001B[30m"; - protected final String GREEN = "\u001B[32m"; - protected final String BLUE = "\u001B[34m"; - protected final String RESET = "\u001B[0m"; - protected final String PURPLE = "\u001B[35m"; - protected final String CYAN = "\u001B[36m"; - protected final String YELLOW = "\u001B[33m"; - protected final String WHITE = "\u001B[37m"; - - protected final String YELLOW_BACKGROUND = "\u001B[43m"; - protected final String BLUE_BACKGROUND = "\u001B[44m"; - protected final String BLACK_BACKGROUND = "\u001B[40m"; - protected final String PURPLE_BACKGROUND = "\u001B[45m"; - protected final String CYAN_BACKGROUND = "\u001B[46m"; - protected final String GREEN_BACKGROUND = "\u001B[42m"; - protected final String WHITE_BACKGROUND = "\u001B[47m"; - - protected final int ASK_USER_INPUT = 110; - protected final int SHOW_CONTACTS = 1; - protected final int ADD_CONTACTS = 2; - protected final int SEARCH_CONTACT = 3; - protected final int UPDATE_CONTACTS = 4; - protected final int DELETE_CONTACT = 5; - protected final int EXIT_CONSOLE = 6; - - // clear console screen - protected void clearConsoleScreen() { - System.out.print("\033[H\033[2J"); - System.out.flush(); - } - - // print in color a given text or change background color - protected void PrintInColor(String text, String color) { - - System.out.format("%s %s %s", color, text, color); - System.out.format("%s", RESET); - } - - // Print header of our console application - protected void PrintHeader() { - - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", - YELLOW); - PrintInColor("WELLCOME TO CONTACT MANAGEMENT SYSTEM \n", GREEN); - PrintInColor("==================================================================================\n", - YELLOW); - - PrintInColor("[1]: \tshow contacts\t\t\t\t\n", CYAN); - PrintInColor("[2]: \tadd contact\t\t\t\t\n", CYAN); - PrintInColor("[3]: \tsearch contact\t\t\t\t\n", CYAN); - PrintInColor("[4]: \tupdate a contact\t\t\t\t\n", CYAN); - PrintInColor("[5]: \tdelete a contact\t\t\t\t\n", CYAN); - PrintInColor("[6]: \texit\t\t\t\t\n", CYAN); - PrintInColor("==================================================================================\n", - YELLOW); - } - - // print OPTION ERROR - protected void PrintErrorAndReturn() { - - PrintInColor(" ----------------------------------------------------------------------------------\n", - YELLOW); - PrintInColor("ERROR: WRONG OPTION ID \n", RED); - PrintInColor("----------------------------------------------------------------------------------\n", - YELLOW); - - PrintInColor("[1]: \treturn to main menu\t\t\t\t\n", CYAN); - PrintInColor("[2]: \texit\t\t\t\t\n", CYAN); - PrintInColor("----------------------------------------------------------------------------------\n", - YELLOW); - - } - - protected void printFooter() { - - PrintInColor(" ----------------------------------------------------------------------------------\n", - YELLOW); - PrintInColor("RETURN TO HOME \n", CYAN); - PrintInColor("----------------------------------------------------------------------------------\n", - YELLOW); - - PrintInColor("[1]: \treturn to main menu\t\t\t\t\n", CYAN); - PrintInColor("[2]: \texit\t\t\t\t\n", CYAN); - PrintInColor("----------------------------------------------------------------------------------\n", - YELLOW); - } - - protected void deleteOption() { - PrintInColor(" ==================================================================================\n", - YELLOW); - PrintInColor("DELETE A CONCTACT\n", CYAN); - PrintInColor("==================================================================================\n", - YELLOW); - } - - protected int populateErrorOrReturnHome(int option) { - if (option == 1) { - return ASK_USER_INPUT; - } - if (option == 2) { - System.exit(0); - } - return 0; - } - -} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 501e67e..74e46a9 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,37 @@ -import Application.Application; +//import Application.Application; -public class Main { +import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.scene.Scene; +import javafx.scene.paint.Color; +import javafx.stage.Stage; +import javafx.stage.StageStyle; + + + +import java.io.IOException; + +public class Main extends Application { + + @Override + public void start(Stage stage) throws IOException { + FXMLLoader fxmlLoader = new FXMLLoader(Main.class.getResource("main.fxml")); + + Scene scene = new Scene(fxmlLoader.load()); + scene.getStylesheets().add(Main.class.getResource("main.css").toExternalForm()); + stage.setTitle("Application!"); + stage.setScene(scene); + + stage.initStyle(StageStyle.UNDECORATED); + stage.initStyle(StageStyle.TRANSPARENT); + scene.setFill(Color.TRANSPARENT); + stage.setResizable(false); + stage.show(); + } public static void main(String[] args) { - new Application().run(); + // new Application().run(); + + launch(args); } } \ No newline at end of file diff --git a/src/main/java/MainController.java b/src/main/java/MainController.java new file mode 100644 index 0000000..0959e9e --- /dev/null +++ b/src/main/java/MainController.java @@ -0,0 +1,479 @@ + +import Application.Application; +import Contacts.Contacts; +import Contacts.Family; +import Contacts.Friend; +import Contacts.Professional; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.event.ActionEvent; +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.control.*; +import javafx.scene.control.cell.PropertyValueFactory; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.scene.control.ComboBox; +import javafx.scene.control.Alert.AlertType; +import javafx.scene.input.MouseEvent; +import javafx.scene.text.Text; + +import java.awt.image.BufferedImage; +import java.net.URL; +import java.util.List; +import java.util.Optional; +import java.util.ResourceBundle; +import java.util.function.Predicate; +import java.util.Arrays; +import java.util.stream.Collectors; + +import javax.management.relation.Relation; + +public class MainController implements Initializable { + + Application app = new Application(); + + String searchKey = ""; // // for update base search element 1 + List<String> searchKey2 = List.of(""); // for update base search element 2 + @FXML + private TableView<Contacts> contactTable; + + @FXML + private TableColumn<Contacts, String> colName; + @FXML + private TableColumn<Contacts, List<String>> colLastName; + @FXML + private TableColumn<Contacts, String> colType; + + @FXML + private TableColumn<Contacts, String> colRelation; + + @FXML + private TableColumn<Contacts, String> colAddress; + @FXML + private TableColumn<Contacts, List<String>> colTelephone; + + @FXML + private TableColumn<Contacts, List<String>> colEmail; + + @FXML + private TableColumn<Contacts, List<String>> colSocialAcount; + @FXML + private TableColumn<Contacts, String> colProfession; + + @FXML + private TextField name; + @FXML + private TextField lastName; + @FXML + private ComboBox<String> comboType; + @FXML + private ComboBox<String> comboRelation; + + @FXML + private ImageView profilImage; + + @FXML + private Text profilName; + + ObservableList<String> contactType = FXCollections.observableArrayList("", "Family", "Friend", "Professional"); + ObservableList<String> contactRelation = FXCollections.observableArrayList(""); + + @FXML + void changeComboType(ActionEvent event) { + + switch (comboType.getValue()) { + case "Family": + comboRelation.setItems(Family.contactRelation); + break; + case "Friend": + comboRelation.setItems(Friend.contactRelation); + break; + case "Professional": + comboRelation.setItems(Professional.contactRelation); + default: + + } + } + + @FXML + private TextField address; + @FXML + private TextField telephone; + @FXML + private TextField email; + @FXML + private TextField socialAcount; + @FXML + private TextField profession; + + @FXML + private Button allcontacts; + @FXML + private Button familyContacts; + @FXML + private Button friendsContacts; + @FXML + private Button professionalContacts; + + @FXML + private Button add; + @FXML + private Button update; + @FXML + private Button search; + @FXML + private Button delete; + + @FXML + private Button clearFormBtn; + + @FXML + void clearForm(ActionEvent event) { + + name.clear(); + lastName.clear(); + address.clear(); + telephone.clear(); + email.clear(); + socialAcount.clear(); + profession.clear(); + comboType.setValue(contactType.get(0)); + comboRelation.setValue(null); + } + + @Override + public void initialize(URL location, ResourceBundle resources) { + showContacts(); + + comboType.setItems(contactType); + comboRelation.setItems(contactRelation); + + } + + public void showContacts() { + + colName.setCellValueFactory(new PropertyValueFactory<Contacts, String>("name")); + + colLastName.setCellValueFactory(new PropertyValueFactory<Contacts, List<String>>("lastname")); + + colLastName.setCellFactory(col -> { + return new TableCell<Contacts, List<String>>() { + @Override + protected void updateItem(List<String> item, boolean empty) { + super.updateItem(item, empty); + if (empty || item == null) { + setText(null); + } else { + setText(String.join(", ", item)); + } + } + }; + }); + + colType.setCellValueFactory(new PropertyValueFactory<Contacts, String>("type")); + + colRelation.setCellValueFactory(new PropertyValueFactory<Contacts, String>("relation")); + + colAddress.setCellValueFactory(new PropertyValueFactory<Contacts, String>("address")); + + colTelephone.setCellValueFactory(new PropertyValueFactory<Contacts, List<String>>("telelphoneNumbers")); + colTelephone.setCellFactory(col -> { + return new TableCell<Contacts, List<String>>() { + + @Override + protected void updateItem(List<String> item, boolean empty) { + super.updateItem(item, empty); + if (empty || item == null) { + setText(null); + } else { + setText(String.join(", ", item)); + } + } + }; + }); + + colEmail.setCellValueFactory(new PropertyValueFactory<Contacts, List<String>>("emailAddresses")); + colEmail.setCellFactory(col -> { + return new TableCell<Contacts, List<String>>() { + @Override + protected void updateItem(List<String> item, boolean empty) { + super.updateItem(item, empty); + if (empty || item == null) { + setText(null); + } else { + setText(String.join(", ", item)); + } + } + }; + }); + + colSocialAcount.setCellValueFactory(new PropertyValueFactory<Contacts, List<String>>("socialAcounts")); + colSocialAcount.setCellFactory(col -> + + { + return new TableCell<Contacts, List<String>>() { + @Override + protected void updateItem(List<String> item, boolean empty) { + super.updateItem(item, empty); + if (empty || item == null) { + setText(null); + } else { + setText(String.join(", ", item)); + } + } + }; + }); + + colProfession.setCellValueFactory(new PropertyValueFactory<Contacts, String>("profession")); + + contactTable.setItems(app.getContactList()); + } + + // checks all inputs + public boolean allInputInvalid() { + Predicate<String> isZero = (str) -> str.length() == 0; + + var combo1 = comboType.getSelectionModel().getSelectedItem(); + var combo2 = comboRelation.getSelectionModel().getSelectedItem(); + + boolean comboInvalid = combo1 == null || combo2 == null; + + boolean inputInvalid = List + .of(name.getText(), lastName.getText(), address.getText(), telephone.getText(), email.getText(), + socialAcount.getText()) + .stream() + .allMatch(isZero); + + return (inputInvalid || comboInvalid); + } + + // checks input for search : at lease one shouldn't be empty or null + public boolean searchInputvalid() { + + Predicate<String> isOk = (str) -> str.length() != 0; + + var combo1 = comboType.getSelectionModel().getSelectedItem(); + var combo2 = comboRelation.getSelectionModel().getSelectedItem(); + + boolean comboInvalid = combo1 != null || combo2 != null; + + boolean inputInvalid = List + .of(name.getText(), lastName.getText(), address.getText(), telephone.getText(), email.getText(), + socialAcount.getText()) + .stream() + .anyMatch(isOk); + + return (inputInvalid || comboInvalid); + } + + @FXML + void addNewConact(ActionEvent event) { + + if (allInputInvalid()) { + Alert alert = new Alert(AlertType.WARNING); + alert.setTitle("add error"); + alert.setContentText("All filed are required !"); + + alert.showAndWait(); + + } else { + String contactName = name.getText(); + List<String> contactLastName = Arrays.asList(lastName.getText().split(",")); + String contactType = comboType.getValue(); + String contactRelation = comboRelation.getValue(); + String contactAddress = address.getText(); + List<String> contactTelephone = Arrays.asList(telephone.getText().split(",")); + List<String> contactEmail = Arrays.asList(email.getText().split(",")); + List<String> contactSocialAcount = Arrays.asList(socialAcount.getText().split(",")); + String contactProfession = profession.getText(); + + switch (comboType.getValue()) { + case "Family": + Family familyContact = new Family(contactName, contactLastName, contactType, contactRelation, + contactAddress, contactTelephone, + contactEmail, contactSocialAcount, contactProfession); + + app.addToContactList(familyContact); + break; + case "Friend": + Friend friendContact = new Friend(contactName, contactLastName, contactType, contactRelation, + contactAddress, contactTelephone, + contactEmail, contactSocialAcount, contactProfession); + app.addToContactList(friendContact); + break; + case "Professional": + Professional professionalContact = new Professional(contactName, contactLastName, contactType, + contactRelation, + contactAddress, contactTelephone, + contactEmail, contactSocialAcount, contactProfession); + app.addToContactList(professionalContact); + default: + } + + // save the data to json file + app.saveContactList(app.getContactList()); + // showContacts(); + } + + } + + @FXML + void displayForUpdate(MouseEvent event) { + + Contacts temp_contact = contactTable.getSelectionModel().getSelectedItem(); + if (temp_contact != null) { + + Image image = null; + try { + image = new Image( + "https://randomuser.me/api/portraits/men/" + app.getContactList().indexOf(temp_contact) + ".jpg"); + } catch (Exception e) { + e.printStackTrace(); + } + + profilImage.setImage(image); + + profilName.setText(temp_contact.getName() + " (" + temp_contact.getLastname().get(0) + ")"); + + name.setText(temp_contact.getName()); + lastName.setText(String.join(",", temp_contact.getLastname())); + comboType.setValue(temp_contact.getType()); + comboRelation.setValue(temp_contact.getRelation()); + + address.setText(String.join(",", temp_contact.getAddress())); + telephone.setText(String.join(",", temp_contact.getTelelphoneNumbers())); + email.setText(String.join(",", temp_contact.getEmailAddresses())); + socialAcount.setText(String.join(",", temp_contact.getSocialAcounts())); + profession.setText(temp_contact.getProfession()); + searchKey = temp_contact.getName(); + searchKey2 = temp_contact.getLastname(); + } + + } + + @FXML + void updateConact(ActionEvent event) { + + if (allInputInvalid()) { + Alert alert = new Alert(AlertType.WARNING); + alert.setTitle("update error"); + alert.setContentText("choose a contact from table !"); + + alert.showAndWait(); + + } else { + // populate the contactsList with Contacts objects + Optional<Contacts> searchedContact = app.getContactList() + .stream() + .filter( + e -> e.getName().equals(searchKey)) + .filter(e -> e.getLastname().get(0).equals(searchKey2.get(0))) + .findFirst(); + + if (searchedContact.isPresent()) { + int index = app.getContactList().indexOf(searchedContact.get()); + + searchedContact.get().setName(name.getText()); + searchedContact.get().setLastname(Arrays.asList(lastName.getText().split(","))); + searchedContact.get().setType(comboType.getValue()); + searchedContact.get().setRelation(comboRelation.getValue()); + searchedContact.get().setAddress(address.getText()); + searchedContact.get().setEmailAddresses(Arrays.asList(email.getText().split(","))); + searchedContact.get().setTelelphoneNumbers(Arrays.asList(telephone.getText().split(","))); + searchedContact.get().setSocialAcounts(Arrays.asList(socialAcount.getText().split(","))); + searchedContact.get().setProfession(profession.getText()); + + app.getContactList().set(index, searchedContact.get()); + searchKey = ""; + searchKey2 = List.of(""); + app.saveContactList(app.getContactList()); + + } + + } + + } + + @FXML + void deleteContact(ActionEvent event) { + // populate the contactsList with Contacts objects + app.delete(searchKey); + } + + @FXML + void searchContact(ActionEvent event) { + + if (!searchInputvalid()) { + Alert alert = new Alert(AlertType.WARNING); + alert.setTitle("update error"); + alert.setContentText("choose a contact from table !"); + + alert.showAndWait(); + + } else { + ObservableList<Contacts> filteredList = app.getContactList().stream() + .filter( + e -> e.getName().equals(name.getText()) + || e.getLastname().get(0).equals(Arrays.asList(lastName.getText().split(",")).get(0)) + || (comboType.getValue() == null) + ? true + : e.getType().toLowerCase().equals(comboType.getValue().toLowerCase()) + + || e.getAddress().equals(address.getText()) + || e.getTelelphoneNumbers().get(0) + .equals(Arrays.asList(Arrays.asList(telephone.getText().split(",")))) + || e.getEmailAddresses().get(0) + .equals(Arrays.asList(Arrays.asList(email.getText().split(",")))) + || e.getSocialAcounts().get(0) + .equals(Arrays.asList(Arrays.asList(socialAcount.getText().split(",")))) + || e.getProfession().equals(profession.getText())) + .collect(Collectors.toCollection(FXCollections::observableArrayList)); + + contactTable.setItems(filteredList); + } + + } + + @FXML + void exitApplication(ActionEvent event) { + app.saveContactList(app.getContactList()); + System.exit(0); + } + + @FXML + void showAllcontacts(ActionEvent event) { + contactTable.setItems(app.getContactList()); + } + + @FXML + void showFamilyContacts(ActionEvent event) { + + ObservableList<Contacts> filteredList = app.getContactList() + .stream() + .filter(e -> e.getType().toLowerCase().equals("Family".toLowerCase())) + .collect(Collectors.toCollection(FXCollections::observableArrayList)); + contactTable.setItems(filteredList); + + } + + @FXML + void showFriendsContacts(ActionEvent event) { + + ObservableList<Contacts> filteredList = app.getContactList() + .stream() + .filter(e -> e.getType().toLowerCase().equals("Friend".toLowerCase())) + .collect(Collectors.toCollection(FXCollections::observableArrayList)); + contactTable.setItems(filteredList); + } + + @FXML + void showProfessionalContacts(ActionEvent event) { + ObservableList<Contacts> filteredList = app.getContactList() + .stream() + .filter(e -> e.getType().toLowerCase().equals("Professional".toLowerCase())) + .collect(Collectors.toCollection(FXCollections::observableArrayList)); + contactTable.setItems(filteredList); + } + +} diff --git a/src/main/java/Professional/Professional.java b/src/main/java/Professional/Professional.java deleted file mode 100644 index 41b9301..0000000 --- a/src/main/java/Professional/Professional.java +++ /dev/null @@ -1,192 +0,0 @@ -package Professional; - -import java.util.List; -import java.util.Scanner; - -import Contacts.Contacts; -import Family.Family; - -public class Professional extends Contacts { - private String Type; - - private String ProfessionRelation; - - public Professional() { - super(); - Type = "Professional"; - } - - public Professional(String name, List<String> lastname, String address, List<String> telelphoneNumbers, - List<String> emailAddresses, List<String> socialAcounts, String profession, String professionRelation) { - super(name, lastname, address, telelphoneNumbers, emailAddresses, socialAcounts, profession); - setProfessionRelation(professionRelation); - Type = "Professional"; - } - - @Override - public String getType() { - return Type; - } - - @Override - public void setType(String type) { - Type = type; - } - - public void setProfessionRelation(String professionRelation) { - ProfessionRelation = professionRelation; - } - - public String getProfessionalRelation() { - return this.ProfessionRelation; - } - - public void askProfessionalRelation() { - - Scanner sc = new Scanner(System.in); - System.out.print(" Enter Your relation with contact owner [Boss, Collegue, Aprentice,collaborator, ...] : "); - String proRelation = sc.nextLine(); - - while (proRelation.length() < 5) { - System.out - .println( - String.format("\n %sPLEASE INSERT A CORRECT PROFESSIONAL RELATION !%s%s", - RED, - RED, - RESET)); - System.out.println(); - System.out - .print(" Enter Your relation with contact owner [Boss, Collegue, Aprentice,collaborator, ...] : "); - proRelation = sc.nextLine(); - } - setProfessionRelation(proRelation); - - } - - public Professional askContact() { - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "CREATE A CONTACT [Professional]"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - askName(); - askLastName(); - askEmail(); - // - askProfessionalRelation(); - askTelephoneNumber(); - askAdress(); - askSocialAcount(); - askProfession(); - - return this; - - } - - public void updateContact(){ - clearConsoleScreen(); - PrintInColor(" ==================================================================================\n", GREEN); - PrintInColor(String.format("%s\n", "UPDATE CONTACT [PROFESSIONAL]"), BLUE); - PrintInColor("==================================================================================\n", GREEN); - - System.out.println("CHOOSE WHICH FIELD YOU WANT TO UPDATE"); - System.out.println("[1] NAME "); - System.out.println("[2] LASTNAME "); - System.out.println("[3] EMAIL"); - System.out.println("[4] PROFESSIONAL RELATION:"); - System.out.println("[5] TELEPHONE NUMBER:"); - System.out.println("[6] ADDRESS:"); - System.out.println("[7] SOCIAL ACOUNT:"); - System.out.println("[8] PROFESSION:"); - - System.out.format("%s %s %s : [] ", BLUE, "YOUR OPTION ", BLUE); - Scanner sc = new Scanner(System.in); - int option = sc.nextInt(); - while(option < 1 || option > 8){ - System.out.format("%s %s %s\n", RED, "ERREUR: PLEASE CHOOSE THE CORRECT OPTION", RED); - System.out.format("%s", RESET); - System.out.format("%s %s %s : [] ", BLUE, "YOUR OPTION ", BLUE); - option = sc.nextInt(); - } - - switch (option){ - case 1: - askName(); - break; - case 2: - askLastName(); - break; - case 3: - askEmail(); - break; - case 4: - askProfessionalRelation(); - break; - case 5: - askTelephoneNumber(); - break; - case 6: - askAdress(); - break; - case 7: - askSocialAcount(); - break; - case 8: - askProfession(); - break; - } - } - - @Override - public void showContact() { - - System.out.println( - "----------------------------------------------------------------------------------"); - System.out.println(); - - System.out.println(String.format(" %sName : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + getName(), RESET)); - - System.out.println(); - String lastnames = String.join(",", getLastname()); - System.out.println(String.format(" %sLast Name : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + lastnames, RESET)); - - System.out.println(); - System.out.println(String.format(" %sProfessional Relation : %s", BLUE, - BLUE) - + String.format("\t\t%s" + getProfessionalRelation(), RESET)); - - System.out.println(); - System.out.println(String.format(" %sAddress : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + getAddress(), RESET)); - - System.out.println(); - String emails = String.join(", ", getEmailAddresses()); - System.out.println(String.format(" %sEmail : %s", BLUE, BLUE) - + String.format("\t\t\t%s" + emails, RESET)); - - System.out.println(); - String telephone_numbers = String.join(", ", getTelelphoneNumbers()); - System.out.println(String.format(" %sTelephone Number : %s", BLUE, - BLUE) - + String.format("\t\t%s" + telephone_numbers, RESET)); - - System.out.println(); - String social_acounts = String.join(", ", getSocialAcounts()); - System.out.println(String.format(" %sSocial Acount : %s", BLUE, - BLUE) - + String.format("\t\t%s" + social_acounts, RESET)); - - System.out.println(); - System.out.println(String.format(" %sProfession : %s", BLUE, - BLUE) - + String.format("\t\t\t%s" + getProfession(), RESET)); - - System.out.println(); - System.out.println( - "----------------------------------------------------------------------------------\n"); - - } -} diff --git a/src/main/resources/add.png b/src/main/resources/add.png new file mode 100644 index 0000000000000000000000000000000000000000..8a14ff4f9c9c23c93784d187246d069c289c7438 GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0y~yU@!t<4mJh`208nVjSLJ7oCO|{#S9GG!XV7ZFl&wk z0|Uc*PZ!6KiaBp@`f?pI5NLZSb9lb+%__Ol?2i$zW-i%P_|>aKY^i{Uk7?k(blX<R z=h~vjECnmMH?a8~=>4?rn)ht0BaKz1nzKK=JHQsP<4^<ZhOP7Vs6AV_Su{U3wSxDt zY;sqv+}@q5c?>q+`!(Z{dbnoN@5>7DO=goaU#$qrQkGJ2kUqIIgH<DHr^s3c*VpS8 zA8ohfHCpgLYX6VEB^MMJZ+YmsYCBv!1y-|l;g#vNSs4@L?|I~JJ?fvAeBe^m?js_< zUuUjezCHHT%e7k{?Y{da%cgBzlKh($*X_QBXZ+z}fA8bD_p8u$PQk)t{);{(mM*15 S2N)O_7(8A5T-G@yGywq1q=bL~ literal 0 HcmV?d00001 diff --git a/src/main/resources/bg.png b/src/main/resources/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..59b6f545f75c127c90028869679226f9a6477842 GIT binary patch literal 184347 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%0D;#0eXqcuHl+-6<&^zQdN`sVk`*xl!Z z$yuh{IJVRNeCB8VyW($;Zxhp)E_P#M^7P};@A+nQ_sxu!a-O}Ydi&{8Z3(NIjx+Pk z<vCsU$=H^-e0zU$At%qm#O?D|KQ{j;|6Me++2xU7^v+G!=4djW{X0>4!q&ah&M&@a z5%H+xmJV;*!rC6AWn7)FJNybt8<>O&Lo_qqoWA$N&uJZB{Gsy;HSW6}Kek}6X;gHf zXWHpgX9AX=EsA}5DwJX3@kMOCF3htPrd|rVylLW_0t?Owp6}va9B<xVyVYX~|ICxg z`pJ_*Hi!9I?#~pC++W5k@lkWul8KdmN_X_R#ga-s36}n|@!xiLQ*HRtHCxZec>i6t zws)x?3%^T#=w{}8S2s(UeWiEmkIY@br1qn0t&DE3lqrLV&?>&!f>T$`$#mo1B)-Tc zc(Gx?#!jAI4~E6NRRpe0I<Re7lb>Riq;|MoyWD%lwRfK=etufL;qGby9#6kli;|x= zpPSu%TK?AK7@s*MhgqLA9zDdm_V2wNuT++NWJ_3f`g^dZgUj?Yr)(`|usru}ad_>c zab$wP@r(10c9`rH{QC1?r!fbIi>(Ha3ZI_aBrTubV=n8Z798MIceL$ovDDkaaYv!$ z+TR0To@}TxddI1|b44Q`O9Dgl^<zinuOCQxe(vt4p#9>3S~qm~ZGS9?srA+OJb#i) z!n*3qtodpGYHrFG-hBf;`s$xGch2oyXP>{$uaDSXegEFO-UaISKA&10dg009e)}m) zPw32Cv&89;iQT&vr_&{2B>^f+GDX90UMkq~<X?jPN9VaSf6HDpzsmjGu65Ep?QKb? za*y47T`b#bER_3_<!8-1&sjMQyPea|{q2||#}~rIeDVx`wd8jxq0<@*XZ4tE`7!z9 ztRF2(#_OU~*#v55D6y^C{<-qZio1+{cl7^$y!Y<k+Pk(ttX)^lC`nzsXGih#GKHlx zt+p9&%kq_3?s9E?B!ArGm%ia)yZx$7lp^o^Kl3M_d9t*<W1Y~cg%y0ldhf2Ev*CJd zbL!*bB!{O43a|H`T9GE}q~E3}J!77A@cGoWF3<PBs);yss$tJZ>+e5X4hIJdmo{EG zdMDdSxn=jwPe=E;Ok3$)U?cwR*?!BVZHriA=A0>!<PDN=VBh^XDZK5Q{^p3cx7jYo zJpH#|HIv*dzatA*)bYuzv47>P+TkI2a+BQ=*L52##PTGgg%nDw{v7fAEB*UKWuDLV zpE8HOx@q4?x%TJNF<#;BO!K-qQ)dgNSDh=YN&6M^<!46sW90+(5&J*Su~po1;PDcN zPG3e9oANgiTS^`u*na1hyZE0=M?a@td9ks3->+Z0tKaWieSZ4Winq6dH;Y*;*WFO} zw{645_?oRs%G$d<Z->1#*!$YcVr`Bjv+4=o*=E|et%di@t;h(^*tF=0L6)<`j2QOD zip6ue&s~wV_i2{o<;t*2S>iGE(5YEAJ04qc&fm-%y3onjXvgwbZYq@(`R@c<rr8Se zOj%TO{Gs=U7ge%1ilSESdd6lJUNLWvqQl*g?8o=sGB2x=lXz6qtkbbdL_~0{3A5Lp zz*mp!=1y+?W~Abk#{c|Y{F1xI7cUAH+?yfI=rTD&{rADnh+j%OBKBnQGR;U4-k{KN zflnswjYr>$36cpCCWjun8Q#9OU)m&Gu_)!Ii^zuQR;-PmcJI+*30e1+p`ha9#{l+b zyS3jwUo2b|>ua{k$3<d(;KFMe7pxpEGPKV4$a2m8%zoC=dn~zAz5Gr(td-edeKOHT zLQFN4QSxBcw631(JdMwjmfq3W-#o+ZsR@s);u)v*^DCxES}MEm6HhF*DzNWZ(z2lR z5dWDHE1#)94j=mFDt2zY&?MIt=evu~tH!jhFk;yM{jvChg*E5?g%!<d{AW5T?3zuJ z@Rm##rQLik+O3XkK3C50%-0p&w~sMMvS^**#?XRubIv4lRC6sBtZirt2rIL45&xFt zb?f)0nwR=T(rF*>72Ur3tMWqFr=vFvAJ5a=?|psV%&iA@W;ZT99TxKcTl>lE%|*qt zOJ3dZ)O&x6_f<#Xr<*U%H%!XCXgeX-?|9%pC7E?!W2}_+?w{!ye6T00zs}1j+2DL_ zXMoA(B(HwAh6cCNW0#VgFFh)}Gs|Fi_NN7DZjNGVx;lzRCoj|neqAsjb@G<gPxL-y zKB#$_aN0xQ@xSIv^VK8XJYg2(yn0YM=j);TOJDc&uQaPrh{{x+(8|8hyS-X^d*Zvd zHu8C=-mJ2$dm@lfCQ#HEq^7zoX;t_xzS)Z=tKYHz{(SyL?K&rBfwT)Hw{*nY98xdI zKX*JN^}WE@{?1z`rJ{saFKgDR1=+|6nW}U=wOgqBUHwG#WbTXX+@=DNtJ(GZ1Z8CA zD#*t~cpW<6`cWfU#_2fcAql;v#_ovi1s$;w90m8eb}vym{`ygZo7ZvQV@k%qnw+=< zCpe_dS!%RzqXdVi;IoHGkCehbvCYX+ixO}W@GUy!Cn%<*?5OXu(={TX<kTv*mf5Yv z2RP+_I$fT=f<f|Wjox`f;ji<9f5`EfDtzlQ)cVTJ5H0t9a-+l1j@1H(iag3WG`M6n zG!BRds=Gg%DC6!VJI89~`^1hq%{GUZ*90uS2k*GJX_LmC{9}`hCaLW?cK(d(U%|HZ zDNRobKcC(1?6kp3C5ipi6HQ@uURkR>pMw2uFTTHXSLv<#W-*O;u^GnYb(cTJ*KTHr z%zet2YwfZ9T<k^3&CbXAq?>ECMRP+Ni+H3&MIw_f9a=Mq-`wJP-HUhiA<~~y+qpR7 zK6ELr2xoUzS2DL|o+I6NmgPD7h0TRio*k_1-z9uSK3r{AF!S=s%6rZ#G(NR>mHFg} z+5yAIJ5T(3`GEO@m6~6rgXGH>%^&Nkc&4a%dVO}xwUw?;<E;DUUbIx!N+<o%9M2W0 z){^(z4feWQebFc~ob32NtYzK@6&0Ha)olIh44*FDykY+R?ak#&nXmgB)GhQ^5P8S^ zWZ{{{Pdn#lzZTzeg?CYwo%VOTqRBI6%#7sU61-D=s&)9Dnzgt8mzu?Jl(?igr#04k zEEG9BEv+SGQ)(~E#t9nJ4)xraaLJ^%tRpM0e_^Gb{Hj-zD`X<ejTBatr0k6d@LQ7p zKrN=mr8C9#lh@=m6PxRt<*X<0NeHS}bAMLc>g9gUjq_Uling$pUxGKMsZ4koVfAOp z`iDCCe~!!&-hDzsF{o!LgK3%8nwe%M2VPs~$=YZ8wVb}Gx6G$9<=h|H<4wO9muVep z5Y;O)dRe@&A@l_6bD!CU$<MX_mYmUOO^Nuw?B0fx_hvS#s~z)ns*!1G_mQ+M5($}p z%<=UONr~_No-PF%E!lN7g2Lr$PW$)Xxn6tfr_r|M>AD~4qY{30P5ruWra@w5oMYWn zK8e#eS30X}$mUJX-}l#Tv#)+iPy521a|QS-=G>7w{&UBr6L&VhxMA@_nPH|`VlLZ< zJK{fcrmD0)HkT4yA?f`3U~0VeI-iHhhi+-5wXPF=XC7CuOC)|_aB|yR?ytvmI6^dc z^8R18_*o%`|KtV7_U@3{a^xiA<JT2(I=Y)gb(vES2%UMLm!z$G;84z+hfDKr3h!UO zq?qA{RnE+-Ev(f_mhLwrS31N*p10@v_NVUV)?)Q@%F(w=r}l7vY4~=LG4RIzmj|W> zu<w6p^xBvAwo1hpe!UXEO$L+o>(Um?U3M;_PhM2%@w27}NefT$hnD@>@j*n$u)r)^ z*zMT4D=nP-6K(yTKb^pP<>c#_$QTQ!d&}z1RPofW=h$v{#&F?-=I*nzI`}Ho8=3fK zEa_g6k+S8(j+YXL{O-nD6~}$q(BW}ML2y^Zo(dbG(;U$=51HIjb_%Izy|ipfxUS{V z<YyX-Cm#AeQz0tjzJ;Hf@RN-(8qyofoX?-0J)!&B9QmvpYbFLC<SpZLS|aWDbiP2! z>xv=~7Tyqj*@?=X*<XIj_-37`xfgZ&l)Lw=b5DvNd^It6m&tA9ykF`+tHh6&pB^0U zKjGYOs~g`Vt9e>X|JB^tb8kO*aL`%y_0`qU@5D<j_uYT9GLrjGH20dAt-J2NYqn0i zV!z%m;_s~9rM|1pHWglW`zdsJy-<K!idxl|3v~->UV1qN^A;=@y}D9bt7$o(bl>!9 z#fzqXdmsJtoYGtEsq!pveu6n)Q~9=Cljfzy+<fU9z#6henXOtt(COXUXYX6)?353l zekXcW*!oq@b5HHq`Oxvpgwh`!9R;$1XL4qwJUY;!;1lR`?bde9?}`h9o(OKRn8aW9 zV1wu!-!!dttyb2GWm?+<Jx;04D%`K95NV-!-QZ|p(wQqe{eLfTJC}T!?F;+5S<5tI zrFu)ncc$dVsmDC{8CB)F$o0owffqXSg5L$d<9fK`VqXB0`U}@~5w?SjQnMy!UO4n5 zM!|Ve!ry6<o33eY`FVeXX7`7q+=pIxJ(Ms~pIVslYf<d-vrA8M`?bqUBupuhU@(}q zv`IkLQ1Q1>Pi;5z#2!Z0&J+<rjU!v;Ca{REJlW7vu=z(~oLRsBj6E$E_WBtcH!^N6 zC^rmT(7<gWQD803zd4OxXVnRVFJ+HyUX(;0z9ua?ztLR#wPDLj3%CAT`+GXR#sv6> z?~Ogja=ctgcxQ&~WlcMa^Ix{`?A>X>cD3j2<p2k9<F98Wn~xm{nd&)NEtBov3FX?S z7uDxYJ#Qzg)LkE0lUSDb?p*EfZ?QKvBpxo={XdF3g8NUQSi`m>d#n3$Wa8Nmo9pG> z<6E*x0kpKEhL5F3RzJtxw##QW^OP+|J9l&EC0Logt8H~XBgShuHM#lcVNI6zci1h< zXM1+f*4=!@BlpvW3m&<-PfZNecy~!3IA|!5kang;t>d%8jpDO!rp^+r(9dcJ{;0!r z(n}*{iKm@5v*9$I{ByUL>9KO|KXYoU&hblX--O@oZ8=@~XZbsuww%*Hd6%wOIeAXl zi9BhArkdE5<|%#$uNJ!36rE2pTDtye`_Z2}f3Hwl?d4@$`&ccI+3UbL`9JG6Fhtrl zF<w1ba7A^h<M{_H-@bfG>zp*x>gnpOoNHt3wOA~9uj!p~$Tv<*wDJ$tZElowl>9Mc z0-uM7%q_;_$Fom$pKU$XeYo|w#+ev{$1AR6&X2Q8lgtcpW14>1@0b<e(a)UH6W7jU zooZyH&1onYq&|C2scgR1#|Ne<PFcE3CAKQJpEx+XFF+`jV`qT&L${=}9ab-vKbUed z>iMB`mou*J8ykZrslE8qDD$EF=DyttmFIr0I9%Pl?H%jXtx9(criv&X`hDnQvF5K| zvtCU4Fm=<F!1N^TXodw<^+xI|H?@5)I9XHj>&^W$Cw!()4v<z#F-iVaQu%!D_CV!N zQ>@?Z^Os8U`?+oH>?}Sxla$~4YJV?2{dLtg^>p2UMjeCHTU(Zwy}fI>&u!|hpv_sv zTfDDMR6RZY)bseh>qX-4pE}Rbo!fUwPFB`d>;Ge0Z}G$b-YED8n;g=7u-hVclV0H4 zlBA~RmpXqfND1Sax_rqJ5zfZP&kK8^B>8)TWOo|r@G8B0AiY84_}+=tI>G|=3iFmP zU^-gc%{Q+!osZ|C;i_bvqNl5-_J&z>B+e;2QKZDor?hO|llKmPS{pe+Z$|t&b8w$$ zg{{1dqMG-*HaEd<dl@n!TH4(eJvvH_vbH^#m)N!W`JCo}i1TT4=RQwbHhbpDG#%$n z+s?LIu6z7rr}X7Mi}X)ZHg#46MM-C{c&&YUuQ0r$M_T8(Ovgp`6oq6SClkr8HM1jC z#8-Ir88xe(y}$6+<bxa`(Tlb7g-i`TPvx(_R{r;FPQ)G-e&zgER=KK679KnF%S_*n znPrpY&JWBR4@gP~?Ca~`y2hCp@-mU-CI7Vwu>>(0zpoYDT^5Ig^BL05u&&8qm}8x& zEZ2OYl0~up%Dhh+i<&Mg-|=^86jWm7H9E`vAx5tK!esA&WRs{UuV*Vf&fYSe+B>g( zrF}~s7k2>nrAGC69d*2mWLbpRO<OJ>Sn&L}5y!$b!+b3#S62=r4)2d@&+B*Yj9j5O z)j?(9tTi$Fgt+onUi$wu{K-!7xQT&_+ZOVsCU5<IuQLC6<6rjk>+dg^ckn%U`s#uG zrUT{neics-e2je`*WelMD;2v)^3AEx(+Y`J;gbc_wA;VEpKenSW$~rCWA^IcgYQG) zQ`#h(Y$u+{n|6dldh^_nrwc5Pp8lcX8}njEQ}f4|H^nMNh5AqH9)7AjV<5!F?BlQ@ ze_^rf|79onei$imY-a6#+&}ZI@Xg2j!aDwT6-#LBIP_`Gd^PKmUngGdb$oX4^=474 z<&&Si;oP!fs?;I9lY4c}7xHtvTs!;uIg86aeb*H`_Ag(WW>KuUA|q2~`^;}kz0y~) z9FHru^XN*xJNx-@hE^t>TiSlN3+FQ{tz4t{s_a2LkHe1rlN{DKdS8t=T&8`zpKD^_ z;_%&5#5Hx4d?qPWmJ2M>oTGC%qich{zK;0DzMo4H8q7Wvzmai$va>?s@5CjH-xT)! zx$yjK<@HsYo;f_ud$0We+|jf8ZXJdKAJo4bnZ>V|vFWsC&7qI8*DQVRv{i$>yXTVD znSI^@B0rK7*&n7Y5)x?Ua677U=A*H|xn(=N3M`_oN?gpEzfkbib0=Q5C9*t>VoEG~ z6fYS*RcBx0U%qfx^7m6V4ENiAc=IS|vkB+C=jc9AtyHyamCVD11%G;FEGIo~Qj9)v zVrC<k<di@OgM=1IiGx;O<y~c0d<tv0wp-Zh2<y$QJaS(;owCl`T=u_}9Pqbuar@%? zm5<Nvy}kYYiqO96+iXp<8;f!q7aq2g-kJXYUioa3EXL(`!@jDAt%*>xPns1kWnq$I zXxs6-U)TT6>xg^BC&TvS|6Fj-LUz0Ux7`yyc&u!C8Tn*?f&Z0-9(@c`rDyy$dfZyv zb1=m4S4P^YJLxgC1#9PR{6FjO1C^~s{i>3_liPz_`8!Q!*?kPInx}bE^VJJy=jMkE z!K%DlbAprIjT&vIRI5fOy<DI<<Iu~tGetkk{r!TEL~jc1;hQmkqsLPJo3~Ew<e%|g zKxjp^y}kDLmj@U+f*%@B=y}#27XI#h%0c6ooX0F%9__r-ywm>kjg&2y6<6QU{8qrm z!M0i9p@d8FwH*)l%q%tbWGae$S7{@9s4!XZsd2Gtvke3H0=KJKw<aCsiI%)yQLs?( zQ7Ug+ysONDbzh|~&p&aZXT!!r>TfhvvSs|v@qBd1y&-w&V5?V!`)!s2V}oDHE4wes z^iSswt7KG=J@vJ<HNkPwy*J%;g>Gw8W^V4ExY$}WuIV`65svc;950Gba4coM`F(A- z(0gfyZ|NLaH(R!R4(LvslJQIPw80vdwc>9kKjA$QX6}@7?)jNR28})*EXx*_Pb_Md z*?jy~h`=o=n}e$rswZ#W&$-z>;aLU8y~``u3R^UPNn5^{=fNmeBQWFf9!Z|lcP4VG z=rf#~?Nz+x=eD=EpDt#6pWNZN?9TrK$(L51UV25gujc>U^6$AfHf#*sc~AE3$w=-g z&fI(c9ov0*`@35|J-)6gU6MF=S(NfT!{S{+7lRDAjG0^3H~;>Yk+kSY^tAUM=D!QS zb+u`mUfQk1#DW_y!r3NvGX=M-d)e{w%ZnMJM%VtO3LP?FX7u}RP__RuV=VLPBNhHW zPnce%MJ?DeV|g|2chf`fmQ}YOp61hg$0y!IH@Rig&T_*-4)vd6>(eGV2CkWM#HI98 zo{(t6W5bz=PK(w%2OL@xv)nqV{~M#HIm7R@T(J*}XZT1Z_cro<I$$_8In?8r{7h5p z3Z{!*$BG}sovpnh&>PrxB;Eh0#`Bz4eZp$jckOt|Y2KvwthnHn#P_`?R%GNxE<XPt zUF}X^?WQ~aUTXyUq>~s<#!O(8>Fn&ju`bqnW!&CbX%|;Xu(>ZyVbRlzbMTvA_{7Wf z(h;xVyG3csO78J7DocDQXPC3jzE7CxhlYtokhn!Y7xVRmD=}G<tYUwiU312yHAd^< zqx8hY0s#+=MUJ9jiFaF1Gp}DRW~qLE!i-}v)4JytR0*7$&;Pc#<yfU;LjJk0&v;kz zNk8{toNDB7{ejmC<@9Wp>`Q4W%Oh(lIlOj6d|v1<rGIuysnQ`^PtTW8&-o5nX2!O! z3BIAqpV7E2`+>~L2WcEi7G~$#YoFcWk(l$rIQwq<68^M%3X@gT<~jJ<g_kY<`sncY z`;PBlc)qMXJ-5hnxA&373df%>=C`}CIq7KEwx<R8Tb8Hj2I%R2c*Ffy{H=Y>i(OHs z+1`tP^)fb#pZI=ale*s@!I>Fq5>GzPSY6;Ct1x%+yWCT;4>$00EE9P2^lvwV4GZ7o zxAWJ`ov81ezH*m%4(HKYzrO{SO_ODcq_*sRyx_jWBdzGYEG&8tYL6XW{a7vXwEM{& zx9+*V<xE-f<j#u6%O;4<(e<udzTvt+U`o^BB8BLPN|tvUZKMKS<fdOJ^-$TBr?Bae zL(B1A7pKO%o`RP;Jp7cHe~Rm;y^b<bnPa(c=6lcM@0vHsSy%3e->7oH{NeNG|IYuN zdy<z~H0?&o9gzt^X10^9|G1~0`Rn_)p=d_WHTH*JcWuqiOcG}1?G;clda1$7#Aq9( zCw?wcJycPq{Pi{6{nm_2W#jf7dE(;HEH{}uIwm1&^A3)dh&way^z7p3oozTf?LfPe zz1Cj$HnZqMJ055#IjE;a?e}=MXz^1g#l^D(C1rD1j@`Q``KrSI>Tfr(^*(2VEDM$V zj&gfkQz$v=G2;UFX-AvuUV9`z7>o1HT{h_u$NkBwee<~kW<S&V;##)WPwsitg1-}g zPMXBa$b7)6hv{Tk`SA-Mk1hDTl)=%EB|YNzqt_;zo;+gX)Mc4j&M<E>=SMNE!=jJa zQlCVtsxcYVcIaJF5W4?CMzr<fCB_BS?QcDI?<_TuGuPDgQ(V&g``gLo&GwV#-rjzS zxAxs+zS#8)BJnEC_Wx48HvQyYyRWix|LwOw|E?9gv8S?|eV0j?tX<WgO}Dnb_Bifs zwJQ0~yY}}f4;Qss{ZN+O`uOgP+i7oaDf-RUk#O8MDSPAc0)K<O*A!A1FKX*Le&`c3 zv@)1>(#P%1!n=A0XIwhExBFc1%|{urwiOR1cvft%O-;0t`0hG4<AsVvh}7d^NtPFu z6SP^<ebQG{>#EN9XuWOj#${(~O{7(w`I5DCKeN0)wx#Ri4j+#Sn`@^v7dbtT7G>FX z;)O=(g(p8h6o33|bmGI~H+d{fvvidU6+TVxROvh+|NWp=hCR1qz`{3`d+a?Atm<mB zouJAjRCv?a@5Su*&rhzC^}WK-ug$V>_Uw1RLlsS~{@CLd)bRNFs^IA6{^a9*MRLa` z?Jr&Ur_Fr5KwtHl8y62ND?2OZ&Ti~5^qr;?rNb+I<+_-9>crXE3zH2k-%U2yb*{bi z)?AKW?GUFzVfXiQE=uZe6EgpBlxMCAn_J<T1Dq?LG^{wf;_QoOT#GIU^a}V&H!tv$ zS^4PO&4Ru&8H|0enHJ8`6i;C^O4?RDv1ehfn3TzeqddYV1a2BuUw3HgXzb&E>hzSS zaPbtk=h93w?p}G=>$dw|%nuzo9tDAklNly;e-F!zt6{q~B|_YY+d3fsnGwe>mgYde zCkNVfYV=|}wi^Yd=XTgWE4ibx=3?i3-HorB%Xp+T4K?M8_kVsO@obj=Y@5Kc_xDs| ztG-NHy>4fx<L(;k#6wCJ@89iDJbQC_1oxlEIvdK~{(9ig#(R55{{MevysxhxZ(09t zSGdoN4_ntn?)4Jp^xJxCYwqlo`q^zBd-!H*f8$$}bZ5Uu(b82CS1+uvcvg04gHOgY zpJ3Co9{Sp6c%Lu-_4w8&SEHHht;*vS8glBnTvz(EXKQ@Er4jJyU~T_Q?Q&`5f+o(+ z6El9!J5#jt_`?@kc1IsC-0Hf#zR*Z1{&=mb1&fB-gSQ1&<`f6mr#<)8NwY54l*D-9 zOwFsAn_0S~?5s;eEQPA2Q~e|*G8!H^{w<iM;&|rqzU7ftxraBqI5aM3ylI>)r4>GF z?>$L5rs~4~r`eNUEE20x++FCjp!(v%V)iL~0v{fHW>tLHX<f*)<j#%cTKU?Py2|(k zqK67EckHc-y{>Pm$+-2Zk7db+4c8{V-}O7MG~mp#of}^E^g8vO+$CzJKKa5<F0O^e z5uJViOCHEnC0L|#2~KEmGgP`~A~IY3%$aMtufAzD_T&`k=pDNEtM%xSo_!L6`meoW zc39c=1nS?Lo#m|cYyC|#4go2X1=pHc&;HtMzpujC;FL;@@1+P2j#m#OZlrdY{M;9k zl<anHw%2P5EqRWQViwhDAFimVAM_1hS66o6N5Y}WK1p*d78kj_DEMG;+-Od|+=V6? zKj*_c+ZOnppKT$swd_#%zrJ-l%~PUz_oTdv{1el;qH=k|-<|TxEXVu*^1Qje^wOG4 z?w7Zg?!G6H?AAZ?_u>A@?{waG-<vmo>w);pMpkaItG`R0%<$zrc~ac$fX>_3>vqO% z-kopYU46W7?yQC*%zJNd&E5U)UPsG}&UUY5tV>Q;&wX6$JKrqp)We38jzvp1r(HNN z7WVXG!u*H6r)$?S_?Zf)7`|&RIkD<mM{O%(b?+-vzx0c3p6`4@j_j}GI};MZ(aK_^ z#<#}3cteMuK8s}EuE!Pf*OqWE%nA!}c)F44Y>DTQ)chS>u@5a)Dy)C1n4BhSXD@$V zHL<r^=-adsu5AlUr#Z5mpIOcO`u>bPERXb=8UM`o<P;3v(>K?w<k+7_?>Vl%exfh* zvA~8+X4aYqwZ4-MpN!woe|k>2%Z^!QxmsTZ9o|}R2)FsTySBaW(S7zO|9-!#`?Wqs z`v1%7P>JKVDK8!b8X8XI%*@n0vBo>)-yO@M!qwA0T{^8VaojynOqL}{%;>fDyOgyx z7AfBpvQ~>`o$txeR9f&z>&@yzt&1<GoB3X|FwV8AU&Z)R!us6hW5tpe15a%cVoxY; zOfJm2(!PK5vRt>DQ<=<8UDdh4@!C10A&I5qmxRoQy<Mv{t<-}4pZlETa=JlLefs8o zoUzVZd6$PeWQOmtuRhMr&Dkmawp8fprOTTcE<3B+_LyriF|~(A@-Q;rt4O&!dFrWz zW=9{j2j685ypOb4FT=<BVA%rY-vR;#Itg#vyQSmjy!8Dv_j{&eox7UAd`rE5DzENz zN*tS{65sPbCTvZN)?BN2z3`Ze!m~Yh{Q2<qdVKxYr{VqomUCa)cP{Ed%%%fxZhqF2 zF)4ZSYtEfHzvk-i74iFRb#r(A`WmaGmN)FlHbz!#GvoHi9M~Wq9QoKbv&Hd6XT-im z!O0AAEXPU|Ztb?%+}JmJspX_p-mLUfl_gJ9PJenH^TxSti)+!kK<&?rvm(~l*_JK| zQBj_>tXO`|8@KPy*JcTxDfVB|{8aAvnSBzf=4oH%-N=7&rPs#z_9~u9nNb@S7&E%h z>$jcq{`_7gaaG4HeXCB0sB0K0>p$GrCigYwgiZ1KWt&ZpSk=h+i68#w<EW)ya=xN^ z)7sN-uJUknX|nd#&ig&*)LNxtb*)o>`|LmenOS3aVF7b^(fn!B5(1%<xM#&{n19*l zX|^_wx6SrVuWkPOd$phoh0SgLA1c1Ab?Db>gTC3v_B@|wEr0IBff5OaXYGOu`(%yX zW|`#al;16G7nE@P+w#V({D``;#U|F7Uth&Ux=rO$m%P+^C_sjz-}Qt>;KE{?8M2=j zZLV!Re_2tbVZOvi!$rz>*1i>p*(!Ch@Q(VjcP<XOXAK-h<gOq5v}0z44*wQCgRH(o z9Rcxs(zR~g3UUxh3^-U-VVF?5t?OdprscCIt-K`^){(%F#J=a_j|)9<`AT1$+}d96 z*fS&J+yPVP7cYNYHeRr(<+=NVXWv{M4xT?6C1K87=U3mcoh6Z3;gG|(z5MfnncB~v zm+G<#db-Lm%0Fqpx^cmwKWQfOW<Hoafo0yolNOq83k<(Mk2K2trE;b9-1Kc3qMsY) zs{73{NjfoMVSadv^nrPcw;q_E+W7OcxT*ZFmnWwFWc~RtH){LT)rQ`)P2UtsEZtrI z-!bKq<EHZKaxe1U2dbGiXE^huuH<de>Y7)O(6(vM$+Be*BHy&9Y<ZA-z}ivX<h!;- z(Y^IvEXsnSe=mvHTDGb*t&qOG(B$9&JC~mqSB0+1?AD52`RTKPzO<y_!lJaF?+%yD zXqe)?yf<0ks`8xk`urAom-*5-Hn>*Et0^ijY!r%?tiAK2RPS3`$(6gDm)(=jC)dt- z8+K>D$1B^qCmJ_CpFDN_VY7!)XSPmlQ6BST{b^jx0vle)t+Ntk)k<+~KfBlK?IFR% zH!i=}aCejD_ta(=iMf22CmvQf5giqCB`ELJ-RNchGnLx;A4?_d?{XKK#J+H?`!BmM z7v^sj`}g8;n8xwHw_dOR8?wJ{?p03D<BaU-i|<v%*hw44>?(WR=J747_r?mFWkR)5 zyt6E?ok`fLw&+6dNxi8bPdxQtHLNN0>OFP$VdpLWa}($FSa~KK7GE6fHp%KNo4JGG zB1h#_{y(H{8p<ey_U*{vP|iH!QyKJD^~vw1x4l-z;!+RgZ0$NFD)`?nE{obHAv=qq zk*mN@Vhy{oA>;4Uk_SKO?`$}7`SOKt4fa1K-Dz8WQqy`*Vx)Gu$eOk39g`LZX!Exe zFOR))FgTO1k#%XXr`E&fl&u{eS9S}s7)m@yb9glOmd8nLx5z%zbtww+>W>};D4$~a zWf(4YW`6IAUp70x{kkV4DXhyacCPyEV}G{#Z|?dL)i&9UT?vgVgO}g`@%Fp0x!X|} z){@t^LaiD)w#hqb-LLt))oSuAi35dC9@JS@{#jw=b8oqocjM-bmFJV>7kpN`*cGeU z){uJa+os;G-@NHb+AY1$e=+BMFPL%vjGgK3mW2`FX`2q(y1p-b<9>(T_=3BvtgQCM zKtqofjb%>Dec7yJEH;;?t*Wq}oA+YD#5?PGq!Q91KHuTkzj~7DH<4{=h878CK1mXR zzK1H8F|$`ayU{;UdBruWxjM(YFF8JE(0VR+GG`87*vUf{Y7;}=J-2k={A{?palK-B z=TlE{vE^&Do<?&&tmteo^1S>;=KkHBXm8dV`=yxW_CNdeIz{eCZkcj|mMc@4kzQcg z+k3jPyJD=~{rmm?Zj9iyX}{KX6)k#K$tPv=;?jwZf*(D}0!)^gx69v5Q#{<}dHuBh z^m`pkN{&cJK6&%dE#=q?pVq*FgPf|Gb9~Dz>yJ5>ZeahHeB{I|{h1S7BVNSBykSl0 z?X>M!^YGORzdyZ?ji+if9zCis^`?!uUH|E8eL6f%`mMYC4bL@xsFIVIZqpxgCm_U% zo2}YJ#Ok2dswQRy#<28Nee%y=9M_roL2y&n+N0Lylcb*pX}<k%FuCDYpGQ$r6N_@u zu~k<esvh03u&K#%gIt$e#D_l<R5qkKc%J3wvtpTP7CHZobozvYRaVUn939(Rm<=Bo z7Fo2k1Zw3KY>M=Z3ND%x#v$?2=vCWiKhGnTGC|8;J&G4Q*;Kh%P=@71tN6B-M}a&u zH`U&+d%kzQ_ARN+&$D$u+>c23BOY&WU-@gz$$yQE^JJ|{rfKW#XX3bOIP>4-64mo= z3e0ym7q|Cay}D4sZ~nHlR+no662<XK=B<0L=p3#Ld?ayS(jxs)oLb}5BsHD#m2s_; z8=omCFP*%sj8&K~K5fg5>oYhEoYlOoO-)^07f-tQeoy7+v>N}CO+k<OUVOO0bnNeh zgSL_P{!Iu>OL9o{xOOM9?8z3lSCf*tFMfYu;#@ZWLq6k*X7}SqR^+iNmN|Vc`L-th zbIgyMJN6e&YvQv%60X=Jcsbp-Wy&o{H_=|sNs|t0E@)z(EcCDMkao$3Jl^=JS2QYG z-$ylt?4BjIp*t#0rTpGqcQeQTwv4vV5_hnz+;G)zibmGem0SOUPDy;Tf9JFMui4sj z9>2T!`PHI{%I;?ToP0iB4*iDF^Z4G}RF<#*F)^n2ZRw{Yll!$+&+48dKArF8lACX) znsMKeeSNHZ)uNwMcwMi!xv6aa5~L#&f8c4$B#E0d%XI(oR7i5iFJ-oL6aFfx#Z<Y7 z@3AZUiJa-Bg+|Axx+J!Io4K?&vAD~R@z{l@Pf{58PF>2FYVK-~r#FxNwROvPV*~Ts zTjtM{vi3jp_F>wDhe9?*4sSG^L!#Fw+I~#wm45DEW-Y!(Ug<Lvi_ppyt;WIM8!z*@ z=P%*U5n7bvyXt_WAg6hsk!hj-kH>0?Q3p@VSivCfE)jKl(Zc(yFPgMQSqO>5+o-28 zJz<uyFLQELuA5~Tyv%Pl$Dv!SMVEcc7x9TRGTrX7j<5W>b!Gk6L)+e`>wYMYcyL*8 zvE7`_2_Fxv3NUzmYw7AOJ9lh-b8~a_vxdosf8Q5hasAm>>4#ekmv{u~Y&vH7eAcPH zoaRG+TmP@vnd=fB@qO9kMQz5<`6sMDyhi4``JC-q#*>aW9oReJu6|xOZ`|@o?YQSc z+cmB+&70u&LQA!%-S+*FjgNPI|7dfk%)rY2+TNKv1oEye^b}Ed3|Lomq2R!pc;kr= zvsd1dSQM~#W&h+Yr}d_CypgVRc;BJ7iRZxefG`soRl9ecE&E>{c)7&#vg6h>5m8re z@;iw9l)Ewcr?v5+DJd33eLUqIeRIDV-BC5VdG_DY?~mXASnw-)_O{$7``F)2K09N} zG`5G5etODM1#eCyu9T53W+*;)yX@7Kiybq<C%Cs3-`Vo|?Djiz%<BI9*p*N*zsKJ~ zO>@P}IY)XwyxefGsPen^lV!8>!;EJ7?FoFgcxCZr#npCe*99p%trt#ua8u*p^j1ab zo*z3hBBPUbi!n3on|Dz+-|h0`++)WI4;B>$zE%}ko3v(gab@8@)5;XDxWgNFPMGN! z9B_cWFYaf-ter}yT>e@~OX^*1zLDj)BfkA)@>8SWWgI?ob8Hs}$jy0EFi*Pv{C6*h zwKlR}*J!QqmbSFt7F-}_q4xSg+GD5lZqL^4dUs;M&3VTzSaz(<74bjt^Fy)0t<(pL z1nd&^S(tJrax~BIR=DNxL$c{W*4M_AMSL2KpT9j3e>0)^vvt?(20nY{2{+_ef_S`k zmA!5J)}^(n?(VI)^LsDk=iNEEgKOtKtrL55{6FV!JJ7%=&mX@f<!ASkV_UNC`bn8) zs6=nen>h19<A%pA)oj_fBqhX>P9){Ebsw1TXk!#PRWWVTK_9{I+CR-xCJ8@Wbbxbn zXxikw`R3Mv9uBDt=X_>=H|byceZ^(HWv20OA{zsOmn>5HzDp}~mDbEDDUoVQJnwey ze(^-_&xF;R`FtAAS?zo^DY%z+wm9qDEmNl)(l6;NSae4{(!Rgp0#{<)JJy!dp#rS) z6@|C{^_g;=X~G{DCuwDgyT*wR6QxdML|%4u|5^F+ODMauV)^A;%Vbp6h8im<TF+yi z)iZ;8>XjY)cWSIE6MDGQ=010{$#i!4UGZV-qx3#HNURE5z0B{o!Lh||E-gp<C9OB* zK0hbx$+RM%pKJHTZ@U(Tzgux}v2^Ilpr<D~AG=>DnxMt0-hcWyGh0JL!Nxl^uh$+k z%szI8Q7-LZ_G;FDkMDD=Em$b<>e-DmPIE(hI|R6A^?0SW9-e5pd6|XXV(&=`H5=wh zG6={m=UdO$n65o@TXMp~!!M1bQ?p%E`zATx?Fw45+`^FOz3=iD_qOa&w8&_=xz+l^ zymKZKK8VOHJ1t>qJ9p2_-Wd*QVof|c@0?uDuY8faK7766E!_n&Ehna?7z;h)s1|Np zUZT~0HC;g?Vaq8g+x&uiH4Aq%3dk!wFJqSJ*pXn&!Rxe)ccWPTA8Ud03)QR^*srw@ z3}}?*QD!fFu;Zqs*;fk-cK80{nX>OsuRoT(q3G{dbMLpizNWmrwe_z3kAwrul-v7R zLRVNHnYU)^f&2{ztl!sJ6n*>C+JE_Fsq?bfwOOH&o&VmnYA6=QFG!Bvo7AdRtT|`( z_r8aH7cRbJ?wh6+e@1L;zGOZBQCp9{h5T9_E3G6vmR0Zz9f@dOW~{EY{I}@8b4w0r ztd`u;cS!xt_Z2S>NODenxWW0M!Rsq4UvJna%v0Hx7p-ZU(lPr<+X+?Uh<h(=!lxZ6 zx|nqA$@JO_K1oguk2cOZA!Y2H-E!k+;g0Q_mQLfd5pL|N%aiHu%HeTYq+q(r+2Mv% zo9*Ok16lpKhPMyQm}Bt3;KPo_Upv`9i~Rg~bK&Atwj0xatK}ZPzmd89No?J}yy@|3 z`ulG9hw1!v74FX1@<~lqbs=m1?jy(Cj@N(vDlQ&VSGk?bQe&l)5Bu-(?`M6@?{d7` ze`RIl=4<bSkN3@UXP?U_bofP}^3z6k`H&N-hsy6uOPqLlJ<V+O|7&YzuJLuU&e-VS z_LghYiyIa?99E`I56`4Xt~F9#8?=_oC_HOPvY(EafN5LhVT0snzK7P#=AN)BbHM_~ zyK5#nMMX_dd>fniA?K>W^QQFQV%at!Ny@e^k<+}&ob8qB-A~-fWVZGVyS!$$b3m7h zo$Q9|4-a1w(d7$Wb)?Dn)Gw>e@0d7Ma`@g}N!p_?Uc{Co{3bo`j1ixzW3{K?gFiAX zYHLb^XT)zk$GP^g@iXgFB~{EDm+|j*In-!uy*z1-b%w*$RKcgu7C!%U<74tAhMC76 zI=83(`!oOPCcWv8SMRQCyIWmmR{#2KdD)v=J9p<kR(qa&d;@=WV^@CTKmEN{nb*#5 z&R?{6*P~DGZYl4rIa(CCEyt3ny1?s!kJ-BD?l+SsY*~4E*Qpk+&#R_cs7|`MwQ(K4 zg?;=RWu8Af`BhYxW%SPOoBrMGeKp%%moFzmA1a0>N&b$Po0Bbh<@6S5wrYmv+PA9? z+J#BKN;s3S^S$VSlesb59aBShKAfX?Xw#aG-}7&pa2EbB&pw%{u%YmO@_EavCpF|{ zn-rS9+a^|-YcES{Rj-Q=U{KWISZN^O;p=zV%!G}R=L55sp}w@VzNyiU>l^fK1gZ;c zzL|)IUo>3IVWA-7sy=`D2Akzwj_u7pg`(Ytn|I8VnQ?1J;I<{7pY7a|bvN$UojUd% z=G>{@|Jh3H5aCpM;2F8Uj{D(9;l=K~J6?R!-nBI3%GL0NvfHyuPF$HAzr1X3EIa=@ z`~6;9XK}r)`TBIa)&-}qM{goG7dRKN=~gkkT)9y~^6|7OGo&m8weJ}S1_s{Bb6|4i zm?O10S4g&&L$uoBkzP#K1gX$N?4svhh`g+nWwW^7JW=7c+>h+|zT?GTnl8?0h%&m@ z|F>_?QjZR2ZWpnLsb>z=PAD}_QR@zhzA7_qMdFlMN8cC)?5ucv(J$;+W?IGKRacFl z{P}!-I?D!?n`)0*52y&em3*W9{Mm%{EVdrXk8Y%F(tgP7C+#+o!DUY?pR_T<o8qf} z?gEFT=VUZpoByFw>Cl4LeFv084>Eby?0I=3-cKUlnB&j!vrj%8WDepjYHI%`du7*c z-o5!#^`?J4z#FEsyDV@0*Jrcy-$m`OJA8C)RBX+PMfWVe?ODs3(Rf_0zUt<wtJzjz z>w{eNcK`8O$zGCqaZ%-_l$%_svFS&Sp6=6)mX&2Y%vUb&qYxs<yMOWJ^wZ*V1-~=2 z9w_YJq;{tF$a!{_5IgxugSk^z8cLTMrwCQq2UWLr%<uA_S{O00vfz_g_647S8HUcX zKCWwo9!pv$|36gy>0g=rvTuH&W*_QL-SF?NZ92ig8d*>;?IBm1ef3B}wisK9!p4iA zlz-UWtQ3iVIK}bJ_B#%RI)2V3PJSK=0xU~5iB3!Q-e@nHd_GlEfq{`x&_=d?&8;Ud z4mfT|p0jCs(ZnAMSI8Vc+uq5t)9p+}1p9M&$&f93p9mdz%ztwG{W|W}<FZ1c(!B?i zov*El<ey<@lsTpF)=AMy*6@fGf9j?Fewf(Y`}*qY%}<}4Jgl{3fByNpx6^ZOuUq?N z*T(5qdp3(NJJmd?=NN1E(GaKSUG<ZWda9{Bt6$B$+@{ld=IOQUlW!bsJ-KT;A8X*D z+4u5y%v2~m^+tN4;{5Z{69pBO!|fB^r2P_q?KZ{hY>=hh-kk-(8NHoJdOHl64R1~E zj$Bx`EmokusEN5&Zk}&agxU$QKZ=Zp?UMvU&9XxHw;DMFt?(6|)pg|ggKFc=%O1@# zH_G1@xxu&P|Fe>f3@QKDoGyO&x$WUj<4>wp2c(Y)U$9X8q#!eWzPgOL$Y!Q{d*-~% z-NbHW&-t+MN*1F@eSfC3M^e(HGqX&6zn<G2Q?}FO_??G4e*E~*D9?XuW7^qSZK6M) zZG8Uk{5FUE|JLhS3r@daDD>u~c6A){l9i2XqBc8)t&3Q-cF9hMrQ33EEoli`e0af~ z7neWmu(F@_`bOI-N%Q4(i84$1n3A-$-Z|R$oNn2rC}`L<=|Z8=zUSp;KC9VSOOJ3) zF4j_-#F=*0t-P_``1l&0B|7%@(b=c(EH_&dyFAtL@~WzDr6wu{R^CoGOBSiDEcAaQ z!{YSm%$vO%+6(+2R{uy03imYpX|Z$Cl!k**1yA<f2wuS^$>kI?Rm!xnE+}c%-aD2> zEF6i9r`syDx6LzJkWdudV;lH%)kgE+xLeaZxsS$f2|erZ<d)g;>TNG&w2nPj-L>HF zyBo82mAqBb-}i;-%|5rXw>Oy9c5}>qy0_}6)Rp^(C%gB{U3}BU^=?aMck!{p&xhaG z?^y48xQ+Lkx>{o{-y+GQU+m@0!)6_fyu-3oCRHZu?6He#;g6&iJ6&7oE3d2^%lAlu z<=lx$Hx2UH!dvFEDHqQUt~w(kw>aBRQ8;aOO2e!UQ6>f(H6_RREkPe%tWg#2OVd}q zZJ|}DCBBct-f*+3%#qoRkAAM2<K~;VJU=+U=-SSyiFqefY|^dXmFW2NT~1zddsl9> zZGC-x&$A;x)0wRf&sB)4U_9TuW~YqHYpaL`7t1?KepdJ&`e&nYKe+n9%Of9mX6kos z-%xihGeu?J#2d$^iPc+tNVu}=hTbu&?~>d0N%~j)x#4-|#L1#R9}H(&KTo&pDr^$p znx*cmpTYR7rtSZX!sK$D_-%_`+E@SHK7Ze$$b{?bV&!Uo+wIDGzD`#5wfP$DxmIzj zT2}A;T-WyQ2Uly|WyP#bm515x#`mx_2{K-sW%ff+XYx$J!xG22jifu5c-g6HOINc9 zb4_x7eSLlB&r1&rru@rT|0u%yL#d3YM<4gM#dSNn=C?@9ElgW-Bc4fchp^rAy|@1? z;$CX#mAS^Ty|p#@(+$N1N$jGU#k)h#`DK;FF<Y3G+&QyiYrXVy*DaGgS=_Uy6*dQ@ zdzGAH;VRjdH{sE{P#%jLZx6LEn*2j)lYpQgr;t>;@l4CdH)OA7z78?w%St-6<fiGI zU9Wnd&s6kNxu3bA$-y<d#KypDrh|C(*L{xjYTsFY$vi(%^?{hlnsD!~27|ntJ36a# zF5TFuJUiy%-sqk3H-ARIYcD=k_?h|r?d{u3FRS_1d-{5Zq>Hhyc-5`HuVM2JhjqIj zRxSS1tPwu*-Yp{sN5RJeFVFmVU}7L!-|6a-Bo)~a;{Uk!pp@|MwVa`b0jh~je{aP+ zv0+<$G|B9b_2rU~8}jQf?=o;n-oc@{AgE<_!yEtjJ4ep+-86g1C7se-Fo{{y`SQI3 z|1ymY4umokb>_z0k=c9l%(Uk_^3E2eT(Vp7e#@n!{u#R5TyB{eoZ3ftJru=6)gJIQ z&ek<H4mXnA$n;BHvdwRnX{py*F{VdOKVu&n_`li`yn=Op=Y?uLBMv!b85Qwq;w8dK zx!vbxGwJSflq@>q*|Fsa<39UJCC1u&#g1{-D!S2Ir+q$eE$?T0vHHmg!Q0DyXBWQB zk6iQ3@)}e9cGhkA_XU64e6dklIQUU?==wn3WJT!}$&WTn5IsFD(_pXgEuq_nIxf#e zHq`mr@jjPdpzJ(%(qXmdd)L}toa4n|(kH3>()`Kk7hAMh7#2*II)3EizJhx$Y$q>$ zyLQb`x$aT(FZ1u}*LLqzuY6D=QF6KQ_z}0p9Z~FExic%)C%B51zrWG``^MDjYj+*w zRj#Z`W6r*~VsUZ)mCR_ZPlpPR&uHv@@51?+Vdv)r9+O4M+S%96*eXaF*oa;d@jOyD zdEsa29sXht|4cmR){F8;ePqfxFinpyGijM$MZB!drc$foL!VvV6-`)ZywT{gJn#ID z<H?%+Z};BGw@81u>vi?1;`27#P7jK1ZY}RN$-5cyN6;hZ_C8r9<B96~|769)3S87O zv8nrZ%l^5Hx&58KxwrMR3ll$EuFNdV*z3W(Q`vK0)91WvTV|H*epJ-kB>7cxZoyN{ zRhQLbj`B>usXlkQeAV=uw-y?RFO<|N^HT^m6ubKCXp3~p&L`Esg<c)wU73{?(Nc2d zP42QylCF^)(ieA5e&Wa*w^*@nHuLkKru~!G9L$+NQFr;f06PPQ$aRwTSyS#vT-|k; z!Q}I?`YN9@JoZH|Eb@9%Zf>esXtE}l|6*F~lzj}{%&R^fJiGjY#choZFS<33c6~pY zzJA-GP?>D6BJNJbHPVh|qVsiSzi#!pvN`l0!~C1_Yo#3%W{WcwJ?9l`Nn~%EdcJDT z<))_ZOJuh`dh77FQ^4jy!EYapy}FTmV$5<Q*6aM>)^mB*tMK&m$H(bDb1YtN+g}~L z?R~!PhyR-o9P6FE$WGFxrZ~*+Su5{(Yk$3cD`elzb%@-Ou<p&Rea<r<|NbWD&|fy^ zF~|9w^=WI?_n%`Z5VZ9BkyLbG!OTlX=WI<-%bh8g^G<n+w(6d<+ccF@mmQsYaHC*v zl7Pb!ztWQrJ<ggqq#X_^aIqG7XSiw2Wur?aYzN=XtycUf`8?%T`l<FW2dwrt7_a-7 zzo>K8o`N6j?DGYBmt4MbKt9sgJ>AIj;C-W@$$~in#&cbazhpcv-ViQ*!9-@~OrB}| zDXq@aSNsa&5L$ic=Nb7B^X8j20shndo6jHI7LipV;Jd^(;t&t(o3jfJ^%$DnG`lKi zU7Dx={a)>Uo#>4|e6p4b)8nqioiD%I_4UV@gC~{UYj3Ubp6>1I`$?v9&g8z?*V8^v z^9|pcb+szW%WKZ61s5x8K7YL~;d3dfDy~|0PS&E#mrB7C`FyUHd6{T0J8Zb<@A55i zG7=daDk<HY^VWK$?O55hk-__9T}rgr%*RpN7pkpW>G*lsqc3ZXbn=|MdZxs-yG3-^ z_8qO*E97F5Y_4MIwy!6^d*W9%*5rNLj4s@4dg^C?xjH&uLH2oP@{&i-6g73_1n$al zJd3}yar2cmp}gm23E1ZGSp@m75-423F~{J3^Wi{=fDiY%npbA<x_?s)I8c6Vx8#M4 z+PK%ZTkct~UGZUml>5Hhr%_koN+-XAfk;Eubgr!ipO?wL*z<9Z$d+b<hDB@3-rZ=7 zdq4Mr&pN(?|GT${<~>>>uU_-*<_ht16Mvto>nT3NBz-NvL-NDF16zNWz0JGuaMHP; z{c*ve!ZF+Hw#wKQ#V~(O*&?NSME%pbaFesO5~U`_;<GrLujS7@*&wsk+x^JCoNEo0 z?>|Ji{PGCmZP?6e%3aMm^-|NrA3WC4@0|rQN>vO5jIYi0e8$DZ*;_4Y{B)Xbv=_&* zGC8Xnj)1x;SuOcd`wt52tN5Pvp?+D}neWf^EAAJGsB`A3oc-ASds5m%m07Iq63;BZ zaj%HbdbRActcAdl#V$z;GzFQRBuY=6F37v%zp^-Rx1a75MvXmAa=wj9{i-+OEi78k zl&XnYvGV+$mo?3Lsnt8vIXYr8QtwpsH|XD+y|ig{^|uN8`t9^ihy7EUy=~30dr!DS zcl|XgJmfP)zx#4K-|r<ir-sK(tn1S~UcCC)Uwi#?zrMcC%cu-oE!i0maoXd2!;HF3 zKJ!dGUmq}clAGE+-}Y=w&#b~t?|jskvFM&+ZmL;WT9`7c@kP4YoU>t?PNz~#FBNW- zZR9)GSbSrbL;CUk#$IV=r==ZbOB)OOo=g#5^;~&+3y&AmqOv!wQX;Y{?w>Uyc_yk? zO8iq;^)W5=%WJ=%hJo7!`yV?0Ua_!AWcoBtwWnoQwtY6x{vEY4Mpvxov&5CX7Y{i$ zapno}sVrnRPjXpN`1sBbyOMV;D`&7898&G<<(naCb(+P^=o-)3^eH}18s7U^Z}Jmo zdND_+L(lNoUb$n9-HYVa4L?uQ)v#tre0yW3sLv0zORIdX=d_ErXx078cyOTqzU}oq zqu-TU+gQWa#e}}T&1t{Jrtne9U2pxpAyV_N^EB3Xy}7&J+i#A=GWot3iB&4Ee#EmK zRVjIN`pWi|hJGboey4Y~d;Cf{tvT0X&UQ(ekQGbJ_RaflYI^MQ!M0~#47hf@V9~o) z5qkW#{CC|br;YA{X3HO^^_$!dIsBkR+B{RI^z~Ku-<P9m<)^I;(~V#GX_=4Nlov}C z*|sy3cL;{c8{Rpb`7`KcD9cY5*`510%J$scerl!F5##tP3+@IkX*m&WSY;`4knOq5 zggxF9mz`=jrmXz1qVWRjA`^#8l9I2N-uV7!;@sl+$LUF8eoVT?x$pLiv?;MS%#n8! zd3j@h=cFQjrSs3a-o-9`uiSrX)zs6ex386Qh&fFSu;KK(ef+ff)5(s^=U(6ZtmPK; z{LbS!XLsDy-dcG1*K7S93x4i-GG+1!55@DG6DO>ktgd)DTkoxP>6KeS4UZ*wV~)sq z1UoN0{E&(NdR?B&7ORtOf{HVq^(@%9V#k6ROJD6jzv|$HogdpyoM?E_Ddac7lKEel zrTv`?DvKvbxE-3&KIz5_7R%eW&&<^gz9Fk8XRdGBsGO{%P{wdWI&!<*g(Iha$yNP+ zxOcN5$I}D<lus}`N_ltZ=A@|;xu^ZC^m@f{{DZ)?cbhM|pA%vbo$^Dj=Z2)h49jgh zA`66FAJo2BF*USr_B?alR=HCW3lH1v?D*Gdl_9Ts^?^W2!1EY&5yRU7DUB0%zl;nO z+jHpI)D415ow7d6nDld7-p$s!>+vdDMq#rSO+Cv!``D{g?|4bOk{hp|-<g|cAJDqx zKv$^tYoFPswXPRePWrW1;LUbs!Q7LdR0Tw$l&j0$huE^7n|&^{)cLSfIcL1ppXR@( zJ@~fl75dJVeNd-!W126=9Ls#GrnhT)bWR?Oo5(Af?4?t@Khf6OR5kYY@)u`<7J7LI zYFyiP`D0C&UuL)V5&sJPAl*stYvtZ8?Q^)pCv#(YftlzjzIWCQ3=dkY3g#`lw$-yO zIpN@Mk^Pq)n4WBPNV#%qx#7zl(^xqt8W*Pp9hx86|18+T+nT#0t<G*i!742!hm!}= z8!iZ)V`mEW>DwS%5FyB}xv_?Q6VDuzui75(TsbG`7FbBKsdZg3yx^#C=%KsH$(ehb zLtTw)I#2p;&zpW~vcHY8_jKJ!N4=jlUW^Y962A2G`1*RLs27v1K0N+DTS?kpy(8oQ zt7DeWWzFrsY|D*a=Tci8S@WlG?OYlAI;XTVGt{=<D_ec1^!nUg9V>-IgqluF?Gxel z+?;pnZQ?_tQ;R)3#ZJV`QCz)M<&Mf5!Sk-mVwl|X^1{9u&eEA--ngy%Wr^VikI4H< z!IMw9?6@fzJK6VT_j6I>?o^M4`Q8t<yxb65X@70{V#9Zvqn>hfcJT$DEf9*8DbLtv z{Z;ed?3`aLJuADN8;r`&>G-I=Vp82%7Q}T!Q>ONY)gG3MI<MVq^zTi$W3z`bT${7E z_Ibmm7d5qv@jnksYEN0WVdqSXXK8n?q+YiRvMo2(aLq20+1h^g0Q&`LMUymvG=omX z8>vYb4lO)<d~5AehJ$W0o2G5r<n*$NwI#~nRl&(atogjMCNK7K?Yw+@vR%5)hO)D> z*rd0uiEg@g|J7XUl8JtE^`<^n?>iNxv1p^Y74x~`(`~t{9P_3~_|A=p_J27)#C`Uq z1tm@ytf9KBB`Y5MOFJztt81LaWiGf;NpMP|$$pU|Z490Y0y_I0G$dZNICDAwRA5Z> zoo$-BpvmR*m+D5LeMts0*ZaOU+f?|tisy32ah44lmSrzAs!ndVPSWO+zH@TBui|No z+(|y7z9A1)xz-z;Xz&nGUHnmojqz2;$u4(>L-Ri?Y&x_uMdqh8=cHNU=M4E<Hsur~ zuV{MqzMF4mkUodm)6A7U@y9QuPHJ^==-hi|!NjYdcb-w)V$1iN^}I5RswG$Q#k#aI zW{IB#U&OcX3wXExJ!9mil6`A#?{JFRmba+$z<J|3#+dhWjlO+8|0<^R>eS~c%ii9L z`Ok6uEdTD><J->lp3mQ+DEarul~+$~-kh}en{qAp!t>h8y<Fb~PMu>9ao*Ivt$3qq z&zr0Rwkm0&50-s?%pmMCyQS#H(FK2}pYsS<CB4!~YL5KtXEpMA#|}ANyVxzV?)>@m z^{O116}b`*<en|NcjDJcr|0^$m5&c|8*O^R8{BbSz4^hh*)64cPT4IFf9$)%aED{+ z5~F|1zrNd&a?<0VPn^r)(+5g&dm|6<p3nB#r5Vz^h`~MZC(q&!E1tg-a;jKVp=;g} zb0@`$IXwF2i;hkKmW=n6d}?zG!ymnWc_;G!vufd2>2v2xOT9g46(JF2Cy|kHyZe;z zB%frn?J_5%=2=wv@V&Fw>K4<RGI_^LX910vdryNb_dC|QT=I^u`@FW?ZLV?Lfw~D? zsg07x>0cu^q`X_#v7uwuTD?~se;dV$M1EbHyzjqX_GZr)VK=u|?`K=c_SL9HSXbE6 z_DabEl|!En=G;DTXNr{B-`jJf7ewkAC0z}2_<3eRRIur0)!>*$8(EW-w4&GZ7%nO= zs(H50Xwz9AvsEE0b!@9*bPLt}m2Tf#y=St?iQc?h8#vF|1>fG!^DFg9*w!m<bNHXX z?r)fR{P_d^X_q)|3adS@6XrW=_AS|1@L`-l+e5{;xHT)=4+T!z(S81`n6B%~3zvJJ zG;?xFzS4ByndIQ3`f0{W4aO5YZ=CKh+0-_-+saPRP5GKrZIK%PvONn_64~dKi{9TA zTetE~-RsyF)8o0GBrDn#Phr!GuQ#5n^Q)zBe*YTww}oEY=3efv?|J+z^v>4m@YTP* zzRvaa^J7q%s%u^LcGAVg?p~|Aqn%`)7{#tw#q9IKEl~fm-PC5oxes@&T;<Z{si71g z)w@+C*Rvrx+)T~YH{$l9XL>WIN69Y=vxu_1aQy5pGvlJGH&YD`l=1B8Th!8X>hOe6 zc0=Yeg)+UkYqeb$CQs!{pV?ddfcJRBoQWHSJilx+K5o-n|IoALun@!jxfWvT+~Q}Z znP!J4Ir*ix-g^1x=JT_>O1h@rp89tfUKD(OIOFA+QZ~Ig=GhPKD4e*HVxJ*lRK}+J zj(3@g`844N4}Qj`|9TX&gRy1NxnsQ^vfG$vuKux~`K@r->4tN^98;L<e&|R(V9U9) z(=~LWlu5oOV}s!Jwb8#n?0&!J^Ha-O_FMen?{o|*KV1<odvo*C+V=kG;ZJ8+bxq5? zwMlUDyRa<T*?bwtx6PfEx!W(=+eIrj>w@a_O5^G)zq=1RF?<v%?RE=0b701AHc_dc zN3AVoT-Iky*!7|(a@V5ArmI@qrq8K%v%9t7#?gcOa_=Pv3e<Bp$64IoXI1iIO>V^P z0(n;#cP*x}g7=PB?i=^MTJ%oNCfK;thcoL(y;Z#2<oDvOJhl=?%uX#W(ti*q;Z$3g zazo|##&&CNPR}$pA?7b()ry@DbkAN7-gs%TP>Q?dLGJG*T3!rKwtOgUxjI=mxYtEH zzG1z<0#3#o$|t6zU+|wNI9XNp=$UPiDes=}ELEPMXudpkHTP4ylv~IBWG3-ShkIV; zme&0B;phuZh3{2M_+<ZiKK>?qD|PB_*01VwCLHwqm)QU7tJFJ-q9+-XwL-JCiZ{jm zt$M-yrge7V>@$w*4VM=gE`HXmD_GKVu;5B)vU16#Fs*2j70P~*!8IGjd{|8n-7d-M z(I}16%}=q4zEjZC#m%_#bK6rB*=whgwcQ_DHq8C7M}cLX`=iN?eGC1L9%!7Y$!P3% zR?)|0r(=!3@7WN^z;Ai!PZKV5EY><w9LigEe4_EM=O+4Y55G!XnRsq`+0kPHn%v^& zoWtfW{<>+0uqTIu0VB@@k-7Tm?}bi1wp@HmMbS}>dx3<Jxg?vJ%1y)FX=@xrnr1s| zF)@_Ck$e5{%%7XT4$hvkHd!Xzi#IVi-Z(i_((&^@(_D4NODp1XJDn^Q#HwDKW|^}% zO;p#+{MglSWnFOorELAZRiEv1X5Q-mZ61+us9)IL)6eQ-j?dGKHUG7Q1m$>_?+x2} z{N=Yt{%R-At+hULMQfK6+b^$uB^G)+-Zvk35;jrgPB7yQ^BpIP9Qb98Dix~Y4;W7T zxt6)VKv`qaF-E&pvW=2gcZ5gWzuG67GS|*S!sE`P5C^MVx&AvMYCJMdm-a+*?-j5A z_fwrAyP)er+l`H>{W1-23OH~1nXb6z|KN?_a!aEVPimPqm_N98ScZ-5>#fYkJ}xSp zJvHJ=Z9E=R-uBL_(qJ>xObqpINqId%qQzGD`P?~^*8Gkyh*%=GdWD9(pLOJXf1!DW zKVEPjuk{a{VUqGxW%bKHxkA@1a$01q-Z&loDDkCa*BhbAHy70fUdSJjvkktrC0oh! zg2VrZtLH!5qOHpNzvM#Yi7n?Xzx~+1oAqCy<o4_qX7=x<YlF6a+V^9}<EUgShSses zgO_{!?vs7GYW2FJs%0zhd!MwolGB>7&~0)X<F|r+THW2!jW^X7>Tk0C{NTdP|7+fq z=$Kr~-)pepu#bkZ;Ff!5Dl}gQ_Gn#Zkgik^`sUz!Q`|h?cZ2>(4&K(yUoOXGG@j8= zVPuRJeSE_;r7&CZuB>*}tGHKNOedT2D_?24Sfg-e4vVs>rDkkc=C%p?bFIrS&oXW9 z&AOUg$egr`pVRmR+ZNd#C#@+ltjtpcWIK&})|ql$6Rc+IO<-8mWN6T~f4}6Ugi~w{ z9}~s%qN3i1iCLG<5ZtIdVZmgxp#EnymFr60R2T5_$#qR;X74|}F4p>k+43c#RRP(d z>(zdLfAjM1tJ8m{y}P-${f)!#4Prlnbv_&ozh5(L%A`*@r@L=^pOxxe@J>`!{V}7p zyxju6>5DbLzqzxt_Jo?ST8OWsXfRjNZp{vtjc%u_51uG|bgwYV_2mRE$4x=sOuoro zo1vL=Xm?|^VD{FMypl(i4tqJ2H-}DE)v@}gpdmU*;`E!@-$PA|-lqA^TB&sFmv46A zeT9<_4+;|ACp!E-F7oxU<&K%#4DZZ5Gy4R?>l=ZFfkNCW4R>VI4urToc`PzVBeB#f zir47Gmt)yeSpC1cwyXNzEn$=3VYtD4?pt_KrB-IN=B+442EJqBov9Zcm{-i2#?0== zF?W9d^Aom>hrM@9e`;k~AoSd-{H?;@xEjgxzQ;4pDPLL=$$Yio|G)0}0a;(X<UZb< z!1iBd`P$#l<`=PtG&I+JyV;SpabqC+O|5BNX3e$L-%f77U!(l?*4D|{>t6L;oIA(& z^sJ4A$NmI4v2KcW+rMUi0N2!tO-{E$qz^Az-X+DEeJg(DOmm4vAr6NgeOGPaiRdZb z&V19avHtSRWfKEW{k*f|=jui3o77sk7foQjES~=8*jd$-r!hKnS8_|t3@+w~-r0EY zrds&hl6xf<X?2c$GKZF|D_OBTH)_9MYGnSdjpj<F^`Qo<+A?gV4{2zgyy5ae?G(rH z^k7!g4Ng;^@@=!6$Z~Iu+>H%2H+J_%?H9@`NG@(pdd>Ef_ojLnQ*=f*$JPsldlJ4x zhpiJ*R^;%i2-fy|yQZOe{=$aIM*}|lwVaB&v{85xi`W|Rg#Bry+1|Q2vre}2mH(>y zbEDUK`+EcHuG$FhKaFBPQZ7t5`Pw}1&Fu|!%q0^YcrU1XY|FW?u=@JC3)NF*zW#Mp zI&|TL-%Tt11g91sozmkq>-CDA|88dcD2Z23v8--5*CDB0-*@!yfzH^JHesi0pCp-* zzcp=cZl1-{@^t6=l*QId7=H6Lr;64edLOCxSnk4)KhHRfUY)v@JNv6?>8oqUi@6Uf z*)KYk+;T!Tl=FD1aisw#i|mH^`rjuqw0<xS{m653!?hQVQw~qwa@h5DkYNtT9+9TT zJIyPK-!U{tbw95=oSbm|a)T1fcbn5~ExWez2=snpxHr8_A?P`ucah(zEi*OmvmFZi z@uw^4!RtrY&OV)2{a*cGMA{#lz#7BTPgJ}bl-cUJgW@B9ZFnee{^rKUzxGUW_SHN8 zD=#d%&S1RkzsQFZ%C+UHYO2Z`SGR6kQgDam>JtC?)}UQ(M*08rcQyP>SmNoQ_2mDV z_a#gcc`ApzaxN+;+g_KHIX`RTDX}EM&s+CsM#er$(L0o6cc4-0;WE93<dkb?lZ`+1 zE!e?WcaC}U<e8O*X1x3^_ZK!?<uF%Q(9(C%wG!^L&{gF$w^7VsZvOc2TdA~fG4s>F zE)%O=oA{=#58JEtOTIcI#5(oVcMGu#Om|)ssz2h%o@`wI)AGQg^u(?=VRG}Fv~}27 zf~05qMDBN(%j_3wv2B82s>Y$VNv%~j)q75|g_hZ!oB7pJcK`8tr8z8;4aYp(6m`zC zKQwS^*6WE|?pB&|YwASC7SGdSXH^)aA5EOhvEjqaWF=+(FMFQ$@tuv{VzE4Oas2}S zP3^zzbuPSL8ZMTS_Pk^_kIi&9Ug>PLok?GlZtkd5PKam}iZW`tcUEf0w2%8r=gdo6 zpk<xa;yk6I?f2Z;<MTL@wpz37*LE(D=HTO=E9B~SCMQ?^&SA+_tqY<aJn1{&IeEva z<c;rq)7`f8A6$R#3Y*P38^JyGu>uzQ`(7li4Bfm<Cwd>t-zUc>)*jEQ%>DOfr&o(E zo6Eatm+nZi>z!vQS9upHuR7QDsGF9~S%*1y=3e;Farw7c{QTxkF{&?gGJf*2#C!^P zF=3_a!eW^Z@)LIlI|ylf3hA=d<b4vawKtSW>7cC|Lx*&7DVuyvzwq(Lq35p55$D`9 z<21wVz{d*(s=2=2a(?(nzT!!otkhPy<iO}HIZBosLTP@H3`}=cZkf2a-Sow!rNy`G z3mgA0mNnP^F-0@@uzdZWlV=m`R((#ZPi<!V8X){mN!mR3Skuh~6N?pR+*qS|QE_#b zWS+^jd6r>)JVj1vZgy8^zBpRBGh)daYr{`EO~uc-R5iUz4;C61Ij(L|sPo@(Lcn3d zS>r0#kW(vD9aXk%Xyr2JaFwV~PH&iSP<pw8X|v$e#aquLUfx-<HQut2*XDw?B(swD z>1(=6E>`v~(LR=QDX{MA)ryqID`%Oit1f+Mlh1Wr<K&!~*4Y<QE*)mOv#H|pN)sK) z#h#kKcADI33r?3^(_?DMf905E)%q!mjMX+Q5Rwk$zV<UXc*DvAjm8ltnVqNGFrK?- zD%{z#C^+;$+0`VarEX_eUE1ZE+<NzMVckph$4B&Sj8><=kG9(K{zBq!`;W`E&i~oJ z`9L)@o8HND=U)4~{lh(b`+=%6lOm1PPPgga?wO+D5#`P=Z|WDFeXA{D<>ZfduKBAw zo34#dOUcv7Iyz_B(Vm&-&T}kbNepvrOnLNAm9zV6yw;S9oyAPz%o$dNY)7;<E$X}Y zB`vtzaprZ4{#&K58#=B9CS9!Cn(!}XORcKM*IA}p_U)-T$#sq)pzO#0DuW5nW7o`; zjk}S3W`n}iFty7v^E(~cjkD(Zv6bksSM$C1ytmjz>ZI|~V^wnBIMW_XF@L((f00bC z5T|cjg-^zrmf&a4m&sMSx%CPCI<fTO&)56hj|h3pd->pDi0c%ots?GDA2c)D8vd@^ zZ86Q#ec${Kx)u6Yr^r|rpHeDd+B3=iZ;rv-vS;$!g|x0s{I@Y+XZ6gyJs;b?Y)p1D z@9gcgsrvN9us7uUn|s>b;%6qm3y)E}tM`7{nL_6!Mz<ccv~#vkR&k5yR1vZ=^Qzx; zegfZYQ%x(aYdtHJeJbYg@0%tdwmH)6o0UXdp}8NkcEb%Oi3Jt5;->jea_;=l%y_*h z!v6N9Q(Kmv%J>rWu;as=)zRl3&n`E-xlKD}!QQ1m^f@=Jm%f%O=wmwRY4)?#oA-a8 z$9~Xb?V6j8sT1DMkW6Q^Qh&Af(~2K^{zx<P9(wxb|1zHf!Dk)pjeEqJ9F!$An)YA2 z%h=8Qs^4+%nbVUcIezVt{c5VUd86C;?>q;2CHUIx7CO!4em9|p=VH6*7o$$+{m(BR z5$QaBeU<NRN0*Zm*h;g!&)y1Musu$~DErruT<-M$cNQnz&HI*fdNQk>v~`tZTwvJq zEK>oMu(fTW5lWlW&QA%=nE$EmvQ?!~;J5d8^MB3%dMv3ew_}!-+oZ|+EGBw4mtLNA za?O+&0b_~7Q*L^^xZ>z6^P*XAVu8geg_QF=4UvA{$D-7yw;VCpYp%4S;aHKxt3xOD zRL0z^elq{akz*?^^Eof`3Hk70;$flA>b~cj^1fEJeyUuj_vzWK*?o5yo~Z3q5IVs# zuaWV)#<xyk%U~8kN7IErS+-0qw0~mjwJDR)C2WVf#&7BQ_pdD78t+zVaK_goCi(Bo zSpCpd*Msu7L$4(n)~E>2wRys|ldFKoCuVQyBHkxQ3*N7Z-agHyr}Ea(6L-GL-fBFV z#=Et(^w#%c&ziG8G9Fa>{yXXS`;1-uym!m?zl=#cJ4>|YKQsS3FJG_qa<a@b12)Xo z&$#EaZvR5_TMpL}QtrpZK8SgtXOi|K!A-D-J3629?f<s)#aa`%*chVN_Z*S_C-ToN zV(vsU<$^<rHffy7!QYY|S*&R^^j>~hIcDwGWIl<+voqi1*qHBUFtAbzPur2n6`rpA z*?fa>qV{E#vSW?K8yv4@UEMl;a-<Qbitg>0hJWwOGFr3Oo37)$U(5M?#+p?H>ix%G zrhoi)P{h<CF88{F!ogj_4|UR*-yBw{>EoL3XS4Y8v&xIS#h0}nrK=jUEf4B6HL^$+ zis)%zPAIie=RJ4hOTnau!#%UVI&FH+8`(PBpXc1xvR<uQ_4l}h>km1!c(Z0czc5i) zs5z?s_`C4$d)};?XaC>#^s#-ptXmk46;=J)RP#|^b!wNDTT_FWY#8_6Q;J5_-*_VT zrYUEgXl*$DST(S{a0Y)yi=&0?g)Q|(xk8?gOYD^bwGy1%k1&XTH(?H26ddz9g#UDt z0_Vm@FJ5rS9*u6OUMdvl?4F(Q!9n1N(o|pH=SSBByDm6k<{oz1$A+u)5#L+ul`Jp& z?f)$J?x|vwc5Qxn{_Uj)4bEr(p0+mq8^d$v4eQ=s+jVo7D4#{lcFvk<87qv84yR>y zFWG2QGIs*c>FGkI55!v&rWCaQe2}wL_0e%f?>YVsvmKVW*%ya}vGH-W@EzxMcW`v+ zo!|exR_N9DKX<g84)5hUpE&8j<IF{k^KUX1|F8Y-8FR_=%l!3|UuZq_s0rBhBh~bt zv3>rF4gIgbzABA%VvQ-Qf1&yRv2ot@S+>>R&d6C;l?2~8Fyr#X2G?m?(G1glXBxS# z+xIJL=celN(p6r!3Kl3EvvPX}oD5sWw$5llLBXC#&5!PHKYJCp<+LgUwzde#&OWXo z7f_*+cT7X4YOe6QMg}#ejnij2yLoUp`nKzYoqM3F*jK7~@5I3sGbMkzr2H0eF1Y!0 z-J3<{4yPVHE!et(i>-2UT5n;oyHc0m^slS8o#<M+dTLED(~7^1zvU**x|;pShSl7^ zwDt7V2W|hCe_2#kTjXZ3xbVQ&Jv%>NVD?LY!>KWMlMc(9VvfIu`3`#AyvWwg+ZnWR z$HUMN#z^xyduG0AR%qBCUMQZT@a83tfilb8pGWuH6gHgmgyDq7ONBKuEpxI@YVtTZ z+|P2hD2{7C>;3H9EaTEo_C=d+lwQAUll<Yq!@d6|%RZb}EhqKugL6OsKmWMsiSe5& zPfvR=|C!(I2QR~~8LF-7y0Y?~%OAl7@2oe(_Ra5M?+R-uEejAbc-Z|l;VsKW{m(07 z4Hdto3v;El$qKPW$lTPH6;Vv-nm*x&r<#><G~2O<1sh6VUBAXKjn7W3+2V!3P2;l( z79z(NeCU!~p7~8s=;8^>kB2{6oLS7iL$mV1#4~d&nZFCot=_0LG1q0;+0Wfgi?38N zl{DFO6`xDH&_7W$mFZy449<>MJ_-!xFBpvD7Bo7rpSYZ8JMZ|#`3E;Yym$PFl5~@C z<qmPpr(T>Ha?L5$-}-|&dk=X(`L&^C`m|Y#=5O!dP<1cgv^I2i-kB9aT7l0F-?J&V z`Wu$3H|gKs_=!1t%055iRoK${@Uz&-Nk6qCSDleFdn5dM%iP)Lt=?@eTbR9mw^{L- z8y9<>o0tRDtTa1UtbEtzar)8G;wRIh^Cnuq+jV%0^NOUImlGP_w={X|x-h%RG`F?= z<TAc%&xOA|TO$AJS60|co*ezqSTDwpO@Zc%OD+c;^O$$sK-o_6VphLtl=cVjFU7%D zQ<T(8Zpm2rw<>LkZj?Rs{ffmQ#bp-*Kczi>=JfX=Lyi!yv?+_@+F3>(+ZmeTw$_*~ zVHQ8}afk4XS=YQ@HBLQMxVZH7^^mJ7d<uyR5}t8L^Om>rNKScRy)>v(Z$oa2m|>EE z(m|1`M%ko5{p2)9kw)jJ9=*buEJ{WFJp9-G{m=?b6zY|d<kZ=fsdyvcM$Fe+whRAF zX_VaE{*;45H@fWY^pq>itFNwD=;%?CH0zI1@v)Z9_@4STO4d{ESHIhwe*W|AO||al zEkBFx`BfdiJL96ze^KpgHX9QUKeOBaeXHotpV`;fuC~g(c7^w!qn-FMx3G!3Or@G9 z2eRm$HkvZwnpXOg69<*0Zb)^;9eUIzndg=2aOy+8Rc;qg;H_}u<O6$L?kG+0z07DB zoYt+pFt_ic@39?s9auJq7$$Xge%~QvC#xj=d*?}x^9TPq+-1I({UwbjBl)7gU!K=* zzPXIX&reKJ?SA;iXi3~$sZ|Hu+Ddu0NG(#h6XbAF=&Diq3U5B86WPZ;rwjOBb+zj_ zHPPVs-nL1rT?8xd2Zgi+ozJ<u=!xe4b5a(I8I;O&7_-=W`GO8Leu!(WIG^L;Il1Rp zqNAliSkOncd&hswk-X63;mUB1XYO6)H<!;b&+<5Cy*tJtd3R*D+NT?j`%hhb-2U{& zN#;vSDw+3O3!bJQ<t-O*?7~8M^F8~nZ~gzn=l0(J=g!PqeWLt{e8s!Hc`v3m-n{Vq zd+n0<`<^`c;nBA*W>0~k*lW$5?{2*=Z9F&6lzXO<n2nITRgRVPp@(}CE18AmlBal` z=<c%b$?J7ijmb$Xo}6-wp}}vqIos{c5<j!fPOo}!#o~DH*~j9Gj=gJs%>JNT(m>Yo zc%9IuXTIlqTXSVnBSTV+`!2Jd&XfvfH+NekoOfxBVD!PK5_!MQN^j3{o8SJ+s`PCB z-lhCTA9p%Pn=vozYMC`_VngZc$T}Cc4UH4s4;8Dr#8;g<^Xu7jZPu3aXJ)@}P_-xx zWBB=R;YNv~rn{%a*Xp-6DAhWKIbWU=()xlc*0NdU6AOpwDvqAT+uWo-J{P(3XLf{j ziY@P&l76=phbLEd&AagUMQHq{f_KZ~dE})k-wXTi{mZV`UR15Yl0LN|qoTp0^x_=L z&$U%wb{xvc{?~T=lIm&sM_U~XTA$6TKbHJ;)>htUdVeY%=l%-K4qYANu5>u-)Wu}> zrx)(6WinK=tgvw`%e}ie=tNsuVOj&famc!KD|5DkXW~zaT`!!oM(}W_VTan`S$lYu z5=$nOc$Dl~erkbBN5bU&$(23T&UWpo8+5t8n>Bx&lj8Hg$ys@c@0PVJe!Y#1n=^bY zrZltj1#OG`-gm3?)uDsSobNwS@W{Ms@ZHL5bIQH+SqHPGbDGOM-r$>gTVwamt@&&U zJc}&9oH%ncZA0UlS!-9N9DQ6Z`0A=v<QkFO*nqq*&JPaCeOhpVAv9*mW4?p`oYT)a z`kH24oANm0rA||c$#?O0vdcG|znE9~Ge^_d>gCQCchkO|{rso?&0O||*wC&2%8e%b zEc-rf=E;;x)lOQP0#;2SqTF07BIYOkynV0w*PHYITpSr)Uv@3HRIR?`dz{+jmwUfY znyK>t{q}E`oWHu5*@Q~;`eqir-}!vr=I>hfe_h+|!Jy_Z`TpMjd)jxe<<7n{@6g@6 zLrZKF<$T}$TpsUqc+b~s(fLyK?<$}F3Ep)4|Mt6<Qwsm{hd;afe&3>>ZPIx&)R;WA zo&H|E+WYQi`uy_pd$sKcpS`cWU!BAJaK#UP+oZ|=LMm2DZg6*xFUsi1bvR_^>pr{X z%w$&n7?;;=FXw49$?LgK)8Md(>~b-C=HETfYNBQz>zS{4md~A2-WZ(CTz_d}F3bF7 zeMh}CJFO)5-o4UQ)ABZuF<5JIp(ATwuavUW%`?GikqsAhIgj4m{cUIIYV#F;Q<tt@ zvuXmzS<$?Ids??WY`k$Zg+)rHcblk1+JuN39TL*N+&UNKUeV|aJD+mS;@o!M^@k&t zzOq^VD&nzek_bC*VDAC7CWW?n`MG(Es-^Rs)D9VlMrG=(X=l~W@O8X=P4;)p)|TvT z?=>g3Rd;&_oR#J%ni28YdV9{lYiG^>ev<w#v(Cd&d67+#*lhFMpC7V+o|$cyzxSAo zz~kxvIOSfOubI86>hLS^&7X}ve=c6ur7!gU+S+<o-FW@ohc<CJZf3tLw|2E#p^X!( z!)ecl={Mw9*NLrSU43g==EY}EuksdNVL6;p;e6}Ui7C5OU$kF~>*zb`=w%xCnd`xH z33k`)S<e-$ecJk7a5XYi&wRg8_{~n2&ILNQUrV<7h3=TTeoszgRi0npmJ_e<oIbxl z>FtV-A1|It+I>W2z4)T*nI3mmH<#_+tB|iI@K{iXsdiiF{2bBvD=T*ESco@?ZJ9SS zYRR0UJ+EH=wOU@LDsh8hU2ET>9-FXjUb95J)FjTiOy~W)Z=!kXKC@IixB1&Lr4pK% za<gupSRwa2sL=P@WS`%wR<9T1%-z58a;nyZ_wQbmpSSrp$)o7+TJ!rwkGCi;|9jv3 zWx%n&`z6+WuYYjrSN#1?uW$bUl^=gMEHZFb%j4VIN>@L4tn&Tb>Gc~X*7Vzb+K~0| z)zK{{BUiaU^qIO>$s?g)yYD$BFY(1DH`Z*ajjT6)?`<1XFvrr~b@!GUnXqV)Ps_HX zRUE9{I`g2-b#1prR$^ObCaUC2eiacLd**klfy0((56xyQUOw$j_p>GU>+06^3S52N z=DuQ?%-R!ChhIkbXk6C)mNT*B#@9H%(sWiqZ$Im3zONf@Z_C|0+bVa`FPGJ!_p{15 zc@#KaC0$fn-Z;m(Y~v?JgGHNic%s!!idaqDiY}XaO045udw%k~X>YjrS1k3GmR%XH z^oe6ZDXXwS=u7tFKMwBO-f&ca_rC()%PEXEbuB($m{@a`Q~dCLh2y@nEiWI{PDuRV z9C&eE{=YBj|EK=?Z}+|R{2%4tOALygX6D5wUR3?HrdjSpP*_+YS9Z|BfQG|=9>=W| zpI`lJ?`-omJ41svn<zW)J@!{{-MVep_Aa`4CC2$!+PfQ@?j|JIZ#Zsk-c%5v*5q+* z^VOoKYjUgumrpx<jC11w-#U?vif{k(ZCssv`AFnMXK6iA<9Y0B`X))do^^3AOY|4p z!$-_a{P?q;ti6=cz`)j@a;)d2P;=C?Z`mf#kM&CDh~$TrZ420>wY~JR*y>W}Fy(}{ z{z)rzEIb#NR-3NvF6QzMdl(=ut=Z%yRm`W8AuP1)e5;xB@>`b+ZmrNvlIO4x2v$^B zDB_@Cc#31Q7N?ZE>)UwFiA7he;<vUgGM8Ih$uqa<(@ddjD;?yjJ61`_$O`4=ESYbq z7rm^Qt@lLe$#+_rX*sv|o!#=F_;^aE$c-1**56V2@i*b~+3j}>zV7*a?q|E~*`MFv z>{{6K`~QwA`QJy5pQ`_|Sl%Zrch$<BO9Q1>-(4HI`IzmJi3`%_md@M#;jMUN3!lt6 zH^oyeta8_8)at958b&SMGlP>S`}~?|lU1s=ue7g|aNo|uXk+l@wDY&pNt>?D+4xh> zFmw?|)0N7(TXS1#XH~_UwQQX?qoM1@npqcwmln=)+>m?RT=F4f>YpC{s}~wha9rKh zafG=|r*!33=`xPU3dhOiVY_8_m+f5IbnbjiS)25-HTLd&=AN}Hc;pi&1@18`+tkyW zU+);vS`|9~)wxbChm8KuIZ<0?C9VitT|T?_-qLS+>zudroO$xGQjaafalQP~$11O^ zju~%{*)TiRZo=O$<=KLp-`Ad&-0<MsU)6O%AF7rv_`YaU&~@ca_Z1iN%{8jp{q5bJ zch&ZP&RhSR*IT%0zu0XVzd$Xk0Grwk&wqDI=Ua*&PuP5qfAz7C{C_H*{akJr6&P5U zU*ohYDQWHfA3WP@kB5DKve`c~_Sor6z8$)+%~zhk!O#71F3+nE98GBoMGvx?Pi(b6 zY1Zqx?r)26dhg>Kv!+G{X(e@uwQPx4`~S(8l*#hB6MZ(V<hb=~X|VHe{m8#}8qcU_ zWw8YQTUfi0r}o~Sop}?NiM_kC^RVsTDZ3&?E~KsE?OEtJ`&#ao&HE+!*L+TWzwp3} z^=2oRq{!cxd{tUj_lEHeiF4wTq0(_n7AT#2bzA9{mcqyV!3TO;Hpd+{nDQb}FzNba z)$&<WR%Tiqn0s;KhTyAHFWCp#&Td&2xi&}RK%+uH7Q<2H4KKnPj1n#_w+i1P^~LqH zw&&3qe{9NsK7C&xz2w;rS10q8vnGhCPr5y8y7`LoJ*yv1-@m8sMCO0_>SB$@|D@Yq zE6eZQ_HWz$J7!P2<Np*TRz_wT&D4(6=r=xZ<GpvDsn}lWGp^aw&6boO+0yYNQOY83 zbv-9jdn0GDNz}xe<zm}Y&+&9$um4gWtRHl{SvGk}Q$y#evcQnl)6$AQHZlvja6Z(r zSC^U5U3}>0#G}&Iv!z12Z<$@0RTvPdzw5BsT90F@)1>A+Sy1)Ws`(Nx|Ci42^=*uA z?#5;q*D2mvvUFLuNb$0>SK?Hg?j4z<b6sJPgv)M?1$9RJxxdoX{=N9TDF58^gEIuz z3ZE&k)nHvv5#o7!_C58`T<w#uB;}3O?q_|IJt|rz$7!T<=0~1j;PGegC;eP-dd->J zXQBeiO=bkn-oIi^5MT9ysiCGj<}~G)XTQraw=<5u@Lx~z#oOzDj$hwDtM+QB{H}yc zM>zNG_{RU`!8*w|n(m8krF=@Tzjg1>Ay$dohYx<3b8z3gwcqwEpI`rr`)F#by{3e9 z<RkkP(_}-=f3Dje>Bkfy*%^3iS;qcN4l}B>bw#T-+;i(J7D~G(Hb<Lbshan37Ttsc zd)O1>GJTo!KOay`>kvOww^Ve~(xsRGxozvqGnW;z@Q}&u|0d9=d(h6=H6j17&V1YI zY0;aWn9P0dwmtoQ-t@&%Wo;EQ*4y5e9li9~eX-3P?}p2^I?@+Zs~N-9l1sJ~#;rN5 zvS7;Qt(nP-qnqE%S74lRKS1}vro>4ap<?IKQ{KyQJ}8m6FVm!;=60}7BzVFF!RxOl z_%HLBv0%QVfU>)W_H^OpQ$<u=-w6JCVzZ&!_tk~QigYOntNSrm51qI8?6cj`!zs45 zm-CcCWA0Jz>?xVwP5->QzJEs5xt;0ed#_%*GrMx1b6>SU`0vB=KMNke-G0~bXLtOs zQ~Un5{+_Hjea49fnUB_2pYv|{`>9)d3!~c(z3wH2Ry^k?#Ar&E9$04fkTI8U#+5II z(Mx1~ejF^2v05^*;+ok*&)f=WedmsS>m$|_EwCtG_QFNZt=D&Qd7o46D(y_=B#jJv zXT7c4)lYp7dR^mo^gxxU$bIqDi)D+?{a-&Zh=<Aat5WJ_HOCcaEsY-KO6@CJcG{<_ z@Vw2>7VQ&$+c{>-6>n49VEOge!~-8s{aGwHW1(u#y?oaPf3oNM>Sk}brJ_+he|3V2 zqIUQTrzP1FUj^@4=f2wLCmTy{!u;2N67DfgzkMP=G9>F2i(}lTz)&{Jnusk+r-rII z6wa`_71)~hsfSZ9wsh0Hb8*)%Uaq<)yZ`UkHrw6bb>>^;W<6KP`x^aBb65DLjdmX{ zNlAXO>+9`&dtl;(l`lW?b56DYdS|kIUUvQ;rC2VWWf>U(?oN?2vsbJvJ?oTt>#F&l z^y_k$`4^mVKGNOcp%H)T{E7uX-<S#*am~2(Mt^o<FZ1<}fgC<Q7w&~D@U_0GVX3t) zKYVxk)OH&IE4Lq#Q;*7Zc1mpQJ?P9RbG~lAZT7U;*7=Rm+w*$QZNIU->*b$st0pfB z`OL<*@^<rNUO`)Ku@;V!*A)V(oHLvoXB2Rp@(_IFz?+lDz*9Ikeu_-_?#zzU;)m7T zdmX(wj-UHzTNtKlYL!vK`)G^(#@H<la?^aheHJZQzDe{@5ToPQj<ll9>1%zKSM3uI zyHwnwQPMS=X%b^mm_g#4-3~SjYkz;!64WdTPV;F!`6|rjztKtGv+L`NFPn6(-m)*% z>=CEcMaTRf!X<U;XK&ZNI4qyD<MX-Q%WFPz$KQz$i<;!HY;$O!Va^$2Kl|HHJhtcD zdJ=89B}LHV;K47859_K=*U7kXtnQG*RAsiMDetyQwly$ZmOr?Fsjd7%(8IqzxxT%r zhjfh`Ql4E|d2&&2$D;X)+YhK5&FmNY((1fba+lJst*h^zxtz_RqOiQ<gVQlxA?aLo zi*)(9?b9VIW?kEC7akb+RIcVlq4LC|uKVx$&fOjH`LO%0bh)|%z2{FCrC$BIE^emT zk{wfAPA+=&W96?N_ZNoKC$7pDo!F<-mc8Kn%d59J))f@q`cj*8W803baK%SntqZm` zcU@>_?$@qf7Q&z{{<tvWAZMxb9G`gq1fC@}sec#}>Xd(Rth!>z(X?vn&hM{xE%gde znkHtpP)ev_#_!$L?_+k?{{D73{p_r-{D*z6h6aQyJWf}gYMnJD{J!K7=aj{2t8Yv7 z{OS*XT=!z5z5U%wfyHq#Ig3`W%`Fr*)!Vjcj~|n2b&iPMrP--Pk1TTS_Ldqv*z!bS zZ(YOntJ{Spea-wmlR0I^o`wWjb+Kv7G<prciD}I0+3Y<>{6u8NEayWh`btw=I(3>H zX4tObnQo=uXuJ2$l<8u65pR}xlzr_~m)~qVf6Y!#h5XsqI2BiXj}2HTlw{G|knEhH zI`M*J<OfGjzU7|1GbI@<a+w6I94Ca^wY<IXL1B)~?-vU!Ob>tE%lek<+uAh#B##S@ z4vVjU+{x+o;%!^6+}gctNe;5|zuSF^mcQZakh?DGl()ui`NGU=Osg53tLyLlU^4$b z#j@yD^^ut?MLw2pVYNQ7rLRXO&~;hut(T`mmdIEAS*vaEWXJz&qE%P#uiyD>)vw*} zc2z%{zW>Mi+1>mi%d)OU?Oo;<v}kz-i>l-!wX0`3^431%P02~w<Sb=(f2Cn#=c=C^ zW@43(C%ii7b1^AL)=%EeLYj9`_eQVOfR2LIs@5LwA7?lgY-yX&W^QJ>!z`_dTki9l zg!4|hnUgnPsXm(V_>!LQwtoM#XJ%{F&ECZI>Bk*oPi|rGd9lU$2d_}Cc?NrIs_)$D z9~af{Y-r3YKggP2E}T9mN$}g_e)|`FE6&Yb_5A9Uts1|l-VBJ<am~4FaiT<!JyyAB zU6bPCqc%(Xr8SSc%+22Qs!-SJ`?W(!*H_OMEI#;CKJ1w6^0;uG27PUf;0xkUrtuvt zQ{ayYH_EeLc0v1EW!}Mtb-`N$I5@pt%*nWWa^}K~JxT&*tL|y+yzz4X{{QpVK2o2v z>}7uH`iIlzZ}D$sI`PYD(E+c6i%Rs^zYADh%I(SE*8jgz=$*UV?)s}6PW)5#G@RvR zZsd7-_c7a#Uy@HnbhCc%yVP+z%W&>%U2U6f_YNPJ`OtEOeAV%{3yafoxbKBFoK3cP zs<<hQ)w`tb2>aW>lw~qUmt`1AxbX3r9J#ezAZTH;)A84WG4k^jRGlmx*?Nw2Zk%gx zcmJv9Re>w7HXfHNQ9YXa&Dte=Tkb8rEeq_{r2O43o%8n**R9O^hr%MH*6i&Fe)iB? zQ+dto7Iw$|{8k}~*LNOT`p{<OX?M*Ew^@?bMnM<K-zR<ze_i!uW$)_*5e>)np4%Q> zXxzI|H}aKye%OcHxkg#y+!yT?YM%I7^2=Cy`W^gHD3w<-FM4ayQoG=0Y4eo_gt~O4 zw{PZ}o&V>l|MIzIw<cVcyQAkeJMYEES?dm54UZ4~cj9n=-`^j{?RUO+2)vjvheuZ? z=SF7m@~HohkMT<9el`v~zC@^Ws^W|-nveR$tgjd^`@1JgM%Sn0*1?XF#W!^X&SrE^ zdaR`NUikHGS---YFK3?GyrfpgVs@0+ucs+nT|TFrzxVJb&qDW$yH@Uybe`7JC^#o5 zCAdG;EoGPb`UBH0K90B@alnmt9mj;)wXYia?LW;iE7-sLjqR-4vrTWEjoNS|_uigs zOpPfAKk-)aF?!7XWt=^=P{D+e+tkZ?(wlYefp&~%6sw#>*QjWEzqnp~ef8Q@i>;Nc z!i55tSx%a+uHWovx+OyP@S?f}=8|%o6i=}Ps%gH?zUQ9K`?_4>)+sB)SE6^*UvHk8 zx$b-7#t`A+AXBb_DPI;yf1X$K?_#e0-an5X8Bd$P^SSBWFOxr<O#0`xNcy~O$nLuf z)R(S&Z>OaaJ#l0H?OnN7-dJv)nzgr7K5Kec-K&}E*HxDtIiJ!c_w~}XZ64eG`Kp_Z z!glGu5^bqk{x<Zt)0)Q8r}8PQuhjq5VOXbKefb$bi*DSN#hTg7E2USOyjW(jWbf;V z`XW3h_WWI9{rbrS*@VBF?|%&VTa=P=xP*C0s@iT%;pIE`+_Cw7B)DIC&3v^j9h)w+ zUA1;$SiR{p*KX%SjOuZmXSqcS=e?PFZd=&P8QL43|2+6Jdc*4HL0QTiYQMK?rWHNd zYg_jsaLWYE92Vtn$uyQqy*XLOe#CLq_zHDCvdCDOygOmXXFJ`ZTNZ_zer7~`i|Vgk zkXF^_Yx!8}MXkE;%qQor-f5SWI(u`eqTbCcPS@Dn-_z!%-158ixcljr|1aH&|JhpS zohaPjx4Qh~Qt@)TUni0;uiyJ^akaMADWhJQWh-R18mGlh7R|r8>*g)pLsb%f9kQ+= z(pEW>{iZt0FT7>CA*SEx#l)hZ#ZOYKr*szicqFhe^!jEQcV>&l*g6%&ufE#!IAr~y znLnd8_i$E+&HlK7$F*n5$v-~=uQr8xzYdMhEKhIQnkO?YCTY9KoI|~}Z-gqIX-96~ zo~mKPyF;pTzRkxsT(AGm+5d;<?4P+hO`eU>J0E4r?z@=kVN^8#!3jU5B9s2Dg^jG4 zY>QK0Z>aNUYZP=j&~{7t@2k+F3p^nw4@8_e*dKCX@`T006BIK<c={a=zWB87?%@e; zSH3ds+g#W#G-u(xvv=Z>%8$f<iF<l#kM$AZ7ea5YFL-TI|HNndtoiTU&d+*R_Eys; zW^duqS*6m~&qkTl2mXA$<E#2v?|)yOyYKThJGyw?wz@kB{%dyZ_`+kf@UW6bS(dNI zweK~1zdby-?_WxFT%l*-pJ!{culvq5s?4g2TEuijW$MhRJIwrd-j}_*k$W&_?y^)< zbF&|2J_XTbt`Bzp6#uAvYXgsFvxBC3&*vq~%*Q)))_2OSv~hiXb%o%*`MdpJn>gR$ zFX5i>?a76LaHr$^i6ZI!m(?z`EoS8Go%ept9G>!DFVjyn_7<Jr`(aDf(%p9~RxT{% zD2&>i)N6VALS{AJO8fVV4;lPY&5ias<K^RaQ1|9j(Uh5dRt07J2lvG>y=N2DwBlUj ztjusT;o#?=H>STSl(9JeIkzdp_C-x#rEwgmOZ17&9A_8&W7As3=;3tIqAbFy;q~S9 zEsV2|y!MbWGX4B;PVxDvCwx~5=3HJf>BQ%-eOtU_RX)C3e*OOoV{Y+t_63{PuAcn2 z=HJ5Gj`vP<*MC$M-+Hg?cmA@aOH@onI^XuDeQ5mq`%W|epObCnXXfueU?w@6G2MeL z@07=_6Dcox-ltryFjeNye|Y8f)zh6hiVJJ^EXzO2_0CpF`Sudto$h<Dr5;V1cIrW& z#JY^I*__j?CVuz$wMbOaxy4(|TJ)M#<hJ+ES;T^`aZU7@V74}8N80?t-&(uPg(OTi z71y!#@IHLuY_&e^`vKwenGz>$CpFZbdT>D1`~1|Z$T`{J4UGj&hYGirb1u8SI&<m6 zJ3nGYauvSj>P=dxDWSNKqtL2-rPNK!v^gagzh09STE1fSs;yPYv+OpX`WU9XxL<Z< zh*8-wUL(=7zwVU2i|fA2E@}7sgQQ!xOj&P=TJ^1}JNx#kPVxyg6O?>=>}ksGIdh&I z`TI1w%=YV-$<OyqeEqoB?pxnn>+`Kg*fm#e+hz98eEU7UqjUEEjo6=e_-WmOW_dT| z<A3k%|GR4PXURvpPu9i$|MYF+V|CxNvc_>wm-!TW@$F8JtK$ol;tq<QC4E$B{YO9R z2a_XKxR-f)FO#^gwuZ?l)y1RG|HUeUV_Warvs}1x%<*!=-by|JW0muV8zZ>pici@6 zBX-R-+tNIv*JX|;rWt3)mOXqC5PaHCQ1GpY@=4q8cP2-@*qe82P3N(K_^*$&9_O^E zY`GBm|LOjJbp}lq^)bs%pFUqQ(^BgE$}>{6`P%a%xh0fan!jC9Q26-BS7}vOKhvq! z%TMnp94fSZv?SQ^+THa*ayN||jY=z&S4X~N_*>Mg7W$H3j_aW3axaFvXY?C3a9K`2 z5c`d9+mD;+b2DpSRDXMOEvAiUX0x)Bu-U5j)l+`oJYT27_IJ_x7mHKo&e4AJ#CEmf z@xM~<&U)*w{n7op^rCBi{=UE8?)!!BcH?fDF6Fpi^r>pz_jkE@A6I&-hE{Zm8z_9f zw*ShkM@JocCn#^T-0RqTGp+2f$n~~G&v&{8u0D9+TGk^@Jxzn<q7UWYyx#J{R?p1w z*F8<W$a6Yzr(Cy`UDzeaFW6e9nQPHuer@`y71bdnOVmV4Pfj?f#((R03s1|rcUN1t z6eM)+H@Vj-Jk|N#&0Uqtt6v_Se)qG!&AO=4z1EN4e2xtY+tz*cck0UArN28C<bLUH zWD!l^(eO~5^<Gh9W$u=qMe&jzGbQ##v=(mJu;RbyYc|icmJ3ZKv5O^NdAqXhjsM)O z%YEtV!YK`fJ`;ju<}gI;O%YG=PJG>W_3PK4vs;ATgzk=Ly;uBt+1_^!o)bG9H|FKM zQ{f4?^Xu*E`IT=vkL%U*ZvU@R{c3|tRd=Dnl{Hg2dAm&4N3Ambu~~1W?Y3=Od+kr! z-B{rFeChP?Gu4GxH(RHlk1{dK|043XJw*4i;Jb;(<;q@P&)dFtOZIWUVCT<Ktk1aL zHZn84Q}dXj)qU`qg0+B^<kFM-6dBH)Ikn;b!yb+EDViT<TVyuzUh)VnXGvY)eChJG z2i6T2_TGw^bG1vcOR1u%_{dGy?!yx&&Rpg5+vnUN+w~jg*ft$EHeFPFeA?Z2JD10q z{jj`}@gcIT;L`eCT6STnLGe?b_<yd+-+5u5@~y=Sa-OAdCVgGw_EKG-LPcu<1M6Y7 zh5Ir(nQDX%{<26vvCeJT)w;)yZ*8I)9cKNy=pMi|;k;jfgOj$*x5fpHj_wQEu6@dU zYH$Bfq9y6klg@X{;jv3=Z>(rZ+aIv2P_2Jg?P<Q<YTNI8;x1jSBlvNh;`58{a`FG~ zzW?{&q5AxqstYGBE)Y9u|6y|5f=`b3?$rN1b$#F8o#*R++NYh1dZ6Y%=fjQp|7zYJ z-SZ_^e9rw3S0?+P|9|7SUEq%T`iWjC6C6+FI_g{J?sUv}QFr@-z>MX$Tv8^@JK)57 z>w0=;Oyi{jt1SgzSBUj4(Y(B&V-~+=&{50P&8HGpXxyHYR9e!Zx%zD9l@|uNa#!~7 z%8AcBVx8c7IjCgrBq9AEkIhO?`79ss-A>uZm+w+!taAKS=Cj}Zhl-EuO?*(}c*V7K zsobW?hS5gl>#FviFRM0R7xqL~b?Li^>uV0mAJ$-g(aN4Gdh6>v<{|?Y)we73UlyBk zm%X;Q@<hw^lIH|Q)}q&zDq(x<oVT1Xda3kI<eEvu>TZ4G3+t4Rt(GxoTj{^m{Ia## zCIPNzSLB<o$vO)z=~DF!X_AkMD$Bp0zxCgfB|5zdzLObT_OH&-sd=z-`n)}V<{0Z$ zWK1~yU`geyYff9fo-|$_dEKA!%z`baw%YNxYOuP+wJ2Ba*?#TuQStbwU$gJu+4pI& z{C+nMug1bnuU@ad>)ikM;M$7J-gPGh!*?tXXiS~#p3?Wru3xx#uTKi=ro~fNyC{VQ zWZdDj6`$!}_bk;S)?~-bBJ-dLR@pgQWGpr_3g~XKyqc6LKT*z-uhaJKW#viJx2FBv zd$#WE6lR}GyXIA%QnI|P_We`W^fgb7LtotZHrF-pcHiDz;<j-WFZTb=+U=;Qew6LQ zgul@R1`n)SG)%+Hcl>F(==AnU#m(7bIl-?!{k`&rd2)Q(e+L6$;W@tNzHd0&J8>OL zQ_$@OK{?SIFC;EDUEX<snTv1tmhU(F4~MRMJ>~AfZC|tHqYgFR;4<Fzb@!j9n(ynh z@8urZ_4f9*lmAp^&wA3f^>uE+$^5$NZk9B$tWS@c-%XpHf3@S@ri)xGdXXE8uKo#K z9rj!|cGnYmzw(C_?>8*$sh$x2<>vFaAAeL_CyK`xtvq5|7E^L-Q*l|&ogJPl7g@f4 z6o0SeapcOZhd0*0*tBGc*Ui+e95Ju&URrwkj%51Wr>^`>y^bx}Sx&b?Y+o>N8!cvg znw^xzxj1ZzZ$t5`OAdT<a=VRA)J?oGW5;DJ4T;Kts<j25K6d??JXP^X=aNfDFEC4X zu{eG_@Wo=Mi)0Ur>({*-ZuGV+jtkjqKl@Djin=(9$d2i?Pl79ZKPUGun6~D6!VJC> zmH9X0UR?9+S+=QS{cNN9nWs;jGHzYzb5>N2Axv38FfpBF!tTD=9)IJW$1Hzi%{o<0 zWKYSy#TVSC6|WT+-WwR{FuTVqkT)mFp5<WL)ZdSG^SW%Pe5MiLc~Up(h_U`<58wH6 zW&h)rZDM=r#<H(=cXv#w>)zYD>Sjmpu3LI;|K(o4^OG2Sw%x8yINn@e^Wool{vyda zCjOHjxHWxcoBe7k=WiaZ$J5p<<&2K#o_wt-V9NF@3nq%stN*wt*V=r|o>#B5r<~oo zOIOP0;)Q^hay4K0^RBPkYnGUQ{F<!U@1OdCD)GNQo;$zY{ZU5b)ws6F-!%EzFTeJY z><*k#l6+*5`MPjNk)<9!>PHffomN}!>1%Lv&f=|JnwMQdR=U=Rgq)mF>{~Ep=G=#y zJ{O6en6LU|<=NcZo9?A@>!mw*tWCR=AH4dO<JOv6$}3X;`*WXN6?gFdPnih^%iiBn z-F@-(q$@#f20{G~Dw=pVl{FPl*1UTDz%7BJJr2ukkI!Q=I({^{T*%dCv5kW``#IY{ zKC?*&jwO7Fh&K-x>+@2+-l{O?Ny7n_m*MLe8=d;1_UP^W5>$FCWOr$Hcoc)k;-Xu- zu4e0g`1f_K`OM4v{{5Q2v%mgLd`rtzuf|VIXX`8U8&79gzSEy;GW(5+-9*LXwjHxS ze{k;ao7zw()BR=BX}#k4fA2iMQgzkp@niYlSLzNP>)txEZEpF!owxJ<96kS!`B|#x zNyhNV*w^3WCkX57m7Mms_ue|^=&@JdCagOzll*de$S&_N11Fx)O{K5>uAQ&b>NlG- zC#J>Bb&b+}7tP5>l@~3zeoZTD{iGTV+xrv0Ov_S!{9&@B)dJqDmu{s>i#+F9sAd}4 zmF1%t+&lYCqnJ+5_LCNDn-4k5^2bm9e9rpMr_}s-ZuYwEXR7ZrZZAA-x4rUu*+l<u zJDV~;$4ryh<dw5FbXjX$aqQ-vIX;F#y2k_~eSaNwc^<N2rLdDj@(adu(a&$G{Cy_H ztNkLtKv?^+aO&qXp@+AJO>^*ZV`O;R%HsIy#D+y5?Jh0R+}pDzHQ2FNj`{k!<aal> z-k<Y*-`rW7w&X6i;N)F*KV`0ROybFJ^Z&iuw|l>F$I^lzo2Lug<$M>OZIg@WS$k_E z|MF!^dAcI!&6p67>=n0*-(l@u+t@hi@46o<Qom}8uerDB(Z$W@>t@fkN^SG@oTj#8 zhxGQlm9tGmzjgf&eEsdso#hEEcRwcY;f+4|hX3m3O1uA?^iFg+zYJ1%azrKV&}F4m zxhqe-)+aD++Vg0Z!!zqeo)skx28)E$`FiB!*B5SSnxOf7i}r%H)ZWL3e?B(YTy*Kq zpVs2LnL!FU>(&=lKizUsQX)Lyfz;Oe@|?TtHVGZ^esf^;<lOUjE5087UReEG;LF3? z69h^mi>BuGPpwig&HH9^{BUJ5cgE98>|38Ki2pwCeBTN#(`qJ>Z)%;Eev*f@8%?e+ z6JIn_h`mHY!upitMO~-Qw;S9<<%8~5t!EOO#FOLc7q@Nqn@^{6`M$548@=|=gmnu0 z3f{*lAH7@k`s}0sItBNC9NT{9`u=aZ(x-nP<d1)B_h(^$gt}MXE(ewS)i0wHH0ON? zmT5Z0UdVkVZ_|XhS4D=(@l_8iUE9N>mi+9N&iDC$M15WK-^22C-%oCjEw~q3bnmA5 zy&s=f`PaVMHAnV#dA7yzknOqG{XBp56^O@|tjuIwAGOnK!ptn^9GxtuGk>p&pPO)& zU+3LLBYWEp!TP^E-zF621)JUS)s<e}{%fj>=dUNKmV9hBp0g)M8C=xAv@+#=O3K+& z4By^pno0(nS=GBc*Df*QTVS6&=~Sar-(<z@w{}mr<aC#wwVQ7fV}8JonVcTKzps*? zeIok#MP0L(OEir|Q(Q7{T`HSyt#`asW3k1G2P(dAu5Y@;cU|!j|EARzAFfn<oyxuM zw))2DWs*)0>UcPR`SSQ%D6uGH?bxKKwsB?g#D?R_ysKWG+A%?MLgsR<+Xe2o&P;UW z$TQD$^)O1Cv3H`gP|^MXrY6Zu#o51Z-?21iO<eY}#%;%^uG;wB|NFlm+55YTf6kYi z+fV6mnkfa&e?38FM?l9uRd2t)@eJ4Y$2>U2(7a8W#VNwmkLS?j{~tdr?yuduW6g`` z=`j@xeV5(ZR6F-wYKxm=-qn3;3QVQmc3sgG*!Db^;Ri$F=C<0C9bxMO+UNM6IiIpb z;LnUrPnUX2_FPOqn9x*bu2$cal-c&}OV`|c3*PmW-PX65l_qHR_q*Y#eZf4Oi@(iY zz_7qQGV|Pw5cA?=I_7zALatVFoARVh_de%QUORE|66byKce-=i;#yMzxD84ktzVbh zp4$5%pJmCP{!;&f^<oyA#SgbKY*>HEh;zc<AP&yiZ=@%?EYoT5(oWTWYrUY5Nh~LD zzD&WE1=Z_LHf$~QOm?g;n6Y*9$+QO_HhSI)pJ&Nm?q1e0YuCN`pANc;$1nQ#R;;jQ z+wX<$oAjg2^EZ38m*4p*y*=S!&G(z<Ywq2xJAT*9z_odfNy?LEsr6Bdc=mdI{m)Zj z@lySNmd(d>izhqS3;D17ns7|%=v>=xFPx)F7T;YueXsLu+k1asg>T>CU;pc~c+J<< z@%tXshVT1+;pg-D!iAT8_ZQ6n`{wymjV_%<>(6NvOJ84KkZ=9}?W?EnL^9KMJ3eLK zYPjdhN|`ea3HcAKf=#~^&A+l_#lo))3r}Y<KRuc?x#TqCakjOxTT&l9xmojqjbDRn zS)9!JHM>?{c7EDBtDz+2JLB}Zlk-YVTf#FY8(tDWY#Y+t70PmNiBv`M-n#QF3cn6F zM{P`faIZ+lR7=A7^q!*)>owK}%?+3xe{8LHu5P!#t#iv}lTPh5MV&?Ww(OkwX4R%= zRhDP$svLtCy@|S_b>PM2o#n5qlOJpS%D+;X5K-{xqmj<tD)}!n3^OFc|2<>olvJ6k zebKI2ki$-*sVHLeWy2F@kvx}XAN>F8OjVwzXDcf=8zYx&<?%P#A?ZG4(%bhf+2s28 z`MkP^3p+la-}Pq6Je_6d1>bXePP!p#v+CO+$M1>Wr}v3%QqrmQ=-c&9{cpy3ce(m6 z?b+AY{rmLu`Mh<d>w2~?J+n4y^SQTo!WL~^u+6?yWs0nZp{wKh8oM@&_R_@ryWgq5 z+gRp1qh)1WBeVQEg^SDHzRX{vZ^E_WxzV-qKQ|1uzPn`Yop$TjYwIhkg?v`GRWI4W zVOhKNvE;=dS+!Rc6O!iNQeN&m|G_bFp9z=ey$M@a>v@ZBw(nJaLpxW~w|k#$`R!YN zM|#1Av)V0(`mM4~Z-_j+ul$a6&IMDB<rj-)NG@Z%sA?S$6u0{C?J5z!=RY&n7*|b6 zm{vH?Y`zcsk$H*SD>Aot{>*!1^s9FHH$~xJNh)HZ>+hR-rQ7gSZIIl{^(R+ly-~>< zu@i}tqO8wbey=&3yQ1K>=~L~f3l$+LJx5k-yCL`IZSMXeZm~1v@;^@;zbpU#|7Hv3 z<h#}DYx;NpTE&0!>)*q*<-1k3e(DW*yJzdpx4Or7O0;lWzVnwXy3@R4$*nKS7gW@$ zbFUuS_j;W*PmtC7IiFqkc$C`zyvWb`zeb#OOGkhGBW1tEFYf5qS2q7XQ~KXu@?~A~ zk}8&kf!(vLa(7A2IAmM>bdBx7Q|>oiE_UT9*0W@JABg;WOXW*#|CRR*JGVsp6fBM2 zub#B5&28?SH=CSqhWD(r(40LXv0b2j-iC=c*X&#B({zoGhv8C3%5y7~+1<Ak0<3f1 z#&Hxe3*{s}+a_36^G~*^T<j~m{YUW&9a+6sR5o~CZj0alP}JOc!_Swe&kHN2E={P} z+Vx_udw`sP@K)(%d!Gp14k)~o-Vxq5Mb&jHM~~L7Cq@nK6H-DyIIKJJGbv+dSWVn+ zKP$QGQ|}+_c^cJo={@hG%P(bZB-kW<qCYpw?Kt-*dhMH@1q=4<2=X`*w>{^hWZtta zs_QnDt?#>9dso=s-XiVSl%4O-oIn5l%)H5O0;9w2c}-LeHIKfV`|jofb|V!vwQ11| zOTIF4N9s8FE~qm5_GkNC?QNG%ey@1&ko}#`dc9r0dW@g%+Ur^!dvGFW)<^BoxfS!% zY|CeGh420HZe<{QX4wWa#e#!(FH~{uka?r6((X7bX=cvxSw`yX|1S9|k~YEM80VbC zl*=0@sMLAPeo!v)+%t$tWp#e;!mZvl!l`$8wRWp?xEocTicqdR7&6~Jy|Zrm1GAjk zo1)_HH$Ug=?kv_{d+P<COn`U#0_%U*Ro^B{mRIP%xSr-`d#e4`We+X(r6#*{GHzyN zX9}OT_2kNl%)6_7n|ac*>k~fgeJpoUim%@7dP^kJvVUo&^(&>gA`@14t?|lC(u?|b zcTLb$LDmBSj=v|GPEGJ$o^{i1#&x@<7t0t7^zE<DE&Wz0l(kCe(ZY?#iyjFU9oXG! z@kws~&$nlvZL$AxkbgJ3e9e_q?*lJm-&eJN(YvSoWzj|34-e#hID-^gyanAo9tGvk zymYqnj;?cGbwGH1gw_SWb1!(lo(WrdepBGrS<z<{b!Ke8Q2Wt4zR3R9#r`|}^(A{n zI&R&4ZuecX{MpR(9nyJw?k!k2_jcJ$CA$@~wrz6FW?*Ds@N{tu3HI|_9lh;I$@GPW zWv{QTHO;vF?6Q=i?_<MMhm7V$=c_Fu7jJ1PoReeoEOPdaPBVQ|uggr=pE>Jo%x6#( z%hlj2DN4}TuyNz<ueL2B5-XnEpDR^&L9_XJ?@Sq!a~Cg|$M5bF?Q&Q<+h?Emn#lVf zb1fTxX1(9CcO$pFh6>~C@RjTKmwxszFWWQY^{eW+#@Q2R+f+CHGK&vuTm7J^IMl%D zy-&AYcFUZcDVyq5qE4zz(0&`rwr;{brdA1;P>}@;=L^>rX8AMDGTv(Wz}iwyfH&*k zpKcZ9y=#<@u)mn_XZ8BxUpZ{d#|~dN<KH=HQPJ<;rx(xL{Mbjv{%-10p9>#%$M_~+ zUHaO5@197P!<W_k=2TqLwDPRgR+PFVQnYT@xgvq)vOA|XWh<&~T*jf$=+gR&qpeVV z?&E#`{p)KIp3jq=zC2y6<H*$|yS|kO?)<h(eO|@As<zjvrakMnpZ9QVsL3@ylXSRn z+KIWdoLx+LcFeiBqhrmD26^5`j29;rH~r*!T`AI7wCLI_88s!<-(1|iJToWHUVYtT zUBuQrkL(FvlF6O|4zblcypk@fd1jfLo~=53J*VcPsmZk+Jv}^cKZkuk#r@j!VRxcp zoo<`oud6r9BKCi)|9+}nrh6yL4UUA${u71oHt~O%oxNG2DZxh4<eKfvDGk$uq>pzj zTpMye@zy<!$IoR0g)Tjvl%lNE-aEzEeeTBiITI_cui9G^P+hzvj$iUho22H0#QQ=T z6Jj1bNk231m7itm!qoxVZx{<JGp2W6{&7WAe@~9;%J~1kra#+a|Ldav4*S0!9nBLT zsg&Qe)+>KsaeQ~o;$N@jtG_UA&p)p>ed#TW>Rr(;VM(2iGoRFdQs<3b;;6&m`bu+x zC)Y7wlQ7NMTcZ59JpQ~)pI2nO?0nJxk6Zs2e13Mmc>kZHYv0Yj|EF(j%-rgCH{VS+ zzpG&QS0`NK<CJ4ozE>~B<R5D~7rWz#Zq%LtFQ?9~pvN}M(r!D<*!<)yrXS7Uye)HO z&}?`9Qz=#Xvn`hNp16}$rPFwD(Td*S<$Q66fA~v0f0Grl!PclGR>)W4!u#sfC6lHq z1{^=EIO%AWsFCA2Ben@QZp?5fyu#wV<6``(@X2X4x@WIH%<z3VWukVl=7I>et+&=j zeO;r-_E~)XJ1aw_loK_2xdE@vEdH{aWv`G5qfnf4x6Hmdp87%)f7z;RGn1SbC)wp^ zSz@Gi?(2#dUA#v>y((aF*w}P>WvE(5MZ2AK2Xl)3rcdG0WkzLR&USyBy5sEYvX^pp zujf_2<h;J(+Ljp_FJ1aQO5etw-5gi*@#C?rudmND>QMc(%x>xa{|R1A6S!593@f-? z*kl{Le{H&%H7hFo@4+u-FMa*1gY6F}+<SBH_x}%0g-73=UhZ?cFuCaX&NEM#O7%m$ zB2riL-q+CA6nBYTz4gKM2di&hdpN6w^K4AjHG?Cro5KFD7m#qy-*e91&n7CK=YNN{ zPr+j~5sq_b4K*T#Hin%$)EO2wrMqXTPt5NfZjWoSudee*^IK!%6!`o|XL9SEGbJxq zO6DDZ=UcQ!sgcvnPUp+3rRmpJ^lmy4wd~*e_VWiO8mrFu`k7TgG3l;y%b|TwHV3`x z2s|)B<@P~2yA`%U`j=$x2ymZrl;#MUvb6b{qt@n&bI&|VyTExWbCcv7=`X@F3h%G| zdSMlx*r_0cqt&8swrT!$J38@l(^Ni5G0v-Z_Q-5J>@S?T_O9B@%9S?+oo<*(m_HZa z|6^rz$t$Pt8~bZ7-7UW_e>SuJ#jWhSqTze4uZ`Xxx9#)uAWNO8eGSW)u9@Aobuuao zaOrhiGr#`JavsZfj&~9T_it)Asbe+WT``MYD?i}$$@O{vmR5gw$bR?7N8vmB|NY*- zv$gvfx7Yu@hUzDsTqBCN-z{5xdQ#s9zSMiXN?oSgukW0C%1K<`_OPzyTa(*7e?7Fk z_+<`?ikvTaU=i~vWfS-6>xUfD_o(VhUJ{eL;AFqX*QxEC_yvhb_4E0GYo|LjoVdNY zW9reYX6I#$&rY58+bm}KD&FNn&bN$3MOB8O)!mJ$+Q-iw+ny8Qm2uDEm(TANyP{^? zW7+@u_3LXX8?y{OPd}~U=j^(dksHlASzYo;nag{_CZFgI#wFX-Qonue`8T=n&2>we zAhx`M?en~s39NkW6V_4sW~<<`x)KH3O)=U={!cXfPn=LWRcNfkXfff9jB~n*4NG3i zk+r!#-}#O-y>1HB(_UK=ZT6;UbzJ20dDR~^!vkYqO?p%u>zB5Vqrlzm&F$TZpSAV( zm)ujBc5?PNk+r)c4S)H}RQh~?BTV7btBhCwZTjcTxoGX++a#Cg9AmY6*YQ1>>i^B} ztyr}x>x%9E-L?6?&L?NGK62l(z3WFs#*((1S9YbxS6vi2vuevesn@TYw!ZLIij&km z6QnpdQ};sVfjgPEt(^*<y!g@Nd!9A9*3f_6S3&iQQ*y3$uMECi>1Zv^q+Q@zbVRRx z=Gp3!($%KH&kxk(Zwi#rT|eKbc8|Bezj(xz_h$L^uCeN8^{h7^C@q&MtKautF?^Af z%~Rg^hVPBX0)Ji#XO+uQpP#Aht~Gmc@rK$}rMyB1s?-;^EqOVA^#aBdQQwxXUmV^c z^(4r?qn%$jv1+odt9#=mhh0p<JE}^ir7T+>AtaQjVtW5m*m5!JDUUbE=5kHDo#K9C zi{lT0OhpBW<%$|twrHO|Z6a9Mn>k<o#g1t6ysI1LOMU+<UvvBHrI?TWai0^fZjlcN zvpXOAedg;sJD<;aUH0aN)`>s;>p~jCdsrq0T{3A3FB6)i=g8%J#&6oz3ZwbQ7bt(7 z{L^{Q#pll!duE++xXJT*0e=vSyzUP>N00LRrPEgnw$wfSeQ$lv@7wS8*Zm4EzrVMB z3#WtmpGWDhp2od-x9fM=R@<5@Ya=(`)QzrNrF4sHd)Zg5?Fk=a9M3$>n>>eojh{kR zanCIU<|_FG29uL*l%_4eXMHMbm%*~k;~)Mmf8!!?^UN{1gj4-yvwM%KJZ_8ij$gj- z{iNo;&gpEM7rk4vCS>}FGx=GSO^WVrD|lVj8nG947)j;C$tXKZH!RKFR;C|m)0KZO zp=IX#cxi>GsamI3KUGkk()whlxXNpbNal!VXJ@|VDt}jUvg-Y`KDp}(%8#$qIbXQA zI^jqYPs!QT1(T-yJih9l-s#7yT-JSl?8o}HyM}!y-<F0=OgUAX*b)L(A7nMHGt!dS z>@Z)=c4b{&v)anvl0VN)U;lHvTkzr^v6F5b_}F=Vcc<{O9dE9bOgB>Y{l3-3Z}Fd( zywcbFqc$Ww{AXUZmiO6@sP>tLPNEr}k3OIH!MjSdCpr62jOYngmSYwRg%7-ql4p=t z{}UJ+Ec@|FvA>MRX%D$r1I_cR8^89H=&!Flxi)_P%}uxeR(DN#8z!fFd(SR688`if zm$}(nH`Ggtp8m%rzFs_S;cDfeGaqHPs;O31%na)4Sj59}>ZGp0IX0^w%BnMO>r{xR zbolIBEPl7h(q2>Q+#J)RbG2A>l~cE9Yu(MxE}FGVTk7?#yN~&8(_b(Yxg78EyI1-7 z!^2}6*`Kp2rA*lOjj^Y^DNtscqU*Nhsy#|4Y}}bkf`Wuily~1(O;_LfR!CAS=&$^e zv&S#Lin%ylbI!}$7l+q{Uf?^g+Pg1zZDX9R`K$+S#w;sxoqZl}6-ZE=Kk=Y;-}UrQ zKE-#X&t8#xueJJ=sY%Lij;g}8gq*uOobPJ;zB_LJb05phX**u8`#q=n%SH9Odssi; z*<bU@%G~$PyzsDni#Rj-XDreFwq@l)SH=kwT=u^IXRE50Tw?WfwWF}E|BoiyMs)+w z7{|v@`>gkGGK8CrPiLL72)Hr*%G4S+^GmjWzZi$T{`q9N-P?Virmmk6T>oaGd(7!j zd6Cb5(u8Gqy!{q^*L~gJmgwDClV=;}w`tpK@c(=7Y2KR_!)a4DZR`<U*DKZcY_ZvC zU!%^DliFn(((f;Rclg#@bZ%bi+Fg^)RQP%LpC5kT=aF{y#+8oU0#`rHpHsei%2}nS ze~etWD26kOF;_K5X7L35t?zGQ>*JW2GvnUz%_mf27J9@7td*QIAyUrjL-_WsUpxaA zy<xbJH2>>#KPmHTb2r!Q^zQGy!eaPSGVATqtmMm_0=c&rFdck#_=Luk#DtKxquvp2 zjn2yw{w8gG)L>R}`sVgmd)y{AzF6%$!CI9y(lqnf$pwvZ8k5~@n3@+EZ}Vx63*MwZ zfot7L&9yVnehKtgJmaMG_P55<a#jaS{8=onaUo*S{KrSKHA?i?)jXT|^|krAiw-T@ z9Cc=zf75K|Po1C{+1>YU{<5{EJl}YadR+5JySnY_ympiHB_6>_aZh=_ea(OJx$b}a z?|7ec5~fzVs=nX-zq{UhwozSvYQ{OS*`=|8U26(TC#-C9a<p(%j+gj6>#M!jgzc&M z*Z4Y_dyLpDtsYHTvLo+K)xUKov%dXKtg;W`4P@00E|@TRvhoibFUg8!UP7E&SHIk- zsTPV{kSVZ|hjoE?>=(1?vuCbs$mqGfwS0GW-rDkR@i|Yoy}k1y@BdlbcMccr-n%fD zEsrlceoN=@{oAFjb243g9B*7(_1xRR!d=+!qFnk3iIl5fdQ{3^ZHl~Bc}XLB%8Ccu zdV?mjeGjnXSXzJa>-**tt6n!STyFRlIp>`0(SsgQfuc1f+4d!`^3A-iTQICzeY)<- zsf}ePR|efvGV};~E&0gn>89e6$qrYPIb0rar2p9~UvqkH@wuDtF3<nfQ~hJ%@jHit z#drG0m(P_p&ugmw(|P<(*K|i8tDdd)F-uOoI%Va2^aqbo_BG*kdu95vtCgqUivD-Q zIpC*4-a@fj_JSGHcIGcth`9c&xgj(>Hh=c4`|l^1ed4eCz&!i>-~ao5xRxLNeeZeL z`ndOYAO5Xgx*{y)oU~w5h~Q-|(?5&Wzn`#rb-tMM)}v4RLvK$J(-WBSH8oo~@^n~1 z-QG)9Y)Z?-T<^}<r912X-Cr|*-c!4qF=3in>zsvWnU=NsN>90OdZ|s7-EUe|z}HWV zoZ1c*-V3I!^;zQH#1(sM&9yc)W;PM;y|arGW(l&L`*JW<<Yb1EdtHxDbLl7B%W*1B z=fdZ=hRrPU<<q{q{r=k<8&3MpR8NX?oAqm#aLgK>pl%-C>-=HXZ^|{RZ>FnV%3n48 z;e<e|C7(T)xrYkYZ&TQ3l6spZVCAU^n~yH@4gF@|cI044s;|V_jAqf=HYSxdGN(GK zo~<aI<*<ZfYs(U~^>1y?DBLjB-j<P9y!O^%vmK9&PA+-%(|6V5wb8pv-`IZt^U$7c zW6Zq|%R3%VFpW9ryR771V-V|HzFRl;{(YM-{B4cHgh^bct|`X5cl%XvpOgPr@ZXZ( z=EIH5+1K6|UHy7A$^84ycDYKg4WH#Ce<hw$=`N`^d3Nd18V0%RJ8$ph5irz#sUfZA z!2NssPP>$2aZwSnBG>9(TJxOPrdX%S{j66~G<m7?t7nxzE0;aryZ=W+>dmdCPt{g( zZD(O&pVH=2mXo(@_MGX@Hw6`&?A~`pbn2Vpmq|;^&9Cpif4_3S(Ir{;xn(nQe^06@ z`1db5zW-VAf@fk^o;3bksT#cMmFvCh-=@uxX7PD@^UIr*gP)kK?u#XtKYsCgYy5+Q zGxS>c&K61*cJUs_6L_<c-$KA<65}&|j=8U=$|~KkcM4~d;@`y1S#(N8?Hc#G`;TL0 zo@$?F>GLb`mPDtNN05pvdzwkjd-nT<`SrhB-*LzPm}K-;J>-7e0-xXUA?HpO_1k{j zaC<}D+Dy%c%9}MG7PPc)V`XG$<Y?|<+5LOwUg!S*pSeIyZXE&320jH@F>4kvnaHYT zX;H6V1%6(&a-GP{Rd*NN>gwV;`Sb6Uw^O4oEdTd3_}wY~8V4mo>!*9x8y>HF^~m*I zmG99;PQSIY6c%h+qbR|%;2L+Tb69uimDAxCHpvcsbDme{W_8QtOy0P0(FV3Fdr~GS z%w=d*J*~OuQQE<}1>*PA)o(1!+2qOSKHV&E7gL8t=X4e2=^8I~1#kWMErEmMrp|HY zVs&Y=imAUgp0l=!T5Do;d_%9U3Y%>57rEyDC(cRgZCbk_=Aie&)mpX>7EM~oddY0D zkNflc_pW6&avTy}HqqxcpDNSd`pxUAXDdAPNc|gI<(q!QW4h+yN!^dHS1vi#nZ8PI zrjCd3Rqf<ClN(<*3%3Zc+*DwF9Vy<}`=B{9;LAbwN9JuV2@Ael)yTX#YZaSir`7jE zUFor|sjYppeZ=MV?szYMq^R=n{GtyZ7FNvI;gOjXaCP04KT-Fl=p6sSYV<`SI5yuu z!J@HW*19a-&+LZUva(jAjjL{X=@xc!om>$f9@e!tHvjb@E9rt=KWvI0oN~Bo&0CZE zhqc(qLSNDUl+W5F!ZmtL#=)Fd<kE6f-?|$d546+?HS2$8wx{vW9z#9%DBc(RA({E_ zZ*D(7Rc!jo;DuL>j^$|1f4HDnC0R<7DXO@5t=cnNwN&S;N8Fe0vd;UxH*0@1^Nw5A z&%=wY{#w4YpIg0yZEb&ypLAuw50fcPk0cA6JkOlSFgT{T#xp<ub?v`HmYZz%u3Hte zru5~4?;0QODhFxIw{4iDb6`V4Y<2sQrq@UJB|TaDmRps<;H4+mn%7K0(!ZmY-(Gv* z-jSIJr=xE#?NgNwiPpYqvG@Irrj5I<Df>=&cKiO%UAu#7Z^r+=W!__JSN=}s`^Elx zr}?V)Y(G9po@5=n_`#mb6ZAu5X1DTf$>?L~DSyK?v(B$?8Oy8U-yc$5eB8e7fI!H< z?dvA|Th|eHa>awhV7X7W8#Y*HPIL&H5LMzlS*cQYw}_x!lu6U)Yti*j@BN<leOLDS zza6QJ<#)bCm!G|QebxcHbF)1yeRz_bmDDZvv_+Y$70dFR80c8hD#}xHe7~F8rDKkw zra`WWn|NLYe!Fn2$tCHCnJs^);p%ej<YO0$=2=`|>*bL>*Wn-Wag}5L{Fn!eOf$6| zXHWSRDu2PcMf&Yrzh5R>JB5>!*Blq!X2t*Sonpqp+EuBuon~&#JG^MFc<shlu@~&U zW%q6JGU_<Fs+vFg=`;P<M{2%vURjyt7YHwVw);`-)3V&e%|&uDoe!EXHoCJ2s&P*0 zx$?E^%Fg91MN=gj!&U}=RbX0pe#RQJZE_Pc7d`2zHkq{HIul>2(5{3jk{nhY@7iS# zRdk2?M9aF(JL%@Q*Sdr&WzmLp-&YGWOw}_o>gj#;ME&Rw$DOMKKhEN7f0NR4<MYau zn!3#q$K2;9J<)MI{6Sj6{^rfQ#fMI2a`h}v(|o+^kL>e|x4*BsJbUWU^(J7i<(VzD z+g^!&+@sO?KO$w7*#c#UTAhxT^^C<a`_p(I9XX-1c<ZqslSqCRZplY-Up0;^&s|+@ z8~EmVM(X`DQ_lt^glN9=TF!Ku<A?m-DF2IbJ5<B}o|;*7Zxcga`opl-i~R)kAMw{$ z9I#!k*Q&gUd!NkX#Mg^;<KN6qxVJaFh?|-3ZTh!q`-EIAR91g`?CKg3%FuL}HPtJi zQrTAdqS_PFH~A*HEG4I|@81;q<_(+kU4>af5y55;q8`eeEINGg(BYiB-7>3|9A>w+ zIbWU=5ZoSl@6Me(MuWGhcQY(m3jQZ9tYNvHF{`}%d-kQ9M&(~k-<RM2d+z(4yXF7< z<{EY1IsRnJ&KLgni>tOxu(O~1XTpS|WwX2QX>leAFun6E-=3zSk+5jJZ4hTC)5*zk z0x!0{*=qi3r?ceu2kUb9XV3SDn0v|0ry*?8hNB#divrFqTDkF@QN9e*<mP`B|7%y( z+P}P4dsOsY?IcfKk(ipd?e?$g%Kq}sin*F2x$wS8)Q(pRw>)GhN^m(?cdPIGx|hCf zk*6#L3TKBX|9{n8{6eYt`g<R>(DluG+LZG{db^S<n%NkAW*sg%$NWp&V{NP?>+Jrs zzR{fgn|^ID<*_J}h_wG|(BpU_PnPw_id_qN=4`zZ@$7N$v-k<QJx8C-wOBIm&?KqZ zlVd}pA3nO26npT6PxjqY^7E6658V!3&vt0*8;QNo6LJz_lV@MO<E}BI!RP3f^~%4x zj!2v=EPYw^_2uRh_io#yy}rm>6<PUyB3Fq-3De2;YqC634mL2lWN!Vr;7{UpPf6G5 zSs(V^WnQ;z&7Iuor$RU1*jB%KYI=e9%lFmSuC0w`jZmqm%{&=1Df6V}o@ER%k@p0f zJ5oQ)EL>Oj_s{<KYySNU*M1>W`z+G?PSeix8EF-JpKZTxwuLj)vH4ziXNB4~!@msg zq?xq$tv%h{IYT+A-eJ?Fdb`ip>P#7hzwSHz@mTiRt=_XXM_2vk(00{IZZ|x8r&^|V znwMo{Q$?rD1tSlSzN>aGFYOA--|qJ4(*C(hCfPeYa;_G=slD|%b7SWjv-0zHpXd1g zOtP;?Iq-gOxcBr=+UG32jw?^-2uYCF{h}Gw*qr}SsL-cc<oMZIrbTIYC-Dj^Jjwo7 zc7#KveRoXbmMfg^%JcM%z8r~{FFEz|Q7!Y8zHi$<*l2v7sFNYTq?40h`HsZvMi1e~ zb{nN{G+hY1?ZbSkRUzN({q6JGCjx5!|N8%HX3ni%Cq}Uq%l=0G-n07p8i7k;>a}IQ zKQ5c5#5rueusTiE)GJU&V6jPpXG7|LcIFDZq70)O3fnGc-}=yOanJrq@RsvdH#TH2 zPgrSKqM&Jb(dd0*>>CaKTE{LXGj|Wy$O%_Z%GLcy<h8eWa8LR8S+%{d&spCw-~Uy1 z`m#9xMd_hadrXr2ruPc1XlC?%c;e(D#a)8Azvl&Bng8TUX^=s4=dzO<ez$8+zIH5a zbNS;FU*%iG9<28W?*Fu8j^DxHFGY(x@9A(@Tbp0rdiubH=bSyMNg`KvR?6r8QtsL& zSlrokbnR!xb23K@;tu9Wc)iwCf4xm{-oo48Zf?(XIV^jrxS&c`N-pTmq<4#0YnLrM zwzJ2uGVlB@tL_K<FQo)D1g1`QEbzUuEM;QV<R*cgS&}8a(O35Kxb-euyEfV{(rvxx zd{)=pc9t(5a%r_`8Y`{-W?Ek#H^+RU{UZ})H=%?TX9PPowU`F~U;nOs!UR6cymQMp zRxWuR^30!i-kZNJ_9ph#N-J0*i*1DF?y?gK4g6UCfqx-~Z+oANPjaqc%BxkX{Qs`z z-!M*YC|-GRnflV*j~<E^ZIDXW7CAQEs891@;)jPC0w<dyE<VqZ`c^gL$;vwZQ>-C! z+ZdEyde>Z2K6&nli0A7`j@=HOn-6bP&&-_|v2BZKXU;Sgj$KZ#w+7bU;Nea*nqi?9 zWq-10)k)6GygN@;O4(N*iIR8km(^!keb4sOfyrhG%5zqUTjid6Ex|8zr2Xedmiw>H zikX~~Q<L7d&4hJX-3&g1UGe?brY%cgew0<?wZ_}azofc6`&+}eS5G`y^G-k8`${u^ zQ*HH{n$``InDSrU*%Ew;??cT6^&HPBcGoo)nynP-UKvzxwT-pf@sIB_?=!inyBJcx zT;AWJ^y2%6piS=ISEo#PC0GBZaBunA+1k9_{wqvwTnSN^{pPDwa&4E`!Vp=;de(dX z`pMp{XA)l*{8JEDkZs?}uXxq4*x?tq^O{eNIU5y^+jexTq~AQY?)}10@7aocy~!-6 zdRm@}TmEN?zn~YY|2LK+?k{uF@l%Zk9FAK`zMm`KcU$bu`*%BUJG(}0C^c<*_~gRM z%%2)l{$12au6(ScBYdT;k+W--U|+`>!S>DsrY2<{$;bIunE6i?hKHF&h@9*0oUrhc zi`It?8d0;iyWLDyDq5xC`O%8kHdA;>D~GH2u9v@J*nQnXFU)*U#-aC8sm@S!MO0)> z@#+&5MoAl$4m5JykcmqXVXnNgc>0uL{yCPF>;<-Oi<#%vu3NnBs_%U3z^^YuzWRlC zC#bcpy0_fzAj{qrJwiT0Hs_wHOG_-<@A|^_TlSsw{cBEJER^?2c$IK%yIuC|cf5MD z<nq!cO<wBwulZot<+M1X6|DS^IVGyY1eQFgbN2gEnX_opzop;Y4ivdu?-8@Qz@62; zp}_x(Gn<*YetFZo$S&6Olu0i$S60WJu2fy6cF+34%wx5_Q-oi=erf-(FM9IowuQ0h ztzN!-U2u4@NX(*FW=^N#+)t(*KQ&+O<EQV;&xNdVE=bA9E)|qfI@e}-%fi*m&0-@* zYWLy`AM8B(%lmmx%rLFpwtC&o=Wgjoy`#Q1+}^o5z)$7gv14H?uFrRPxPWQbrAcAa zcNQ${Gdy)Q?5g(VyYJKd=03f)E?U2FnpS*pedtuPl!?_G_pfhpR+M1rJ7MAcDQ3?E zQ=_M0ThoP1CT-p9C)l)5_O$a&<+CTtGWt`}mhZmwN$dNg&)K3MvQG5PQM#*f?eD=E z_Y@=)OkRgGFuZcv*&&>08?3l0M8MZtqeGU_;(B|6$5ErrnKH==6MVNFRPo`vZ2C^% zlz@Jblv(P(MXc|H=l|KV`f|lp-`8=5w#66h0&G>LzkdB{txw|b9)m#6#zHTSMVvC4 z>6z=lZSmGvwfOZB_v7nRjpr_S&S&|~F{VQI-n27od@R?S+>hst^j<AjaV{Y>E8<?u zjimHMbJMG{FM0@yxONAIrtaMRpa1)g^8L@5m!13aCD{K)g^fpk%3Xnr4qH~voZQIN z`uNL@hA*jQFDfmn<2N7D2t3XA@7x7GNv%2CIuCOs<xM;HX=BDs_xm{+b97Rss$FeX zY!A)qVA#BwQ$lD`Qtk)NiFU^nWu7pK*f%7H-_4(5_RsNavAc$K|Fz!_czlCGueVHW zw@B~jlloR;@_WN+<>e9U&n!sX;`TRlNn%p!)E4DUQ+|3|$6Uzo=P2Sd+Hgg+N_30L z>pubPkEK*JW@JvE>^fa|TIKXtU(X1<yYw}Q<0MDc)>W>Djvc=tA?3I??%tmXbG|i{ zO!rl~+N3?}$OEk(H}6eT)V%#^k*G!f*Ot|}Jv|z#iZi61o@`K;IX3yBzK8FrNe*W+ zw*D-cogBz^*Qz76=8LA$zQamOxE&INHIM4I)R(=#XPk3u%gW;st?QpQ9Dlg;Rhh+& zC8pgx*-MRf#Br`K@eD|D5ovaad%7X;G<UDv;{;Bzzt=YZXJ%EN-2C5BAv1N}g7fop z<Q7hquzZrY@=xF=FX4+inwD;n6<fT0=P!EK?zA>=tF~OA<;v~R6E?j%AfUEYJxXMQ z)WVSa<r)8FCe&muy0?0{dn`K-@5SG(zkB$yWTw~~#v65s%shP}!>WFcnbEQ>)q(4u zX<7u|uIFk??AoAn(#g>+L*~Sljtd_zxf=AcNxX~tENivgYU3_Whr?f`%St!gcb{d( zZ{+7Az`RgMGwk$^_HBMQH9Wd*aDEXkxYaIl<(uJ>_H1tsp9kG}E%ThObEjI^`OKe~ zqI~z#<!L*(_4XW@8ZMSC_e*VJoT_W|WsWb2Z(~y)-;jy#3sMj$nbVTW|1NYt)1s7@ z2jwr$yPC31c;E59!$oz6`3*xJ%N<b-o4Zm^(e7ZB^diM?6H>DkCujZ^Y?3>*d9K^E z?6(r`ESjd7g4chr>MI30JMZP(IL9b`TJ)|bA*Z!Y%B%<tx~(eRYH(R|xoh|Io%XWR z|E0}Qmgabzyf*CDydKU99@mWy=Y86ix%<V;oU*{adyQiJK|b-Gd>6^AM^^KzdeuX? zG_P%wxNXFsIqSObT`A{7M>I<&a57DZdV9f8QvT+$;*9IR`<iT5^B!OJd^6MI*3Ek} zPa3{CXzqFYaMaa;E{CaG_Gnf+Tv)ng*P&;b&%KT;+PpN_NxgSc-jx|%3b~RzCo&BM z7)$+ni%z}$B_oz_BJul)in3QXYK?pZ9U5b#|4J`^EXY%8xbKP)n|(s!l&sk-;u5y& zm|INhZEI?8M?AY@zi+v&+x-jr=Q&(vY`qgb_bR8kR%z+haP{n2k(1Pdd!+<lZ<<;< zHGE3E5jert-kmEPc)YtS?10;c<*#FdgEzm~D)YF)KK%8brK`KI9ViRmvfpd-v)e48 z+qs(7ZP;#gYr4#te)IB_B_8$-Y|p*aPMhdlQ#zvcjcYE~n&*6$3B^COqy={@x^;D_ z;T+r8RcpD--sP+<`~7YDPN9v<7H^sNaPF3sqH9(zym+E;ZWd=w@Z4#oLfW;B^WK%o zZobWQUg<2u`l*}QU-2t(G=Jwj^!I$-jn4JimxJY=w}x(sb3AiFMq#%3i+DzhwG#|Z z&fM%9t-h2&pxN-}%cS`9?v`ssQ&jgwzdw5;?*7e#;u^E_Co2DNUp!~;@$ZKvTe<Vu z%B)i5JGLp*>*NGSA6_sq@b~kC$qx5!2p`LvF8e8#V_&V1NcPRl^cCCopWOT7&gFIM zHpOL4I_t)>Hry#7F0AlM=50IUz9xS&kA^qpRr(h;W^DYd9NOgV=`FoQ?cm3_=KQ6P zc~kE+?}&bxnfWwFBkM|M*9}Pz|MST`9lEk_H!RpYOI&&?Zvtak!}P7*J6hitAA6E@ zC3RB5NxAa-f4_76nx@cVw%+mPmH7=50v(eJXFC=>6Zk3lqLV%Nz@KH!4Z@1N!j>-^ zBK?*~D@&Zcb&`oUE$eaY+<$X;PVsNbGvhaEK3l5G<#tJjV}@yZ+wFa+{mZ6Joppn0 zrfnbJREtg1@>u1}-bc;W3!M4Qkwewx-;J)trLF;bbM14g|1#b<FTV5U2D@yg){Zd! zvTYB3p13A9-Kcg}_LKu&-9{N^Hq45A2Tx4>sI<%d_?%s4bG~W#hA$G6*VYiRJmxo7 zy0IbErD)v(mb+5guQ=;du1OtY`W<Kg**t*PKENq*Ta#*ag!GIFjI0dHe)GQJl8#i8 z=-O6d<1fYXRY2&ImOzOB_j3#Tr%y$-pUG+H+M3SGIagKUz9V?L&a^4-=KYV@Uw3$I zO!xHgJw<CDoR|EyX5y*1M^A4=9e>szX_@@%%k=v{&z;`(_d&b;&u6o~YO`)us_fq3 z-j%iM@m2l3FU97*`|`NvRI}Y2nOJR>jeMzxc$*@BZ@t%6s4wBlDakcyrbo&e`)m8- zqvi!4l<Ij@7a7^PV1iz!LyJfKbi3VC=T&^L)nIP6Q)s#7#i*m|o8cS2L|ZSAzx-Z= zv|7mWNxt5zIl78gr1V`mIPve6pI2`^n(EZu_d;T0=gM_HM)MUVgg4prUEOZ$*tg4U zKJyK^N!qg>TIgIb{<7<A%#AyY=gSv<^X^vuJ!`LV;-ier70<ONtlTPeYs*Yw-3@m) zWv&;rKg)Kr>YL*V-k^)(GY#j>{1)KSrPNe0OILbn_USi;_h!9zPVSIDws=A4LH!p^ z{$76ymACv!mOQj5`@j?9C9}A=uWE&dCB477gn>z#HK)Hz>Y$<DyyJ$tmG_g+Ddyf; zCzzw0vnVQkc1xpMPlfN=-sZT3{|Wvwpe2?Iy{GBr{Xe$--(~0PCzw~o&0W=LFBvH* z^>?`#&*!+Vh`@hIo>33pF3uOLjjrytj?q$IWWR)CR<=OkVqdrNC1yea8#@29n=UgD zJ|Z>qvWp{+s>+<@W`>>%SI(K}n-%Qv=#lM-gp(=)ksZPI#mX~t6#@z)B-dFcee&oo z`Kz*4&T?7cnYUs(cNEn9>NT7=_Vnqr-YeY1G)GK>;X+~3q$5#J9wb!CySXrGFWb+2 zn^Aq1M6YbTU#!5)tp{1IODy*&xU}ed*NKxR66@j~JG8(4Y;q#QUFfIw3k#*i$8Pw= zWt(Q7;&5U(V7yDDz#*#pN+s`hF?qY@Uz1Afcr+CZ8XA%vnZMe(n6G)49_n`bK<}Sq zC)0Z?3VbzwNE%1x8ty4m2xvb%v;E+e)sknMBg~Hf)m-}Ysr(#+ysoLrIdLWVOJ*C? z%`%!NE4cm6uiLAnVo!@n`q+uzy3AsdktHsxvFp)K@wk%ryB^i%oxN2Wwo1|4H_$rx zNda57huzlQ>9-d5+u8km)O~;7`yKOtDDY{pU*uyv^Q`;z9_g#e_pYqlD)REZVK#@7 zQfc<P=~FEfN>9FE?*E+nTDzfWXTF=y<Yb@IQ}*?UIk6nkP>c#J>`ZDs9<g_aqhwik z)}Fgj;+iK{>cwwfBt3i8nmJ7l-pg-Xzf+!&%l)e4%({7Dx4Xr5XbZ1jv1)5+`ev3m z*4Kv}KRmIpS78YhW#U@5_x=73gXi9FWk1bP48Fnfb^7uS+j~kOJ+?-5L4DS#4@+3r zXy#pRoO_K)LQ$gb{5NK{$)B~V|1ajB=qq~X(zmN?UkhrN+B~`v5v%-->5uq6K23{5 z_a^jCo+0q0>0T*k;^s+{1sO7zetscxQ2)D<qoaAF({6!I4%S;!PFS^`F}yBa(j=EF z?;-Q}|Bp#ZX5POe$_}eddpS#pqtWPC7H?ShY~{e|%*_#c|G$7&3db=0=H{+8+T`Z0 zJl`T{W>HtfMboKv-0CeYp6|@#1TIB+Jy@LE;V*k?Pj^?>T@}~0tjWcyKNKD>=oQds z3R{0m%gbAfWva67s>7^@)H|jKm`;{_xW#7*tHktehPM115=OdxXAZ{{ReVW${Zk@O zre5Q($J+_L#!fBT^DE`U(k`!(%3C~pS=_7G+hsdmeqOd?rLp?XL$T~J`aMBUce)&& z5VdBj+KCj&jzimc<}N7jjN7B=og^T!C@WPb?)n_<q8`CBPqzg&Hz~a?{3NumL;Op3 zmUQit_7sOjeHF@Qma^DQW}CBaq8H~L{iVzc?0Git+s>KA<<uZ_(fWOmw<L$-7Y%#U zp8dtz1~x3($Bg(DtS=X-KjF%{Eg`&bIiE+G<2L)WI~kK5cssJyMYN`WoZs4TMsT^5 zUZ2<er~TjWKKJrkV#2mE;JbQgW1`A+_v;g1Pt>@_Bq{WoYlpb|J^KsljEY~Gj(g6J zo~{|jx5C`6^MI=F^v5k0d6NGhe)(MFE%1MXL)d&1*CnpXQ&!gBH?nY^T~M>n*2rsX z(j3JMfpr2Lx4!Jr%}6WgcWGVY8Z2P`=}4fKyzHdQy=RM7Mya1@DSNG5U9;|3q?hsT zjOhys5^dUBF0HtheQ@zT;k9jbtc$nYXI%e%m8kch{Njca^6dgUS)2ad&3)e>WT10o zvSO_{L-y44hQ8KA>T80%j7szjZc86Oscfoy@NBHX@u%5Nx4Nc>cb!<OnKD^z*Or!? z@R%Pvwzjlh{_P}j%lK`rw0i9?1>*%(wVN0XckwxVKCJjJaQC%)3tYs$%@qDKNj4z- z`5h0pHCuhIi+^Ecl<L?L%Ozo9xA}CmO1anmvhFnF63>jI+DoKAoqu;}qiyH)?e8m( zutZOsqa>)huv{Q{aY$YEq~19eX`hxk&U#Y+YB{gvJI8x<xi@N~x97~fytb9ogtf6H zV`7|7vP|~jjT0vRRB7Vz%u>ubr}j>;CwfQue#f9I$8T+Y7$~~fw~04n;@+yok{3^Y zOMkX*{@T^9`pl<!5;kebOlZFlD!e@;NN`*4*AVNeubOmkO~?}5bYh-etl5N<CQ?QY z6CNrW^!%;s^?LH>bCL0q&$@}7k-{+_|8ebIZj`gSxbmYAkKp>{?N{%4&*py_x@rE0 zi1sG}kG{m5o9ok_&186V&OE!>^DnWetgXNLT~5*Y(y|x(rl03DS$E%9qvd(QnTb|q z?MAcZ=CUU#{xv#u<<E>iN4GMrd;V8(>xD8Vm#jz=wv$zlrm8-e!hGZ2bcH=_mIet4 zk!L>q6qDiMW9;ClxF)vzcb3~3?~GTA=3fXCt=$*0PTTa|wQpwS`@QsTZ_hQK8F7A5 zn8M1k9S=oxPx?smDTmp7SLV$96mxLmu6t%VPCYMPO!UnA^+m?;%4L_Bu8YsNgxweZ zG~sdAo3NkFrcMWruekkXUCP&4*?-xx&z!P7<{IE|ydwIPJmW_mR?GYURNGfqr!Tg8 zdPUd!%B~F!>?y8Fg@R6!t3oE*-MF5uqQi8-#qzZCVXK&0=Gx<dQUXEx3k8-X2A)?f z{^k<$tT@<xxqM~M4oTZh>=p^~d!iPesOL{vTWokxe74832Bj0Hc>gBZX7d)Eld}zI zSo60j&AB`4rGP=<gp<4YX1=_c_xV_CmT%4_kwcw%hi<%lw~$?~^!GO}_PJ5U|8M>} z@?7ZWZ-=SZk9pSSI+Q7?g(>HYUMa}s3%b2*PtU&n*Vtt>uRPfOb??M@N0SzbUkRc0 zn;XJ3qWz~YwEePwGoRvirJZN0vZh{klRZ2A=ijXx3hw!xE*7ll573*L+^6y(Y{7wA z*`@CoTcxDl7*(C-jBLo?Xl|P*{Z+SY?j6nI=YM{^OrN(~)BD2@58YjSt}k7_=jhFu z*;#o&>#EyvPeyr0zuz9$jE_Vva9O*%{QcJVhC$ON&U*j#oR(*oPhk+F@$)VTPCkwZ zappy5lOh+zC45cKb=syoyG3XAEXlw%6E`o>a!c_(|NfwzNxNc81$)*L%X8faxo&lo zzFO!LzU<DLhm3zu8Tr{~@2q}ya`{`!#MvU(8rHCiG|aMIyw102;#vQcb8gqw@+Ul+ zboOi7rx|9|8c~NV+s^HdGd=U^mRa@P29^Y&&ztWuG;&y-e$?Bn=b+OikaDlp_}X~| z-o0sWTviz=P1>X&?YH3kqWk41Up!uM(!@sP{n6Z<u#M}M<}-eFo3T*)8PAuQ6>{^> zp0<)&m%zw>D)jBzDe@t&lOJ@Y-*nEhFXS(M!1(+SW5t7q_q%<zMjI4#xo2{GP*6VE z**<CG-B>4Wms89_$1DTSG03rZCN{-%eqlZK<hgXzl{NpKUYwaJw8_qpe`=W0io)yJ zHR`1qOvZNn8w@w-zt-ScP$1{|QS;e?9oJc6k6qZdVA=!U*ZmJg8IPR4_i%Ii3S*V9 zBOBs;zrA{;a^PD*)tXnU|7P6g&zQ3Il&fykVU}w##(kW7eAdo*e#vUu<hkjeR#X-( zN}Uyw_EhQi{W#ML>9g%BSPvcdoOtk<=I1o~*>TPn&N@h*dOfB3$Bwxh=WJ5;JmnG` z^hhPk=>CNrvAfG>oqBL%BWvE>S*7nTvdf2Vdp|cWBY91Y+Vc~VGd6JciAyJ+m~L{O zGo>_^^VNwZzKlT!nVvEz<mGVL-dVsAr*va`-Os8m<@aKKi?IsCrFgBa>aF{)d@QNo zp+b#E&PV-#$L@a;3Vb&63+HVXJ5y3!_O|rnuJX{SrfKfSdrn5zCxtzTejVE$@w9nQ zJh%9n{nLG{>gOzD)vR`mX^j#Vo_5CZM!18_Va*8LpP`2>Y;M$CNo+4#dCg2{h26%N zd`@kLUdr^&`Fr1Xb?{A&bEjm^ZWJ~zns)ELQLJUQQJJ*e!v8wj6E7OHs{Penb8zo1 z&CADkIv&{)lv(mVlr20mYR${k%gjwaP4%+U<_-V$PX1iG^e~4~iQhv9kscZA+9e8k z_uoC5di8_eG|?Bk6g9p6XZFw7cX*1W>T3DhQJYf?l)l(RY)!cl+ZgzG^0$|pg=b87 z`?#S|tkOTl@8b5h6zAAIt{Y~bJR(=?AOHU|<Am}TY4JR)967!p^w&39Oi@ffu_r0( zsh#vf)(NlIO?ks&S8_6Wq2Hg6jn%5VHXij-y;Gib=%SO-ftfq=BnsYHJ8QW;Up8|E z`}O_4Xa2fvtovCz=hYO?rbP4nn<**FmEBz4Of|PL<X>o4%Mx#0mb-b)HIB9@uNRN{ zHBW3zxVDSo%t=nS<t74exX<$^e$iQ+WBRnq%wey@@nc&P)*fQi)YRJSsOm1VAd~ZE z&+8c(hMzYdTT#2|bZEzq(D2(j>PoUK-)746O_WkR+<5E7>QJ9A$ChO&H_2VvXgwu$ zmhqM515;G}CfGPhsu)<RxHqNm_V+n-xUuokh2-28%c`@SU7S`LxxE3=QM1(8p6&F! ztTt0Qet%kT>4GO|;yZ*g|J_&4yeOurA655$;)2C}7mqc*vgMRI@gb1WMX}d5eQo@& zJ3Y5$7cQ8=(6`^&@9Alm`AjYRZ&_|VT_dNPG*^(h`JvMu$!{xmN6(dWs@rq<Tc_uW zODEXB3hd)o`=P|J*~Rt!!HNrVoDaTeoStu3-nR0o=0k}cKPGMW-jf7g4lv>Izvys{ zAHQ$wS*$lz)LXYH@<{hf<FwtC#r~y>KdaoFsUfOnDfjGgRi^74nVJ4;u1@dmNi3K> z-|eZa*M!9A?P_m=wrcl&DK!YpY}Slh<*EEh$+`98hBqSZX_1T8*Z<VHZJbkRq%3({ zy}4-xqua|4h2RGzMqev5_f}5wS+J<hnA=Qn_I~FN|I2)Jw8cx#A80+ZC8zw{&*zdi zb!U1ys?~aBPf@>B@%+GwK>3IVcPs?wa6Z4hn)l>RhMUO@d*@XyXh`)@_9(fi=Xu<V ziFd+9)^FR_1Rm?=Io;tkAuXUZxu7eJU)jphjHQshNnrl%w36A5Dg_t6PD(t$@bhEi zzj8MR?pIxQ4GwD#Ef&ASKe_E{@#m*1o384g{t<9)r{nd-D|Q?@C2wT4wmC*G|HS2% zcP>+>ybay|MvR;5_mr=Z(R`BA?2_m7$R~#s-ePfzv1YQhOX&L57<}nS&@`o(i~G2C zn+XVt3hlJrz5Vs?5Xp1%zL-Bb!d`fxr{~LD*|)NJe^>S9-9BcUwfG8$@7nuerP2p> z&sc1g-&9q5GyaQ1@IA&wPxrNXct!Ltv&-=+KlD#>diQ0Aliiifxl(5%_3tvsSQc-J zKGKkP;fem1?XO*D<*Z1b(2@0M*F3g#=d#OEiTaP_d$+9I%9JA`xw6sum9e?$28LDJ zg1XOj?kZby&Ejj?>wpWlm^hWK<wad@`UL-K;S=C<?pY#szHW|5X44P$%)B!{K1zws zdRq4GM&jSw-D3J;Pi*hpEq^~>$2xWXhYu~D+G@9>4zL}~o+O`QF7F`l#>+0^pj7T0 zF^dj;2LFa{J3rj2TypBR;3=lMSyC~aie?7`<eWvA(q(F5s^jlFK0Ynsv8GLxm%sn_ zH50Ff8}jSa4;G%Ap|kSx)tzf(G(EV^=?gwrH?u1Hsxa-;h2S0S&f$q4!V|8YnQ5LE zx81vT+0kPOV&cKGU99#`s5ekZxwEY0$?=aD^Bz9sWj?xg!MBu~>s(Lf6xqg~IitdB z>*0U?!p1ERr$qj`=j#}G%<4On{<Pfe$uq*NO2hx2+aB|?zOW{vKDc`M(Ua+S=E-`k zo&8W%%tykJrHQ{MJ9YUq$8O7YZyFymoiLpeIxVZYw}5;4neTp#drO-4+Njuh?SIT6 zaOy@+isu>LWhDv90nIv3Gk!+}Xm9zZEwgu>_kO$Ty}vfEUef1w-sC3-XZ3s;E&F7P zDAval-#P^x5-^zC@m)Dv<+O<&W6#wC372m3t+5l}aY($;m9Ngl+bzC}L-JABp$GP| z(qVsZ6k5)!Ts?{5k$CT{*toDBl_du!eQl1{J^p{DlD_Nvn|n{o959sl5g~6pQ&#)v z5);Y(RoTq)O{Fb9PZMjGxolNQnj`&Xr`8f#`Sm{A{8MzVO`Egx7r+0R<U>b3N^3N~ zxfi!$+mXHNo;Y;Q$)CMCL~PE)X%ExR%v-XF!K<awY#)<xeE(NJ?vT#voXCZLUt7y% z+?83lb>>nr{j`kDWiJ;mlRdNDwQJh~xs`f?k7g{Myu{QYf#Hf=k^C*ufCE$7Y^E*D zo8-sZ_tj~o)DgRM-A&?W8(HJ)>NC%C^hzH*;mf4a#GsunU{S4daM@Hzs|TXzPpo<@ z>^76lxvFT{?QNy)3%!KZd_s6F;*8hHiyi!WAkbaX%KQJlg<;lPi_V${q<hXe#k_#A zHmQH{>4vOX(@!teJ<ENiVaCI5&QCV4Z*Tq*`M*YPUU#kWA?Z}j<n`<~w_4`($5lSh zwZ9p6=$)bXT?^|QGTF7s`dJ!Xx9&{nOO0)M!h6~D=H|^ObfdR@X%pW3>t5A+t0z0+ z58Lkku!y_vP}(txHF0~r-g19!3Kcb6HMOyn`{L2llD}q&a!-}KCYQujwzXW?@!QLV z#oJ=1EJ`xj<r@?*lWoI>_USKeMMF{#b4-~S-PDny*yR>?ZnDpe!xJi_&TpTWoFt-j z)WD@twqsw#B#C2Yl3FKfem3u{jh|vHF<Yu;snWwmwM&)kawkvwnQ?IKVpbNJB2FW= zz$!W6V{7Iu6KA^ot5MG3&KUuAO@&L}0@UZX9yoGZ<JZX;7FCIriK~*28@M<g6G@U< z-mq}<ti+1FYx-VR-_}()pb))(t9esOpW@4NdQ0z#moz*`Te7u|^=3stv_+WG1F6bQ zJo}kfofd6!vi5l>xBhNVYwm<bwxX%VHWg=0<$rv?z9FXXb@27I_a_8|2b*sSY*Kjp zD4e0(Z%)tyF10>GXAd*hi|Rr1tpjJ89$C0&kB)g+&AzL`nX8)}uBbbOH7zJ+nr7vA zXzMKXdXK$_(~j(II>A|4^HV#%!a`GXqu?U7X4@>6d8;qF?A$cTD|}gwPT<p(Oosa% zYn%+_`#=3yn$0+;G&z9V-8SH{;Y7Pue#dWXsyzjgO*5pp`Mh^Ucu4Z?*|X)EOv<$v zCEB&BOIHNPy*5+Ty(+V+Fyw*niyK!?6c-nteR*ltjT<4^95Y$BEWDhQ(b2j52LnUL ztjEy{)<_x7mEU)?c!pqzqu&W9#V4-X(({e8`)+SYTx%Dyf3{h6m$#=^@%R7#>b4gh z)w1T_pXi*PIse2r*55ioenRdUeiBzyFJ!-eDSP4X`z`Nyj=cyvo-QT-#OPEoOZ7*s zzlzB|)7c!Syfw~cUZ>fzCt_j8#8cO5B`<t-t&phf|Hfjh?4@&|bGgd`{U!w_O?zg> zty>>T<xEOB&&s=`Cpb>)iL<QU|8MW(e|_eRtjRxUE?abG{ljH*ORq_`e=aIEe^8^h z`%lsLqxv;Rb?yK1bkDkY+U$7pA@(huu0KD{X}lDCW50ykvVHF!i`z$^f91Q(<=OK3 zjpn%pwHy;?Z&}>_WY-mAPq8c&k><+U+g!ILd6SdZzj_{Uq4jg;p$f_3Tf#*>22L9i z1NOOdSJ*xg_E5?x`nCJCxA&bzuEuv)Dos*3EunT&Aob!R=P!PD{rav|8KwpZoZaxC z$>;t(_nbgUCTqLgRJOB$;a4<Hxm=B8eXP1zhINbVgt7)p#nlh)6rN#GhzXZipE0Ao zS;WFlK5@z>t{yfG#=mcmtqa?de<q^VAx-SC`h#CL76{60O3mE&@BDks(w?hRmR|fB zx$aBDGF!!0O4cE9fyufd2cCrQ`(Jy#?)B~aH~vXYJ6%}2YR)kZwF@&BUN80Y6?|-E z>FX9WdG)Rrr$e8$3r&~dKeErHce<>#S-i8xvKLXm8am!giu=!E$+77?%gU!4IWDYq z4~}~MwB_8>y8rC=eoHFHF1mF6l9H(r@0$y?HVe$WI<hCboO5bvNtn^jnq#4H%ATcY zjbV$+1C<x|itg83>$&`u*@#UcqH*2^wlDjC-Kx5-vq>eJw{)wO=chgamcB<)96XNw zygwJRC_fJl4_|BdjxRjG;M}J7fm~@Pb(~k+i8_!W$?Foo=9zD--39&!>G%1>4qSS} z9{b<qBd?f#?27Z|zI;_nUxzUipVIt%x25UjyO-+oi}m+?m?WOIDV%Ky&%Wjysgi;Z zI~|W@FdkN$_;L9u&#Z#>T0t3snj0O#YniX@Wwki-pHF~o4ad_R6SgxqPE|QHMNpDQ z>ACFMPYkN&DlwAFy;h!|&g9$~Ze@Pr%Hp?iK|&mJZ4BxTw#3|&bX&uBy{cExF;{-c zmh}GDZ9m!VZ%lYx*K7V`%jM~RukYF_eJ9x8{@u0wh_|bbYAy9+&c3?c|A*xP#cmmQ zw(Qa=w~o0<9Bj^vPg&5x-!WzB{mA(mH;s=dWrbTf<{J1*1?JwCSdqfHkBvu1Vp~?l ziI^_G4M~CjFJ%il8lDU>%1zZMREnCpZ9|>oH@|P$O&q_@Pr3JnLshl#8#}+(vygMU zpEzuNBGVlc8aef}*zby4dn~1nYib0}=0AKuyy}srkysn^hn>xDWRKOZ_?Y9OJePa# zjy>lyQvH8@Sm&O9mv{2CjmtbX&k9`H=Wn3Iytvp;XjWorajhOl#uc?%ZUH6DICn|@ zbJdrvuAQ^+yUH)vquB8>@O}~htKcnFtfggd<gW7{=5yf)PrSBA@|eYge@j<P^NWsM zJ>~9;wf5id6#x4izJK4#dDnM@^u4}Z8t1-hs_ga^>Xz#KALoZi#$MI=YAJA`;YPZ1 z%9oi*i(2J+<n#~rsrWW$8!pa0D8(`1o#+bgzxOsaoiyAQxGTK0cha-BuPhS-EX7}2 z-~W4T?{fY4Z``|7Gv>aTq?|jcMD6>Z29HQ)_Wq6)(=<gqe*3;Y#}v6%GR2~j@2L`V z7KexCQ;wyZ82oM;7r#5%^RU)n(bS@_IVn9i?LA)|S@6H&M}dmx(M{LBpINPM8SpCF z`sowSH9zNhhUG?y`wH#qloDKPcFOQt_nE`}lAkift3@WMWR<lwyu8&cazOH9(ITZq znfhv3`cE@`o-az>eCNo=$)>qJms$J2th{D>GBxc<*0%4(?|!Don^+5+`g|+S*yNnq zY}TVJTn@L?-gDc?A9yrnvd)2PKaXVVt7g1!G)Z}yHv3wA&p)}=9X)-`y)WD=*j)N@ zZmm;3xVfW3f&Z6+itaK7@eiqSb0<tFap_zwyy<n}4FwzbW~sUE-!e{2GIX1i^1krS zqeEQf-)^SYJ>HQwqy9rPujRYz70s+K@2YdG+r4PZp}#-R*B4n|T_(8p=q%MsQ{D&j zMXTF%OD=Dn*!Yz9WV7V8l*b1u9OiT?r7^sorM%_MCI2S}B|h8!I&k2i*{J|WhPDnK z@#b8g%rmSXHpB_9eyp-kdfj|MOU1+AzM9W_{JQSSls{=Mg1pK8+TxSu?K@WEvewOE z`GE$5sM##1^X_em-n@JFog*tB-+3Y#eAngV6hEoy&s9ZPSC>kDVZSVLY)4kxmZ=xK zoL5Vvh?|)NSe~2xBKBBPi(UP0g+pPEpKY6XcbDu_*lH1bZ?bxNnp(6Q|7VfK?)S61 zSrm3<3NG$FdgYSJBOwj<$i0Hg`F=Ufp3ubbn)}-R1(L^p@mFoySQ&G<XN}23UiAov z&HhE}laHlI=fnpeZ`o@1)zZKI#m3|Eziws6sO2BI%>M1o&9|#ot@6puZ}F1fP$m8P zweRy^9qUwWcNXqiSDECgKWqCP-`QsIQCB^=Zivh|aZ@zIfwjeC0=L8+w*PWc&$i{> zervWS{`{BS$t&+jf8=B<Jfl9Z=Ets;!OQKM&!{Jx&sKeRag`sVOIw!6jvmn%yX<!= z)2-FqKi^szS{)g8e-nG-gq(}T7JnW{%j`1Vq+yuFK8JJdWHn8>Lk8{+M}+w^HG>1R z|9&f2qF2p)+}R=XklwBCwOkq2EiPNVc{eUv<x;=c^wR0ILM8!+RW05MHXZyqA-3A` zaotpnM?B}+9<WKVI!#e2dVMBXZRg71^i{qgdvEDp&Ff2(oMV)|u=?T6=XWRf+oygy zBDO>NfWV|nf7X8b9o6K0YDQ+_m$&Iv^?TWy4A1B$@c-1~T0e{Jb6tzn&WZ79|G#9O zclu!>%iOZWhxuSXr`oH8wHMwdxtOif{Uf_}^Mu`p|82Xro#Ex9stGv)I)Vwsk64&G ze3!1^35@Tx5O$2{+wvg#qH4zP>Hf7fXBDO$zYyF6x{4tFcu>TSf`4Dn_MXi<nc013 z>ifO7Vyj+S-+i)jvd(L^vZToZGiTW(2bgUMoNJaRP$)WI?14+?vBph?M;4U3tN#fw zH)1|gd}PA1_mg&+muBR8yx!SzNASq6RaUpzmdZ;dJL+C=KXB?ts=|toiiKT*Mu}oq zUoA>F!sh;AbM@af3FqWBR=Y1UI50IdOIZ76{Q<X{c^hk1{#x0%bIBw(Go3Z_c;B9# zw*EF_`0QmnIGY6~Xso`RUD<P`v{Nnl`c|(khD+F&&b%jeEy7m&ev`cZ=~pv%9Jpf_ zaPWrVqYb{LRz{o&L26osdmB4e7Dvs!tKg;oKI?)eN88o6Gafu?mTjB*q(@SB?zhNU z`85aZ*xgoD)UT9$GiAz@yV2Wocl;^UnfUmhQ0+E38Hs}ujdI_!QkGns^=!js@jJ__ zucfceJM6MbS^9eV>1jK>g1RjCKKoTRd4p>#uUTDf>1LV4=G29yre~cZZmoDZKcI2u zhef$JcYUilc;V{3ALZTNLAs@SzI?)ye=lg7ypi?iD);4`(Tf5%yqTQv_EXjDo$K6h zJkAl&J){{G{-S>J+l~7;p4D(Ko^HsR={TYFYsVxB6>lc#SNr!VKf00q$1b&YVeB~- zqx1J4%yr%<bS<i*YomP5t!eWd($4Sn@QSm2IP=|=;O9Foi_c$q$zlDmq_CYEe<t5O zlll41F<$Ar%KY|=s-K!F*#ukPc-!dvu>4JUaPsAS26{XlQdxb!q?ZaVo3U}-+Pml3 z-f)x#AM-Uk6P2DXup{CF(^i-1r@tA@m8i1b<@{sA!RV-f1HU5{I891?Te<Jcv0IC_ zouBvQ^X)(H7Koj{>KQh{#dGz}jc1#9-W~sUSM^=f=kvd>6y7)Z|A1Yl=+64bZ2SMd z&HpX<Hh8vKj^OFye%H&w>f$qgbgo><x$cvT>G^_G#&+&GC+>1cN4?15GBf|0{;!Ym zm}2x?>E$dr>v)+ia<sF|Jj@i4YanJf)A;LcyVRIJw^tc<Xe1w0^Aq9mx>o10KVA6K z(SwT`ZgpNdJM&l6oKD9ByUdQ6mzK|1U&NA9#G+_q^EByu-o+P(&PH!rC7L(Qdd>Z% zoh+{BcU<K@Ss*!mW%2U1Tqdbsc7YrW&kY-H&Aw+JS-PEb@~4pc?rpz}O?Mota(xh% z@75o6M5)$HE{5OEVB&tk4-J0|nj8)rnRrx9YJGg=@GskQa$63bNSzkyoYuVX-R=Er zmPhBi{LP<Jm8xHTJXOgdQ!3PT?Y+VsxA!K`ziQR0_NDHrc6`nE*Aa60C%mVee3|@X z66dw8dqe%+OsKlC^xe?{_6zLqo)=6_EPHSJ;M&^gmtpHGT^+;c8ih&bYqs@Xx<BcP zm_=q(<JPvNtEW$!`5|RO$Ndureorh>Klpg_{J&Q$l}q<2IPTq&byefUh4eKmS6s7u zA@s=DO)L85r4Ru_|Lh4qmtTuK$O$nD^q#)*@yo{K#Uac!vfnDpU&--@|23O(Ks6w> zfqk)G;<V4H&8{DgMcp>Ls(0c=rEhzmzpYK^=O^l1CqEoqef_JMtI17<$(&brCa@=T z3AcRFs!m(qcUu1Kxww4?bYsifI9W=+gm5d)e6-AG*2?Pb*Y1A2eS2-Vb<2^P(uy*V zWS5;U_<2X6;@Tq4Ps=VdG&*g%{%ylK)is-ybC@@7@o&7t5gTn`@ukrHrNxW3&sEY4 zUO@}>l|SDs4Hio95bcnR-2UG7`(x+7#lH4ULNX^La`PIEzq>f`st0cKeXXP7#nfJ6 z`B7_K`T2(5r}o!=ELT4`soHz)p$U)cWVgTWD&N1l_EF16|M&Oz-d`K}b5r#8#8%5W zp25dwg|{y3QFatKv?y<~Ug(weIugtI<~++jBlk;c+1UfHPpUOeJHfK&L!;TAB@%^U z8U586T#wrGPk&k>sCC`K@>SEnzb76vRtHveU;Mt7%V@<})yqmQYO9|cemv2y_O*1A z!K-hFwBpXogl@IFy8AcF<j}AyySHj@&k(xm=j*nr;BlH?A+wQ$gx`URWm6`eT`+?! zkn5?r#I0ij#}_yxUH<*N|76MMWtUgaN;=5GvVhG}u1Cg$afxQ~!`X~tlHLMxo|9j0 znylJ6<LL7@;k&s$$UQ$>+EBq3Jw0bOyIZ%JLj0}|Y{#4z$Q617ZTr7%``)uW*Kci= z?!6McTv7JzDVv>a;jyJp-R-~sJpZOj_Vi=k%FcJ5EZK|wa$bKEGxDD*5~BWQf|>PA zk#nt8FMs^$e0Sz)`fgQkzvAWd>!wB5-I|%_6SvRg`tco2g~C2F`#)}(nG~>m$+8u3 zbJARv%6(MYwae=B{RxxnW!e9}d2YA&`K#6U>qXDaHodhr=xk$B=QjtlkcL_FCu@JY zW-@(wU4j6|{qnW83d>m*H84MoTV;N?YFFgvKiNhHZ}m$?zFg)nu>5P9(Y!}33SP~{ z2NxbrN|!IpRh%dFq&s@E;1sTNPftim&pO-bJKN6n;If43sWWcqAFyp(mpT7(n<wwC z(6=cQ%uha>oGQQU+#DT`nu(q3M5e!=#^KW!ZSuY3Yex9)`}hA^KMvm`CHDOmv)$>h zsdDkxzj4efUu0Jy@Q97Y-(hjFg@&q2PNQY?T=5k$UyF?LPBFjPnaJ|-MF5BEXPuf| zriU&?9!TVu*`WSQ@$8%1Pkmn9+@i9lX)f#UKj}N{lyd*sWQsoB`>N%hYR8OOljglB z%h6r3?eER&8*To*j5m6+BmTM2j$gCB*DrCaI&M0vH+tzyhpSV!=H0yXG-;OFY-c6q zw9OGBT+Nd0j4KaEnbfQnJ0kGDq~`BQkt-`ig&$@+CmSr<GV_E%;hQjdzJ1Rv6id#f zJ>I&dMzVUAFT0={pM7XwA&aSg)<r8hKl!WXt63NAP+f8Umd66QWRa%guM<s75AuC2 zJN@FtjH^vyf-6=`o55OowdGF9?2B_X4&CCgyq3YLc1>&%@7ZI^T6;e)nJ<!MytL(G zR^TbYpWVei9)2aZYxkboVS3SPedkrvgFoB9R@ggD6f?C<k=}Kn^i$5m!>i7>&um<| z=H$nS1IeX-E(E@gy1>6K`+c=<?SjcVZe<5s40oAvzKfh#ze7Ib*!7j`eA~9CoLp&s zujF&D`jnn;*H3?XxqRMFmHE;F%bcxldKMX(dC&Z&&a<si?(ZcgkML(^q1U5YJnk~9 z7%lgoy*B%fT1W6(|G(}zi)0%WwsSGXPma2G;qtvLg|FS;|NUG0IsW-Hi+B3JfAZSz zO#eCa^!~%`%vZB69NBQ!+AC(QOvTC)wiiq@v`ROgdE+xbS6b%aFZbC8R!bU%H*8{8 zWo+6NP%eK^<<|Ze<<Eco<zUbhW=rbtN)wXJZc7kIUmsOCVdAFwocr8YN;mC2yz!}+ zs7=Kbjw79u_>MQT9Q$?LQrP4{#Nw~JpFY<qyPSS5;DE}OCA*IJN*LceJ8RdGw>Nek z|NClL{OQVY))QTGZw1b{vqRdE_rCVTi$$$@EQdWcx*bnkmYec;*<psY|CPDC8vdVM znJm2}+(BWDwR3yAoB6r0*{9A;|0FwSmcile3E_S7Umvr3X!=HQ&i>eZ?w<aIyvI%( zrgTpWtmmJ!<^HFuTN^j0{dZ!xvvI4((^+cY_r9;sUQzzL^vxW_<A1I6r1XDYXkWK- zj`{m3)@HeP)E+N*$kG0*=c!HNr;60hxoRK$r*sM)^sH=}BHzU5le@X1Gvw@*AH1oP zT5fU1y}OwH@^IsVuScKtUu)~x>gm62Hgo!unGY2`kKVY%Xu^|m&6j^!51+1*t;5Gt zW(5-#p0jY`nDCrOY59TF*|+%(B?VtDuB^&F>+o{xZ|>77lLDWZt-Y&QmbY7aZBP5X zl_r^UgZX=en{O_&)VzHl@Nh$)a7>?J@&(s}UrxT;z)>}K>nxQeR;7iNOTSJM+Id)w z%~D~(LbtaM&D#tvG;52ktLs~OWr2gTl%Uj!{9Vs#fAz4KvZzj|+n_c@*vC$6Wkl9g z#&`w4$jn_H`N^hVv!C7yJ>~XCWtG)d*2FE7CkKDq`{9xC{K~nfAMsY+)X(4d@=)pP z>-B5>1GK+)%l&>=7Hb@vKl%RE=gNvQ78ZBT&a}P%U6XwdgP%sc@iKN6Msd;Xvdu=9 zIud)fv?R*BK6Tabz^um7J!N;TzCZrI>)-YK6YUjq*=s*ER`0h<{M531NBy1or%qXI zuPonqdyy%Jb<L?Qol(g%8_jl#J8wKFd*`#m*4GQ>XgrmXkv;5I5YTbafPJ@{44+E1 zu0xy3%5^Nu4mL`(KQVd``)yg~gY31c%hXo(YR08@g=Nq6nYQeQgyVgUsT;-rZjg$y zsXm)HTdnE>pJn|;&39{z&x`J^T5~OK`<9EBV-L=_`EKX(d8PLMU!Gs{_3ULojz?e5 zu71%}cRRR#8SCZj&5OI-1lp2QgJ!+FbUM-e@@D<zXHSG(IdA3iil?7-kKB(KZO4Zv z4xg+K^W%ClHPWLbsvyU%S(PPh@8=fdHzEg>x1G_p_?0)qz~Py%z>kGn^`grb1ln+) zSdein|Nfriu>}V!ukSsV`qBUYCdK1_%XJ!;&#(OBtn)zjHW%yTsk;s>l5JAHnyvLr z`?Pgzal>AQ#`hDK={>nQugE0ogWH^oX(<Ve9wKW4TsG@e2q#?pKV$i6w@<oiKEH*Q zEalkkf0I%Ah{Pi`&5j>TM?~sll$X4)Fq3h3&lmITc2YvhWvNB8Cd;gv82n^H<7S&B zK4Gs?qYg`n9b2*8|Er~C!K?DrqgU6(-Spr3>X5_{ldWP0!&-CFR1{K`SDrfL{yc4^ z@5%GWpEakYF85-toz^W@cxq9VW#p^VW(+M-+w_F^Zk-Rhwq&cry31|b445uveY~>M zHpx+5YyREI={7AAeF8@h%xG}A@s2If_t^Z2osZS~H?B-P@H04FWC!!_F4n1CscV^Q zJ~W5V4e^`(R8#lcm0!Ppl{76kWL>=Ufa!y6@3pr4%5Iu+A?L~(h0800(=&L|W?fJC zUMlh1XQN?ZQ<AZ&u=W#|>ju%yMO;&!ZZ#{vm43Y7w)1*#Pj89OM<)BL{+GS|Xvh99 zxB6rLW^OW5_B~a3opT|hkp8r97N0jX#(n1gl(W9_heXM#&u&gl64^XEWSqn_gf1;t zu>C8=Hf525wR^1M%OWj{)nXHuuPAr!`H~gC?~L<WshL-v9pjt6__gNy^+G{YS2m}n zT^5qcc3l56dhPnKlPk--N_m%0U-(#ghH+t1<Gs}fL{2J&&hwO?tFC%%@4NEvch)Y{ zUt0Bc<IH<<^Xk7I_P@b3mErIvu|~`Il=~eYN?zMO7Km%icdGQMo~)wi#c0^Bav}M= zbYkfF^b;H_oK`QJ^fS@s2EPzDNBTdhrnH}Bq493kzc@Bk^ht7gSKbU~{VcS>^Q4FI z!Ktshtg<)HsXOKJn$M%dTj%db|9$_vAMcC!=gDXBWXJz=(zO>|#cMWtMJ8tkPOb9w zUQ&MNfnM$LqtiGyUYOb5)4b*8#ik`E&Sg$~#NF=W*16H3ZME4XajOrnk}eiqFk5`1 zL*buGW2<7l;*5sGgOMMN10<XICnWGTGfA^8`k%4BiK8ubTW6w`-QSA_dkde$z2yxx zk~jUlAg(;(@6|6qXX#ZQ_^`Ciy&!N=;R4gF*BatECtnv|IX!RDw{0qxIWrs%w=*8) zbX7QT!846R&HC?`pSO;DT(@%DK~c@i(hC#$xBj}9o%{Qt#uQc`eaROwH?2!|1jP0g zw~Cy2&ynNfb2RR)syDCK7Q2v^6r12_+)pZ*Q?9*I4)ra6^@T}!gW~L6_4zYT&JvoS z6JhXw+57(wcAx(<*Za|q{d?9ev#Z_Q(HOhxdXh}=lOx-5?&+!3bf$J>)Cjxy&N8_9 zZt~3Pzw&K!_nVrTcXir^MJ`TTaQ(_|wZC^%kF#erC3}iSIlY~pvuDi?CBJ94x*yJ0 z>F=+7a*H{5na{q9#tT%>uJ#Q3x+|TxXpgFDYS5n3SASiu$(_2ABZ9-_#XEyUxx4k> zCckB^^>>i4vJ+65@~ld?TP&QJQQnrnNu96ztK)N~UmSwpT(3J$zrCTTxk9pcTIuV1 zH|*l~<gA-*mAdHLw0q%ItXmdFmi63Oc`dBTOPW>5xlcy$@x1z%n%RGEt@Uebm#eu` z`@Y&f<U#zJ$3Jd<+_tP)s&Izt?TrB`!Zz~TY8*>cUvK;7zgNDd-E5-R?5+1NDt4Ha zZ9kREl6LF*+>)dVyOy!18U<Ti*>78wyZS`gwYd$=+ZH<3EtvSW+OnLx>!$mZwG(*M zeqVo`_;2%epZ|`McH0gzadA{`G8Fi3w0UxDZ;0C3?RHA1*2eF>TKh#=-X^nSzWPa{ zdf(-SPj<v#e){XZ|Gv-b?*9v~s`7fdZ?8jnY~KHUMkhVYb}jW5zq#z-eI@0N53TC8 z21hwK&VKi;+Ud9czie9XvxLUeii=Jrv|O&fq0q6qB!hX=#>Q?#jT{x8^_tx$0}n~5 zGv!Ua71Awo;YP`x?V75Zm(?ORoD9FU#I1^Z#v%z*f1b~Mv(9Gd<UC+7R!iA;=6<SP z{{E`O+dk_ApRW9~ai>`Zt0Pas#*~d2?kmsn2l6jEUn#CrEFNDmlh626?)`nYBc6RV z+GCL<qdU<iH~GqoKL?oC=dfk!sH~N|qM4j(yRYfs$-D`XPruI5KRCfRmRsV<9Am}_ z@;esFmCqIS`SIzJl<~c}MOD$)-Uo?kc^K*~d&M39<BjL^+|7@ICQXvMb!&D{##N=} zIp$&!WixmlRDJ(ctgXr$m3?k;q~yJe?gB3g&mQZMd|XtlvcR~y>6-KA>Ng9Q-^ty- z&$-~K8E4^>Spw}}KWEi0U7mVn&)cTY{x3wf{Ll2>_y5%QKg;vCE}9>|IOFK%6{5#m z%r;7--g>O^*Q)SR#QOTR*~yY-)r}5UBd*synj!A~=`QOQ--~IS$Ct2|?fu5zcj8n; zRh-j;^ZCULA+I<qg_cfwAtNff{N@c|ld>?OgIAZH@|$b)YGcx?<&rMv{ym;2AmhMd z^FKFz_e|sEujkAtw)g4#)vznbY<GCrx}w(K->Vl++E5^-a!ag(ZQg9Z{=i={W<_Do zT`Rd$xLbHl7z#y|=Oz|^sru&B-DGr2?f2IBS+lL*#Oz?Z=#-%FWn+BduVon$Tb4Nm z7|ZpZirup{{aLkbF@Njtgc;XAZvP;Yo6s+3aQEU0j|*|$0q4K*tljB$b<=Vm`RC8{ zXS}|)chlL_Wy|b8PVBGEID9{|>i^1kyC*yP55N6?=l}0BGi&$Wy|m+A{*n2;($_UN z$vr)1@tLRig2QFaqJ$L2ePS$^W!RQIxUaB#%Qi!g<S#m}%h^6ZnzALc;Q-IEX~n^r zeER8!Eo>rvOXG4qPNZMy;#aC-Sdv;EmJ{Q6Acgm1)3li)EIW_6-;jM)V)*7ux^sbI z^MMnsi+`TTdCRT4xnW0}qGQ!&{|%O<`-3t)w`*V0zc}NZ=BoGpLH)WtZ)48hFgt!W zM5|Ue!ovT#{h_L&?rtsKUH3PX_HR8g!IR-@B2U2;fh#t@Me`c+wGT@OGej<EoD_QD zUFy~x9*+x`o}CtaB(uPzHG}s}bgkO0z<?df6Bg8VIAp%>Q<`mebnCt^o4WUxzD%87 z@w#}D?Y@s||L^#H$y>j6QgnZWThlt{ZEa~=RvhcH@QtgR=eWS(fW?vpX$2;`bEe;l zN_E|N_w>%?=S;+YTKPU~`f20&AvZ0oi<R}JQsv**`|CcwR=;_C`{l~>)$3Qxwtqim z{?7z)#fi;LyP|W>hG+R6J;m889iH%q_0_4^qC<9%r*5<CV_&r5+AjHzom%sa0w-R$ z(ay3d<9tMTQ=M8s%Gpwns2K+pEXt%mG*6zq+1+93^4A^K@Beta{F(iN%h7HNJC~a1 zj+2*<MJv2a=abpCbx+REnvM5At3K7<YPB^%*Y>N-_j~2F9z|P>MO~(8z6fjcUwNV| z=fefZn)loIm${!({B<&BO2dq)Z<n)8I@-78!EJW6ee%)sBlf><iCzD>eZld2U2YEp z-e1<)``av&=|RrP4TUFe%viARk)cj?em$QX-xfua8{B)R+eP1S6Bn}In3>qwr>M8M z*!b=l%gH$jJS|&Py~S4)FTDQtZluMBqx$vlV$~l@Rcp_^JmIk&U-|1@ukAutU7N~p z?s1gsBcI!s+}qonKithIzcoo!jFEZwQZBt^^*4-|X3O`;ET7Zk`$0&=J%9TGjkx|p z!pAIRE;v5xn5gFcZQ|N+7jD)#3BD%5!;RdHcDI_^ax`YPZ>^5p?X&!d97{K2>r38- zM~V}dazFZ3d@#`F^REYN{gP$uJheXRlJ0(IcSko#T;XXv+jz!Xf_>KPWWI$7lcuZ{ zQ88I@z4YRvn@uYGyEna>`-nNm&|{NdK>Ava#2H$fR3x5Q<ep-daLc;8$F#+C{c)b) zyXi6#3hSoJtDg#BULV@K(B!B|@F6a?`8U$-Q*6IU1ZM4-XcY9tPFy^5&(e3zEVgkw zzM5~pQzbL)kaSsx{Qn>A(<erTY3$aMus&D&!CBsft@7TCn5ptcIu0vWuMQ1(rfSyP zyT<4A1o5q6f&qO!Q_gMSXg6NwyTKv%<0jR2d$`YUc+Ixu*Shk(&MgZ+=f8OK#^K1H zCDk=A4u{tY>#=tWe_0us^CRl(%3$fV{UR%#^4hY>v7BBIXcHly@*t(7=32lMR?V1A zzENi!bPHYt7BwhuVORL4>NM#}RQqJ6U#T-Sx75|{FFed9Y-siW%;#9QqE*>z^QIOh z&Z&BGJX<Gcnq?we#+g`?SeFxpQb$*roqEMwre}L=HNX9@1-oB=+ugF@Lg2&mmp>c! zExY}%ctyz31pWXGZVn6kIcwhO{!etCCAD?_SN#o^)snVleIkp)OuUNU1YWt$@r&b8 zrS(0*FKr9N|FW*GZH_u<dy)SGqr>Juho^t2acF)t>-x*a6mF-7qDp(U6ul<Aob*^% z!v0p2$LZ6rmh7-_Jn6Dz_vh{3ck$Q#Smk}r{{NnZGjG>FfA^^<%(;L6Z>~R|mPzN^ zKYz3RY;Ee%SN@w1rk|Uu!`L(RUDId1vdCGbe@+PdYbW)Y9FmF@G_Id1k`h?5zkCMI zy9Ud1$2Mn#&oouhTJGs~pp@-urm*7$Nj;C(7ZM-ne7VScw{XsuecQM7Dg+&CaIEU? zx?<s+;=b0^ZHaW%;>BO9l&b|Vx<}+|&)%`Rxwp%hMed8Vc}RqF|IP22PAZGV?`%JN zMf3N{(A^P5Rjb(6>xkPd_X(4pwQWi8be#g;TwbL`Q+NN}-L-aJT$q;cvxKM#Q@Pgs zd*Q0`=JSgm3mv_~Zc7~NQeb9wG-zV}9(?4<j?A4CFK#uHNezlycX9jnpN#xUr&vC% z^xe8D{j@;-{XOS<BqdL`uiyKuJO0O^Y5S{r_uONCb9Z-sWNq!?@BH#|C-O70r0!k2 zRp?TXyOe20uGE*H)z)`vKA+vL^XA0@{him}hEMqNcz(?K*Y!8<7Jr{BB%LW3^2(Z3 zVqr%4nK|Va(ozv6OR|@*^<3KK@=;-$PVAd~zpk#|{ppp{_E%3!&HAfuf6IM$p5JDM z%9Le~_WygGzE&#Y(z>lz)?3>N$V*>WyLo{vHQ0Kx(BwM1>~Ck@UH@Gf|Niy8kLOO` z*4y`Du6@+*w7=7D@>{&m+IU9M_1e{|J2zIc=FQ3ad2*$7iLX`fmX5=6>vn0qZYmOT z%xn=k&!@R-Y3k%Ra}s8J753fU{>^=M9edW%c@lXumoQ~4bh=XR*xttb`dUKI-FMah zf68wEaHTb`$)izK_2{kgjalqxFWsB}?%R9KGUI1Hg84}c6`8qa-d*!D{l!*g)u}c6 zS;F3he7KSD+Hyyvd-I2etq%p6-I$$IcuQm*ZZ;fu)-B{%!S<NlXsJcqk&=kthKK+1 zFwU`RtlAy0?QqK3Es;u5Ek7H~7u;`5xbde<I^xOlUy{u+a`PBYY`ON8U0eOd&o`EH z>{7Xfrz?Hl-kG2*;*i>HerZvW+u|SWH!sD`e^ys}IX3Uzo#48Ut@<_ZPF}D6-yT=~ zhKtAY-Qyin^Q!-?e7($frs>)r4ksg57F`QouD(lse&w0Dwbv~3&NWpEWk+V0Y9<s1 z#|yQ*Y~^0UcU7BX!mo9jd_R4pj^};O7cGs>*Sa0RclY|!CwElJIbC`hSdyiAy{@wL ziabgG>Y)7Whv8!OOwWmm-Qgkgw4Bq8dMrF`+27_bWis15<MT=#W$&-GD_J<h(z&CK zIxRkQ@<Gn;Uy1kJqTc>(ka%=6*_hS*+baF9B4=yr0)<wd4zZuoJKa(9PW;PVUv||t zomidqx`{`gQBtW+QpmPF^7xhfw|@k#DlB@=^JSMy>e&s2*`|G$P9JpI^0`STER8|b zAo=-4j_S2vmv>d>>eTYjU1ZjlqMI_ybMi5Jz2u@pd%p3S|6TLq+wOd6`S}xGEbEb1 zpH|W3H}~6|#GScsLzn-1_>X-_#P)M@4E)sHKD_&7Dt%`$|6fm?zdotaXJ1XeE|b1? zC7b4jt=*};8@Sl6Cz;2xUvr91UVQCT!S%`&$KT%Be!qAA3d!>q-D4`3K8rKva1Q@@ z^ZC4D{XIXFH2fd!d_H&bk9Xhqd7IuYNu4xn)3RTc{ccY0R_aVSocZtG+5NxHp11q? zvA^b@Mc#Zz*;mZrd%y3VZI=7<)55s>v;8%@9M){xcFa`U!o`I(NJKaG4SQ=**d@-y zVga#rs(xLyS8kRD%-o!kWIFe>u$Z8j<g-^(dz)$)xtTY9&(c{|==b8$hQdvM-@QCO zzmQ#p^-rI+o_SbxVdO;b>s#lWR4zI#J$J3xMy9o!{jOh#(9UgGns;bN=DW`2@`c~; zSMNU({i^xR-EP*%*Hb$+Srt~ilYMG-YhS}b#dx7BOyR;a7B#UQ6yT6??{R*A-BRjj z--2m6QRkaKyo}!K#Adm6dRDKoqxxAkfiCtr?<9Y0lE39`HqAnz{?^AY{|<cGBhN2j zI$OW5jlq#MV}{}F<QxW{xm$Fn?B8wpSXFCt#=`1f8^v2+EVcQ5`*xk_m4BuyLjP@_ zZ}Mcv|8J&MzUOc3E&qKp`O~rY_jV<|4q4(=d^~OE^7(a#bmR6MDb-HCwIy@6N6;%~ zUbd^oeu5cVAwJTAPqTMQ%+hnLv<ROgdUEO37#6?33w{;x%UfnhGD;dAja+~Gjp*@? zhQ%*FhkWz3yVuLn5_ezM!_aw=j>FQoXCAjsS#l=)nb+jbgcDV&MkiFy_MUPnm_6-n zyOLU?yG2yb;$v$*zv;a4pf%7arKw0=G;6^j4)f$!CdzMJP6)0IexE!0MA6hF`~1c^ zYRp;60#gGGx-K=b{9U*Dw(#egv*)<21KMT!a#WwP_KGMA8~unen&<LY!e&jM;iG09 zRh8?BEkUjx%?Fx2m%NMH^R_`Ub<+&(brsk9x98Xz+RRL!UvKx-pZ~7Cofq3IpPcfC zjJ172p0QkqMEV&duT>qqe{V(AB!#HYQ(XRiS^it~O5pPBd&{0@pIOCI;_bcI!^1bL z-|4|IWqzLp*;%VLTfV+~N$SPx>5uR2I{o&>CU+&J!=d;6j34Jdops<qv94xvj!<Rp zHnvj+6-tVx=Z<O>NUb(vEm}F-EN|wwS!Txyt3FlVD|S78``qpyzqV#yub=lo@W*by zxtuGd<~2R5+E&4{Iqm#~t*edG-EHM9rhjv^|95$P@@yIQ{Z3mSGw#wpGH2Pn=-U?( z|K4f)lkqlSwVdk%oyy2-BK&H<3UjVyU);z1uF>A^iCxKAQ8i8O+cxoDrG~fSpFUkW z>v`O3F+IDhy(i_~$3=Z?`u&vGeCMW3M#5(+uZmgS+U0I7k!<vLg`d9GW6@K8;ufgS zR+v`XeYQj7Q`-iga`PvCDt&wJX!cFt(R<5eDMQpg9fu3~7r&VQR$xDq|E4(d%>f+- z`4`P^Zd3&aUA+9bbJenI8aM8FWNq0SXt!aZTGr+%Q}jMx+9_`<Rd;yHW=`Q{yVT_? z9p7fo&7NQR?qhNPWg!VGp4SO4v}FEkf4DsVU&gU?``@jfO0~_O@$^Sz2+xeGdB|#B z|FFjOLtx(7Ri$dYQj!xhy61)QRA(elPz*Y)W_-Ny+skU6tQ+;3zjGtaXP-Txlc+28 zf;-dspIa`Mx|o4;<G~YpZjuLmBd0Ie%ow-)@%Kgga$mB9G#<3vyl^jJfuP?7hwK^Z zwl}X`zwgwhyZmgMy9{%B;Nn@2`_BHpJ7?zRn63x6e?6-@_~@(Jou*wk%Y3DjgVci+ zia*wFSN5HMXUn9oatBH;HhoMk;cYNl=~>LXE8{Zf1lCtqzubPbBUfmaVZ~BT{+aIc zPfwYxu-mgh)m_OjMbRzca{Ah-IT{A9UtEmL{{MG%eC5v{>l+Tre!R2!d|uS1Ctt+7 zy1mac)qOdvGh@Ot^`Jx+epxrWJKJA;d=S@gNae+>tC~U&>l}j)N1Ah2{k>+sUs8e3 z=-sIaYF!2=p7&2XC|kB6I_H_t){j>;ti1$QuDWt;pVI~I<ExTxtJbbsQ#Uv2+_oEE zQ`R0`y>#Nuvuxdb{VR67cq=|{!?vB@V}IstdUyW&p?llD89aE`yw2&x!6lxPL%*Ll z&SiXJ>bN*ZgZuT}G`1ht4DMfj7<t>_#kFrM&U0C=<&7<R%Pl>BHN))tkKde0l>Ndt zl_A05E{DbXy}Q4yNc+2H_lry2ckb2h=KZVa@j@)I^w<~4ykk>-IvLF?-@o^(S@_Cp zfyIYd9&D@pqj8Br?qlO}&NUfN)?d@<ko-M!Yr@-jtN(GVk}M)uwg}En3@(!O+0B^F zTRiprqT2q;Y8A_m&)rw#wqw(D4PKckUGwI%91Bo<Kcn{dEcG3QNhf9(&6%KZ%Cto~ zxjA;q&SKq5#+R4$PFS9;wNP62_nObsb_9#hd-ZPTXU4nDxAtaV+q<Wtz&hzgWb<Ao z=f3I<;jc_>-p7XT`TXH-`Ca3ur{n*9|GPST&G}s)E^UsPb;NyJ&W(3|(c8`}y16!b zo8;`Pt5+O!aGlBFyg+QKGEd!tsh*OWy79Lb^yHW%GA}Cl$LkU4@J>Q<{T#RK8TT6u zF6`cNu)00a{rkD89CNSfc*Mn?(sMeScQvFnrJHf}&b#eym1bIzdM*k)^8-Udgj0m3 zuCH$2*|fg4JwWdBWZUF8+o!W^uHC!6s%%Qx_dlOk`v~S<zLl#s|5c~nE8Fc=ih+CH z$3EYh;V}C{%fXpjR<3YkU+Hnoz^gQ>iPO!Z&8Sa8Cu>T~@x%?M&$7L$*z;|J{O!&R z-ZS67tV#K5XfAEp@!jhAoXvSRx7R<<-m&@k|COu5*IWF4*e>6xrN4fLu87j48y><- zChe-;m24tz6=;xOQta(r<z8Jq%WZAn-Ho-^Z*y8*n6*AX$B^CW?d%7wJ~n{?)vF#v z8STrp*6<9;UeVm7Zz)-{?eD2qzQIv`>thyYeh$5rAuePTblq0baH&r$`_(Mz9KR0# zjG%^!h=7dvw6wHTx2mersHm#YsH&)s>h?c3{@q>v-r}El@&xxi&zi$c=T{!9+#kEU z?C@6RiOkn5FJ4*V6Unz~OVa+Ab&Ff$by-ek?OY?j`rx9F7ty<OI{X8)jE-n)XuD?e zZ>+OW<D2Thy8LLA%IT%8U3+h>Tp9b!U}-5sW6s-GrFvlof9FI_zT?;HDQg{<^Y_d} zJyYY`Z#D0{e)s?I{I!b@of7ZbcG&hwX6C<xaa|%Vt_25eyQKVfs~=qRe!5#l=ksQR z!u=-}tc~r~6V}!YJU^{OJ9pBtrte42#@Y7oWVDf2(nwXVvvacF*5^JUgT>^Bft6gn zacoOMRzye5Os<9VGS3t-Iab}B+F)SPA<4v|@>%?B!Sgwl3wM8iXYZL<82<9?{#}Ll zls+=F$sPX=ZvIx=_RGCpwc7qd<?Y;ZpWoNl*KEx>`uX)E`yU_6qyK*m_P5j2sNC}^ z-g2FjlFFGCTNPOZ+?g~?oZ1e2&s#jB?VF(!hs%M5XBI4~Q_la%bM-b;TmO%oCf~d6 z=a<!;7vNPenf*ceuxRt;FtOW<qKszhO|U%v{jI_kp1qr-eLijYZ<#e?{-rCrxvBG# zJGR_Y&tW|H<Oidi;HvjecNd?V|6b~Lc1lIkoo8oT!)D*xP&IqvWs94Effr9bSTc|8 z4DU;~<A)>^<|Tbv@}*chc+SP8zkI&!oUu&JV)8Xf9+7iaD$8D4nw<(hu2ihz@o@7( zjcKbFsvTI=(ccq#w(x23>^1%K&X=8BDt`a#>Dm5!LOv~>9_JLbx6Z)(W6#s{`}_01 z@6)~|5_7Sf_wf7&t2~9KpXuuJ&ne<f`W9rA8K&m@;p$o|y}sE}KkOWL$GzVh&$7rZ zeBm`4x2k`qm)re(C;#Vz{eO!Y#TJtDil5Cq{T_6p&(<jd4%!Nf70a$HNk}_&<fV}F z%r(~*E7j(`e~`1zR(HlSnT~Jvmw%hEh5Mc3*Z8=!BhJXzwnvj!$VI)W>0H{%a}W2N zj42F=m8wdb^^;}OF7}S)dp<qVn(p8xopJyC4AZ+Z>FMdK(^fcN`5wIYpHsH{v)Na7 z*jgHk%zSvqCh*|@nPz@l#82!KjA0UOUVN~)=jB=+sYMZ+-t9drATMCT7a5#r?lGP9 zWzXfOn_m|j`u5d6u{Qi8k#y^!!|ogIDL0R;-pH9?Q8#Uc%>I)K#q%cozS3lFc)cm9 zV;T3fGZUV?(|q?V{-2x1k$bD8>k9wISiUu%d!)i>&3W@*GHtgG-aDZE=OKUnhNsr| z|NRQlwEb%Tq5Zh+=1}RH%Wb|*=T)s&?h9_w7YO<A_h`|C^|PdNZ=LWtY;@JQCBnd_ z=i?XM#GEYt?FSFJi8$^$tf72SST5z5Ta@~*wl`|WBi42X@haVOxS=><g<wuk?Sg6N zw&*7O3MgnzXsnWap31M&;mT?E_}iuxaU#t=YWo$g?|p3hd^OJkN1j#o`PVPB1hJ~S zR(suD_jcd>%g%ZG*sngTKitRPVVwAc|4;AFBa++AvTYV~l>g!5ut{MQ*7$NzZ@S>p zsXf7ueziS6k==Mq@!^L!rQ;b*Gd;YUrWU>vR`;uT@Mrtn-{Psq%nLMSwmYAnZT_CK zqwVYz(;s`%{34a(PHm3cnt5!=wUFySvzI!sABtbav~=a;<5hAE6B!jPv@EVn6^p*J zcj_Fo`9ELZ|MBY7kt0XU_Mh8pR<Y~WqaSCs6hHOiIBK%<VF$~n`LVnBEX+^z*9q`` z&FbjkDww)bh~dT;?b!I)n(GsU+Wi)EGjKi8z7`c#)phNc#NRawqO)&K?|rbOWS987 zcujXT-hYRZCfe}tSUFjJ_tHn(YhD%02i;6+N`0>Q=8byA=KjJL0>QS`cg}D4e#pb@ zm|4R!OK}-1$&D!mypPxtUyCF;>CQgyx1DQ$`T+r1t!>jweI69u(p@Yf@_q651qZe} zum5~5>RfDDhi!5q$5MUER|Nsxo^xMCU0laCi8WH+bFSRXtlzIh6DJl&Y^Z39-r?}! zhirY=@nhdU&Hwx6xbd{P+gPUEy6~8H2a|K(Z{8g%*4sTfZvXS+s`s`3Z$H*LrOm(Z z(;unTo`Ngi-P;(h>oqgz;Hl8JC$H}~yz@}v72jtWd*@Cl5Q&X0JLQvTsk<qA_2j_( zw8yh0x{drLi>0$1YP;mpTrap>{Ug`hl9)6}{QT1$TaF}X7(8?Hx%kn!!>-(C+to*g zT>E<24nNx5w7BZ%m)w^QtVvhv{#=&d(DVDl!o<9%ug>Nzk6IUH>YH=+RIgkW&#xo3 z`fKJdX%UoOntjMJID5<aj76GtF$+?!FJpW9I%|)(?LEbr$6mGmIh(a{U;XVG;hQ_` z`WM7*Tr-*1DF0ebvhf9@knZU^yWaEe`<j2^VfvXF`}%r1vmMfoHlIIZli8%sopFZq z=PY}za?hX*Qp<i{XETnOsl;DBFRouDtE%eNJM$+g_a8K$n`QY|Z-?j_&V;)j&1(a% zNEaj@^P6CjGim+rEJuUO(k}xiJMvEXTEoBjzPwt4P|ZTs2A{$nFXJf+ZIQWi?rF%g zI9ti)CfQ}k|IiayFKrOR^Qmg>_pgs+x9q+f{q5$JwVuLhJB}uW*FTvYF7a4?Z=v&P zow;h~zWr`smz9dEyOI7#O>A-UhGlDy^*MiK{mmfu{g8$V!<N-sU)LGcu+}a*%(#)) z)THmcT~?4nOnRfW@b^6`hN<cStp)m$?r!RAQU|}+)iGsd&3dSNgmKgJl(Qwz%N0_V z>&<?-Z1pt%qD|Sq-)S9uZ0sMqXT?|EeSiO7X_qg$lYi*#{~zjhVLvC!|5xz;5PY1^ zu<GUq&Pj52_tY&uee&$(Me}t$dbjmWTotGmWuJ251yAIYFHuZWrC)Njs%$Eh6#TV? zlda=O<CznB4p(y{+V?SXEnnw5U;RuFi-*EGgVj=^n_R9wy>aF4tvz4bmw7(zS(zrO z^xfcW_X{a^-)n3C#ilB5{8imGG2P}$nM<yx<hw)O_nxWw%}A5{J8f<C-Fa`1Dm9v} z__jS#*DKdiS6Zo8UbZWE>xtO+6BR5jrOh}UP<q;6qAPQz*{g^t0vj?nEaMg9*`&(t zlrne4>uuaz+pmdBPkD56JBw|y>WPD<D|Oa}<p%xTIf*w_ttckuPQ!w0?e|)u>+jru z<Sf50tv@a6y*h*CG1Ct{HOgB!FLJu;6)o*ted$pI^Tu_q$NsKZ!KUIMnbLODgZ<CN z$90SH4>9`3*WHreaX;)n>&i)Xj&0Y{=UgkDZsceu&k?qLL6UMjtBZBA2m2!RE6q2R zONusxDYP8R$latqqmF%f%gt*&8&y9qd*iZ=d)35M3nfcBE*we?KFAZ;HQ`2Yi@Qqq zEzK{lE~?9wvU_dU_}yE2dYW#*`>Ow~tGJJMUvJ#O?S1R|m7ky9*2Tq6?2#5Z`RbC@ zd>2+lL#@@3({$5M-#;-yv$gd_R7Cf&m(01<mI?M99Je^0vlaH<e0=SktFFvGj;P1G z{7RxWygwu~!;?!}!Nld<E}N3LP5PExFLvtPm}|+sY!~P}f_~c%dped|pU(e#_UvVG z-6(+#x%XRKKluL=bME`?yX&L;&lg+2-v9rvT)nKkblZB-)iTPA!R6P#%`Gxuz4T>n zT4ae6)1>)6mY<57Rvv$}AZOk>86(pb&PltBQhUz2yU2B^T{!P^_XgWcjySe7>7_ik zI@BlRe3|PhuC;5Mro%7UNWHE0X3Kcp0?Z~%o}Jt1vQ^^If#=7v_@lC3$ogHqA|DlI zz*W?gck*R7%jC1BE4FP~a&77x-Kk%)=HJ#A-O2Wq|Fcb5J;%Yxg%1KAvEDUYcIo?4 z?rYN?+pc+Uosw}ef=%ej`>@k)rn(a*rdV*zpUJaGI?~-m*+D&JZqJ)#3dc@03!Vvn z7o@3lN_F{B&4v$?XHA+sDJ-_?<x#KO_h<D-8mHS`UN-C7YFYErFr!V3SJyeF7u-_| zT&eJ3LX)UK@H)-I$vPW2Hx>8%Kh(-CSEC)rc~&;wnOEN3?ZM5Z3tU|z!UN;peiIkn zHFNW_S;5cVKWwgbPw-Iaxok8e>b0@e1ktv@yT^WA-oW>b)%M)nsMBX|r{y&WGCzGV zL)hWKtjX3<Hd9sZtEF<xEWdYF>Pe9L+NRoBkG>sn=FiICy8Ffom+cuZeZGGypOf5Y zdFEQ~6ZKiYI@aEJVm)<vNFLWj^}6@p`zB{CXery0uXswblFx-Pj$>`MQ_`NvZ5yg0 zVkLsSnQIpYyZ$dbr8gl{I=$^v)5J>w>PIrYIRjVBP}i&SOwOKr`Mx7V&&zewPSx}t zmR;z;)RKHMbMxKE<@4XY`+c`L@BF#FU-$p|s-J!`bNgP=>zAV6&S{tVKD*+$-KUHE z*K6PZzCU+ORm$mCQ(yDkle5&iwD-@U(?vIC3F=-|&+>CPp0d{={MnZ;9G%%2I>NG# zQw(<<2>o;R*$XL?SIQ}yiu~Ico$MY>Qqh^Xc9zKOxoeo%k7pk`>2&3vmBLz1ztkV> zKFJ)~^S-|7G&cJm-Zo*)y#0#DyUskhwAA~~LFL-K-+gCKZTY?<&hqjkX3=%4R-HP> z`e|<JsTzG|2ew>CR%LcWnJZf|8H2Nf)-0&r#F^D;k^AqO!j8Q`&5jBCXMdXAcmDYy ziNMvyi)3!9&bMAMyZDWyaoTQ`*zmL&$t*K9SbbJSJ?=99xJ~~1cB{W%RQoSI=M7JA zS@K+d#>AsLoR1hSTJS&VSLpINA$wB{3su_AzB;((Yv3s+)q9uzuJo@D;?mFGdpvb| ze3gowT^axUxmMa;iMCBgk{>JGEh^3TICbsX&a<=HzcUJ+-PRiaTkOSyEg~|vPec^A z%$wo5dZzEH$;~bH2e=md`NZysuV;?S&&t^Lc;OrO=`DBLAME%O9TxZQl?ltzHCwLP z{`>NH*O%D5LpN&5Po|#c<$d(aeU<H%Z|(bdOgHn~w0>N0ZtFzv%)Of!ZgsD@AnEjh z%jI19k~68-8BZohx!vSBcrWRPK>U;^IUJlhRX4f5&0Hud_QlCd*^pr;qulrU<>zg? zim&`Tc_kz0TrWfAmMEU*XJQ`wD|qgF>CgSkHGj|7*`!}w>FoFW>@8R4HJ{91d$GU& ze6c?+`uFYo_w1f($N$_eD}6opT*Mm9B+sUUW^3=iQS+U@U?IP-Y2up(*Sjg_SBU<+ z_lz-lQdP}a>$KO_p(Qz&7PPJY8Kx_f^TXkiz!!-M9i>J0+bSg{|LMpozc&As;)@8^ zPX@)EyRuc@IPSgs>i(%46MI<NjukN2FI%=MP0P7$;vD1rw$qYxl@CR4y}d7Ux!^qm zf#2O-w$69lw1b>o`Ytc#I5y#Wb+g0+kH@T2ox2h_7}w@+F<SWc++%^aIsyeOpAWA( z>L5F%gF}O5=48VrRX69qwq6H08+j!wCe3(rdiwl#Ve6|rH)yWOx>}?A+2&2!`FUHP zT|6#VG5P(U|9{G)&GY7Hav1r4*Y!N_aVgcqxbNe{!>+&f1-yBxCV73^=5uzRH7-8C z5-e^jzT7i^O>bh-yYJ-{6_-7trscle<@HER{qD+HW<^_i7UxXTGvmL!Ka9b(Y}(|> zwH3$zUlRO&XS2S_N<O*ea?jo+?#f%7w0O6;e&j3e*Xk#g_4V_UlOKOudFT2!v#)8V zKbo0c-StuUljsIl?blOW)cK-s8Xa8D<-1HzLN{a1{>@_Tvv=_325t$jY?9h~H*rm+ z<uk@3RV_k|eyste^CxJ}nfWzJ`!cJp)eUtO4TbWXHkGUlyUR23cJ=k@{gQAzQyjwG z*Xvi79>3v;?YD&e-(=2(R9}ud=XUFW!1``IxvnT<$2%uJEOzNxyzZ@Oo5NHko>JxC zN96*fxCL3N&i}qzpF98TEtkZz-Hhv%i(|NtG&jhXu-$ePJ74E2uHaI%CSATFW`1E# z+_H0tQ;yVG-Fed_V_trZsr<cdecA5vcdve&tpA(vZDzXedP~n~N9>Pg@>sqTE||T3 z?>FbK-|v4v-sE5R>GJPu>+Vh1opG|p)6~s-N6PZ3mFKp;+3eyZd1bfayu=!x8P0xJ z&kKJ$Y$l*@=n=v<&%@elc3sK^uczwSCm)thY!$SuK6G89_Mt)JnKj#%o#%JS4{Gmv zqj*1}euZJq-r%DPCa#!p^}wN{nai@j6_%82t6F$I+)RFb&hB$xPg*1{_@?o}Ak~DU z;K`w?{~jTiB)nH#FP>*;#FWA_r+!b?a}MW_?^kABRFHlyQ^6O=er!u@n`YeCil!cC zU5$>&@ZGFp?tKpHKDStAda(qg%~D8WRh%{5XTpRzb5uO9o1B&~GB!TtcOcjP*R=C? z-w#Dfo2~u-@54i7Kh5=;@`hI0r{CTyJuo%1N&LH+uBxlwile%=xjT11o_BxuRQ<ID zGbOd+U3xR-T9uw!CtX+P99_P>>V0p+vID$DB6HZUtnr!C9_IA2=yg@|oRSr~Yr?Y^ z?p=HJoMOwBo#w5rzaLH0w_m*6byD`K+3qX#tb(3SS#f2{mlf{wYkU?PsqdWfq{UhJ zYglLdWGngFKaJ~}Yu(wpy1IW?S6ja>{`~2`P2QOwvyVzzC@yV(^JdMVv$MBV@v+ym z=XLfOl*iQGy~d}y{KO1j{l_ntN3|X?urCX)V!Oq%VO8NhvqxqM9&JGj1dGb%hIxNG zH*3NRgGFv;m8Y|-jU)SYwnnEoyz3Nvu%!BcslKL`DciSOyt_rdEZg<x4kuT|@|~9+ zMLC{1>NLUX%?_CpQA%I$du)27AiT_u*R!u`+xoNBD}$PkU#z%rZ-L#}*O}qXg7<GO zEZi4nrS#x~lPSx^y_4jRNwzc26O83t^pKh5iQhGj^9ye`>?>8fc+fELl78r}&UaT_ zyYC+6&sz55T&%D8ogbGaFFCKUo%s9Z{EvIvWxjLndi}ocyy)Gcdz0<Iee@Su7q?L@ zeWFqRjPw5XKiAB*EuZFQ%D02LRdp5fWp}Sw-lb}Z3AbV#mRvZN`&diWVv(YXMUtlO zj>ET3sOdSLmAY{zWcretr95VyAF4N<NEe;d+#=~cr7!FDiolCXr;k=hoV{^FAh{u? zpJUgt!tM))*5tpsQ?$(Cio}G=)AY-QkNFqw-o7p{ZDX+2?T>lOv#M<O#xCnhGny-Q z)_IrUMc;EXr%hq;)#X}V-+SeK!n(<SpRcTIyO=ZmT*;c0fX}LL0+w;cNvOoJU%9zX z^47IY%8Rp~ul~*6)Ud*L|5xqDS1vAiSEe1dc0yd$UhhjGW*#+@P4p#wQ?I%%RNDWt z-~QjrgWhHDZhpL5Iy-(&<*P%gd4G1il*$NvUH0bIqpYO{;gOLmKg%dSTmP)}^n<*+ zyF`D@FIg)c(_OOTtH-Jp8u6#h9adjl{6|1v_;kXtE$g;_Qs$n<qx3B9Qumq#OFfgc zJp$!wBMQnch-T|#7kUZ?c${0U&+)ZD#=W$3>XZ{jN@C~c3Mwv9)hY{d%bI&i^JV1n zRq0j#pB$R&y4?29g~j&2&!pS`zjHHvZt2<`%vsm!Kg&Jl;_~|OXU+GCT3Zd~X8pW5 z-6P)i;M$n2M>nNR(26?DA@sK<ugPB_m7|X<K#(CQ#cIwvPEA&~?rJ9X7E`x2-?QdU zOL(p+%=~s@qT#$RVmulPUAYcPDmm|IFYod=$Mti<=eGU;J=y;nYxj!BMZLXO?mEr7 z_TtM~>i0Bm-m0<|?{g2}TBy^tP-B^Q!ynC>zPjt0PBI52m2|e0Mro_ozHq$YckG<4 z`U<m2bM3f|nSaz+6nvZ7sVu4Wyt8N7WQN_cLCFf+l5SdTuwB)*D{W_G<TM2brn!dM zd#wMiF}`!SzUtW9TN^h&TsAv@#=3^HV$Uu-J_{QD|9y7vz50)N7VoX!@5ui3-2Q*7 zY<67a<n3R!96iN$nbk7CaP#xCn_pD+-#Ru)CH<!1p35?#YxH>5NwU5wa%4Hjw%qJp zVyWbG4gE<D%eti`FGNl6x$$MArNg{wiPNWDxlw#`%@y{<&gw#rgNqzGe>LqrlRSl^ z_;8iY9JUztEoHABr6%1j+ciBd^5HL*;_V!LYuDx*Fh9!vY$we)ZK+;fWAhwqWwV)_ zeXoMb>ZYY$(Uj8WN?hSxVEfkMv0DFT9){&|`p+yIIZfS+CO0zL_X)Thyv{epwbA3m zjY!?#^^2E<@A%#zc-QU30^_wA&w4&)?LXZX`FmO4+CP`)%SDwvzx(~q&y&yPPHW6C zxOH}(>DgyS`?vh!ynKLd-%(D19EUsJUK8GJb34*ETSQU!>-U|Z>(>Y>@B69oQM2V} zZix2x(^aiD58upC{{GcF&$(&F`Ma^Z&qfsY_ZFxezNa2xQqyu+_mHB|hEC}tugVYe ztx(@{P*y{0B3t>g?kh!|o}HzcnVES}j?+S3K2lYi@_JR4*7=>E%gd+L{@Qik?sK<v zeciv=Th~sSG&w4#cIC6#8jTbEwmO@ddM0hJoNpoabeo$_hsy6KOIB#S+!YZWu|WHP zl&r(8kb~z7R{z`-w^FftgR0Z?sVf7XEp}PTd}GFih8=DWC!*Nf+BB|f-(#=7Tq0a> zqUgb4RiBW~8<VbmoUtdw`NSrp<2zRdtFK<W>crbyW(z!{N*TMJeK&Y*?NvRa%KF@l zp6d}$Zm}PD{H9!?WVSW`apr3k0e0P2&a*e?$R??Ow?6YiclEZL90%_(|LraQBE>b2 z(Q%uv!Ted%a@MY1kpKAVv&vO$OKtufS2vwio_=+1`M<PRhg`W;<jucW2!<z|D4gH1 z`roSWph=GHcMFftHQx85RsU_x&!f{n`-xuEj`j&X7?Ahri>99c--}C)W^M77lyoh9 z8lKI*`SOVkC-<!N<ymIAHbL$23d;vZDqAMsP~fxu_D;*__{p5OZ6+)Rm!+;hJ0mqW z@5vm#)UBFTew*%1KGWSRZ5)(SZh2AeOGj&je(b&wCAG;*S-z_Wt1bSvC;x9<v5Hym ziB}meZ+$*=70p~6Y$~dIkcYo-mR)3z?pt-vs`+o`m~5|(p6K}L<;~1ho4x&|Esw6@ z+0K5D<5jnWsPN(so2E)AC?`HVpu1b<p<<n+;(c?yYr9{4;W6~|>??hoVzPYI|B#t) zC9SSpGk<*Te$nUk_TN8C=kJ-fP<M*#t)pT8-sZ~*q-edcQ;&3x|Mle0qns`gzDYss z2ZfU4Tz`LGb#!IyT9=fIckJhI+5VbWA#rWXTeoQc4euX6lbbR9(s>r9wYs|7^8Wag zuAg{TTOqQQKjP)_ecx^Oe5sTVv7NDi>G^>pYc(=Y9KYm#Z}(|YKbgmFUY}(y&b#yH z;x+Ys>F?)#w)?#E|Mo|1^Z$PNV*dCSmy(}xWI{{WmTOU8BDcT0v1I4v#U>d`?pP?; z&6}7k`sQ@HxvK$pMJ;DWipkgH_0fGd1pO}GTI*vhw_YzI>Q!T`mbIYFcdmn*HVOXv zo^rkD*B<^8{C#>MGMo2zzF?gwuwz#wi=#)X>u;{7BFnp0m^ruTU(mXLiSvl>%l6M( z8=U8_{J+8E6mu=B+Uv@#E~oC=2_(ipe&L+U()?fY^2roOD{YOr2L5w$V!xj~rNT2s z(fYdXa@8|WCNw8H)p13(6uPXjS^hWD!0`Co@^?E=ZJB>1=HuPc?RN`bPq<uXEcX5X zM>*#;pM-0eD}M9WeVFy__4@xWQ?|B?u8-V#t0$)|>xA{THxoR(XU$&lX7V=uTgMH= z7GBZhd0&w#X<_UW!10!GY2f<9iN`sF`X@hT3OoMr`ikvU=g%=qnFZ$lJ-^|`;YL<n zrKtzS)P;{3B&^t-+3ILF<@?q98?<`-mi#;Q?Edch{il8W%X)>%GN$nDoPXu%TrU1w zw@%EOn5lAlS#G<San`4|P5%piNvzdNeUs7UY>=J(vLN=?Uq@B}50i6q?N2}LKW}_h ztx23m<*=cU$v(l3`>!TRJW^Piq_%Z>&)afIE;kFgww2C|2QC@=6+R73y}nO!`(JhY zeg9^?um7)peLI&{?u0!VnTf60>oNl`EGiC5+`1`7V8^=Xhw~;KUe&wp)t=o;T&~`{ zcI(=rUrC$Y+_u?#J#u;Ot~mE259}A6xp+y*D5ppJf1B-rV@hhf4^<kU<gJ*ZXvniW z;P13st8JUE*}U4267|rzAS2(+E$!-!jjX>vAMeri^7LGL;>-z+$zBniOnpIy%fHVn ze;8SQc81Zuh?{pDrpp9+&W!rc!ub75qln8+%i?D%&ln$mt9z&R*8cy$>uVmL-EmCn zf|0qVYUJgEL0jrpym!;MyzUyyI<Ai{T5m;oS~-mao)kwO-xV`KLRVN-TkhDNDoeBE z=Z9B()1Be-tUKfzFVDL84(EsLB>|VyHgHF7E8lizW4L9fn2lTEqNxiSuKHgN(v2xP zs5{Abt;Xu|)#mx4MxhTk89Br+oAsEd{mBK<q$PfHm1`ffJW;;-&qLX)M<i;~j`JzE z|41+2B%Bf=v(+-^ZQ<lYSF2~8Yl=&MViKUi+Ppw#-*Xx1g`1=gH{X!`b<<1R>bVQ+ z%pRe%{c38*cb=TQeE09V{~fnCr{^DCpTD<qQq;aSqqpYCh5zN>8%`;l|3F$`-`*`} ztKaQ>UVho`_s#QfBR@Vm&075Y?9~M=DqEx8lm;*Jou>97@vG}}jYa)iJ7ku#e9Wk5 z;mH2dC>1SIwo?B4@w7Ax#>;(Mn9r_!d}hM_l*6;lcJw(<Xb|+C(9FKd^oH;8#LdRb zZ?hRa_~N^^r|Q1rbm8f5KNWo{U1MgM@^x{aSE1<nwY&;W=c`(G<}BtcouhN`|Bowt z2m8XN2T$YqJjbCWS^cEN1#|8>_v-_EGA!Q;YM3&zznU6cR20*rVjaGB)3vMN=8{)D z<#pLj4@%a$NbH%gwa?>-?Bc81E6=yxa$~hkPBpkaCDnXqr4++N{R}%x+q`3Q%m4oS zlD%%<C*C}6>1&qd?==0jxx2mm{a2qq;h`-YEze)&5l~r~<C7Cv<n>7|^Yr$))#q;3 z2bR}A>Rj%AO2WN6RAzC)D(}7p(H@5sx84xFQ~tj;K6+=-({`VW-jZ9t^0AxxoR;oQ zeJU&V*6GSm)!nZXKRJB5qUQ0^u>N0@eN5TSRQn&duJ7BmcHg|RjmiDHerfUg+kg9f zn7>Nx-`@Hi`fV!x3jU6FAMR_mm6TF5_RLncx6Uqkv_kM=p=IP^^L>)h+3^qmoo+aB z-2c>8hN=G^ZF!Osoz2zI=X4<Pyh-*AwHKYGzSF#_7bZS9rncbi#l>N3bY%?q&ii|O z{+eX(>pjyvIc?^YrL`yK<y<$Ay?oF8EC0<zj?^u^k}PLG%x`vLo@IJ%o8M-xO`;;* zKjRE8o}IJHVg3JR%jkLD3l0?Sy&x31G3$wz{7;4!g~QWN{E%jBp3l*7Z~t_;XEhFU zavsTNG`>x%H4C{u<>&9FE+*E#<Lx}Rj#b!ZYX%<VXf!|W>**iLek^ADqn}sT?bxy6 zQ=fI6ai}b>Bg>DpJ9ig;|8alafeDZ8I<FmLxBKwV&howH{C`(UU8BwN&&{^XUUqip z-KCoT#m~<Nev`?MtmrD)Zs^sqGGcB}@lHeAIN!6}s{;<F2{7e`yei%5fAapGn3e4Z z3JSK=Cccoqn(w8SUEG$Ml3}{2bWJqdY3oxN)?%vyXNf&Ex@2^BSFirdt*ee|{>}&# zcsSY4K_)(X>G|0`@{@eG^tC!ZmXHup(>%IjDW~GJMYT_l%`i1?PUPBjG>Uh>$7Dv$ znEgk;dejLya`McUKdm9Q!Exfg_L*mz*d3cSy<hHM^fy({dGGR>r*;LNx4I$!^3h`9 zJ9}Iw-)RfK_BY1g{%P-?zwv)AJ^#1n@#n9z<i+DE>~wPX-TL?H=+R$44|`9aSC?^h zm8iVslGphk%=a+;{&OV!z#`>4Z-TE>sT}+FZ?9{af9?U+WXHctCuN*Fbbsyr4gZ*> z&G&7qeDc2fef7Vp0+&v{<JV{Z`f-uJzUu1S^8b4EZ(3qzYoDt+T<JI4=A!NIGu>== z57!@PZ2BW$5>=_Vf@?!s!I3qAdNPiha|H_QU1x4zGcAb!h#6Ca{qMW}8<Sm@r9O$e z>~P7g;qu4ccBORwl~bxdZKzw2ULV<T`SlXj`OD@jw*_9B7}w}gaz}f?mky4%qD?If zp;C(OUXo1>S4spz3}3zq*v^nK`9bZy?asOd`&1sWzo{@ermd|c{D#@GV_996g5RC) z4=>^mzue<jHHGcJ%F2{d7k1U(=R!KOj=h=rt~EVg==#ESZ_e$`n_cv3CAa^oumk3$ z8|S9vo3TutpJMKE?)L-z{9i{aHtsvUE&sM2^TLx(O%uv<?j}mUT9PT8W2|QIQeC34 zQ`XJkki^3;Q!c$<%g#5`?t)&b{Iyd}MzcAR4irp?zOl!L@6e42lA9BM&g@~Hx->0y zRRwcYra{u#v!@ci%$c)CCi|_HzP9j5uYkXT>nG-|Q*L-M!NoVYAyHSO>8N#S%#05P z^_&76R=1{<UVau79G7jo^1!z%BFQ2dDXYHC(@|!MiSH4bc5CU1-sB~lmk9G}a;RB0 zN!Xm2;uFD?ELxMOF`L!Ze`eeQ!(~d*oTrw%oy>Xqa&yu1J9Wopug^`{UVmY^^76kI zZ*G2OlVQ7k*PEI=rTGE>gq8=Y&U5Je_40OfbPu<H)5|@b3Li@?-a77o==tr)ak*NX z_l@mxzuw-F6u!G>=Hx5$R1XUK&VQYeU#$9c>ARch;Stlk#a?dqny=Yx^^isIMdOp! z#qR@Ni=;|_<2=8`aPyS;97>vwFXOZBZ`<Frj`!HAMbdoo2etXCj@k)pJd7&j(U$(1 zAf_nnQF8ZDPfpzK%c7YaoHY}VEGc<Axx_LyYS)sIWwrv!K^YzmpL6GDh-)NYk5Zfc z?9UIM6TG*hw$FXD*zjI^?TK^~X@M&@zrL(p$IF!Po7rixX=^n9uQ`&!cV^ttnQSJv zI?=@2&-!exsOPqg3)j7wSN%@H{>c{qb-V^ocKEORotXal-}m^N^@n@SeS%nO5|*n3 zn$Ev@<AU|}x062mg+yPrINh|;RGq`gt?vTA(uYm+UEaqj3BFBLC^0fxkj*CkW6hOU zCyN$XIP>s7G0M7j#kuih!!1K6P0da>rR<I06j*thls9iGKI;>qUpQZUb;C*DvpkO- zzR2lsGmNws`0Z%<T<oh*xz`>=KQ|@MGevw3d-Y76v+`0{xWqUD+_)G$eEo}rpZgU) ze&$z}S!tAY;OnnNQ*~W^t{XnyWGdmzESDl6m}<$zE%o!1aK)L7m;1T4TAN<ozOy{0 zX5-17Vb`v&2-UbYx9C*J^(%p;hi&)&{+p`)P)Op6X725MUuA=r`BWP5gy`Hhd+c-I z+S*^m8?#o4Hf2aN2TfX^*)3T2VA<@vD5DkTmY(y!e2%~K$;YeeQpZLi=FG`ca<xwc z#Wc+}O<xziyQsPM%-2<!m*m3jjg~G6u(O!M($?%;{d)tG%d2Zg?Buq7S{o^ta-rzl zl<6E*j=dND9$#7Qc~S249>@9znHNs6#<%Rte|6cWok4ub;b$jK{}g&47H+zG`MkQD zSFc{3r4iVq65KocfYtWTOKmSHYltyt)ZeySYA3s5@yB@|oC^+2xaIL$*Mj@n-mhP? z{U3cedB|C9=W|z<!<|g-@e4fDH=a=u__HtI^A`PmUz|9da<8Q9TgH59%W>TZi~I5w zFA6WkG%6miy>zE*zm1^L``7FD*R?J2_uig+ciF9otzRd;ySef9obPXT8vF8cxoz{D zaH}TKr1$0XRO7|hd!wfCG$vT5mHf86t+eGux=Y*|v30)v2ba(D?UlT7?)zdnBjwi3 z+X6c+ifRp~q~yfS<M5QtONnXm7LDHHBe~i4&89@oxFn&?%sl4}CHH$yGmz1AotS@O z-OLo0naj6$=vo_DEE8J(Kp{}DzVFsTuA<^QBB_jvkEdns+o+Oo^qTL~$HzWw&G^CW zm47lREjas&aciyHQ^n$Xz8xFI6vd>ky(yV({#HP_Z2#?Dx%;K(+u!XyccS?DT+8dG zTc`eix3FD)R{bQs=KYmX)!*OkHL$m@?=8Q%zRuvB&?FJQ!{5a|%dDOJF2DY_wRlX$ zL)PONPwGF%`mIxsDY<AJH__p&h)ct*kkxYQ`r4y7-}cCw`~5vvn|HTO_SloO*!I3I z|Af~re3#VXSow6P{Au~o@i;BwWWm+^HP>X<c+bAd8<IC^Rh<HRqw#u1x8>7k1@U`` z<#$!hXFcJ#e(TpHX~uKj0-q%kpUTBIZ|CDw?lG*7tJvYkBBXY{*DayLs@mZ|%HP=@ zLY$jz`Bx@?6Q9Kw7t!i)?|V-5MbZ171w95?M@%hLl-*_;2p%k58ueezfA))W7O!o# z7rtc+4~+}^eEW8tap}cHt@$@gi;C9XdR%Sh-1qxO-1)~<TlizXHr|_m_rvCwNqy6D zE~KqmxvH?RC}gS9%3fJxw^d=nYw~y(sszq7zc9U5V#?=7-!1ZuQr`E3ZWj|dA>lsn zc-qtN8}=3!rCgO@RBL&d(m1(s-btksax<9olzB7PdYvv{J{6!;^)i2Ho^GH>$Zj5? zDVwJ;F686&7H`jw<S**`_3F~+89!3lLfE*Mni@Sz{AH!Fye{CJwNljHTScGdZav#n zEgj>s=Ei4F!#tm|RSEa`u3x&4)K*lIH_PyJ@04Zdc|$rIjc-g!mP&j*;r6b|_TAs_ zu`iX3RV|#ZclGn?n5dwA-hLj%-C};7n(J=-yz{pFUg@*Ky_NZo4uUpV#cD{DDWrV* zd`+!8^Y7=nSD`Pi>F@b)=>M<j^*^8dGynLd?{#$S*M-^hU%h)BX_kLcGw92yAP4d6 zmi6oW+HSom-~RuZUbgBMQ_&ZHf`6OdEsO5n_k1Qp|JHV8vy`sFZ63caMXgYm;92+e zgq7>B>9(v*ELK-_-*G%u<(T+qZvD#T%CnfR<XUk>y<XAxlTp@VQP<;zZ)P8~h?+C$ z`_x6T-jlCxc4YFAvbeFm=hl<HMibN3b6DI}x*o4w*UPLXz#PiGQ|9oB(~}pnb1=`W zjkljOF`z&-=li2Dg?mj0PH~)F;UBzASFZb9<*S~Tc|Tu1-#LALJ*%JZ)ARX1UT!(s zEiRjFZLzMr@I^xXdr^s^JN55HYntQNpV|GpO*&8Ev);Ys|ISNs7W2s09m&0=k^A{% z@RZ8)*Y4a^mim2s0ki%+hi9Gt3?rEW?WAWOlyS(vn<Q?YDYu?i^g^2agpCWz&S^Ny z6!dTE3i(<vsr10RZ9cBYTMFg+xN=`-Tu-~6;VijYB=vaZ;)##Hl$OS`UvbgeTP~gK zQo4sF^<K)=TrP$c-tto}FHh^3yfm&?Dx@o+Xo;v{kM%auRc<>^t)2QwbiMuOHJk5l z;yzbYx@x2O$(h0V%a6@naz4gD&%O4g)Z~sOsxO*))(Ae#I6Cp-lbQgY>=jcFOzwFy zW#wa0m6Da~B6Boa<}{p^ojh^J_Kee;?f3pmm#=Qle=c40qrdje;<d@gdMcm3I9U4r z$DL_QF9yqRxL9IawSM2PSMT>Ks()mY|1vc^toO$Yb^EV-7To{*Q1i&@udhFOuM4>8 z*5qWUoMTtkdgb9O$t6iFy61P>TA9x)<xvuz66~|v;oQ#&O?LWLPulwes$K@Yl?;;D z`{qi`-wpEjqkE@llorXcv>O~)Yb*S1`?I~pKHLgx@2&mHE*TOp(_ZX&R-n$kr|<f@ zy*D&A&X^Wv`C-A85|hQ(sxO!}eVV<J>5!QDi@V>GF5gP+i~ecA$oj$F_U7KKvyZjc zq+c$4aB}vQ&6;}`udz6^wBw7HY;DW8XRYFT<?pM%r(Q~_xRrZz%g$fRum8{ZwDbAg z%fHy}Us`zhzbt4R@xQG2`?FOqf8YPV@7=Lw$36-rYTk_Ba^E8<<-+Rl^@W?${0h_O z>^(C_?3lM#ko#ud1;J+aJy|^y8kbHgQIS5bu;Jm#+~ks3B|bBr{QV_6x%q_EBi9t? z^)iQ~TqJHKM@<#HZaU@V>RYmcA@-W}Yi?atlUh7IN{;_r>$a@*0ZZ>VhUGIjOG-#= zO7+M*oT|d9=D>DE|4or=+Uu+OQqobexq(Ypug#ux=8=qf_AjUDb0ZTrEa^2cabBUQ z(RA9l`10K|H-)dvQ?q^Qka6r+IP(dEIp<^JqF$QiUefvUBP6qN`Od1$#^iwGU4?$H zFSMMj6x@0?b^otd*Z2LqZ2o$m-1+Y_O|!2FyZ5u-ouL!-{cu!E$@|J4dHcGr*7tw* zZI>~wIC^TT^1mM+nEA`Tm(7_vOKklEom0BeMblaWe%&e7-}59WX!6~L6Em-Di@sX) z^y+;ZO`SjYKHD($vA<1Nm}dDz*D^>h(X#P@;1B8i-py>=z6n^=UfL)2?)us<d!~LA zcKKv*<L;M>m3vK|tgU!>H0OqW-JyA2QCh!y&YUZ|E0nkLD$8EIt&>_W|39&hbAfeE zjPB)qHJP1%-#yIxZ}&!9`j0TnnmzkjmE2Z*UK_{4r8wE<&-9{ePdq29rgHhG&anR8 z^!d)FrKj&W*H>Lw8@YAaD|Y*T_oi$<Z})lqZnnPXL9$lY3c>3wEn<$CzZTfP>uI>~ zq{%|wWp8e%?fvLw%y-J=Oyv1F#y3x7&5YDM<zTwS`GPrH%QS;Ug=Q9gUAGKAbqbtx zVzaziv3(QIl|2f5j$a%nOCG+coZdItWoPe-{m!;azi!=ns^SmBgu_k8c3<K4i#LtT z%h5R}7h9@-nA79BnlsDhKLSf6<}w%ce2e<Kc2}3&W4+9z>${ng`sKI%+SOsP;aIAy z^egGR+vZB&@z##t^tfl*n`P_gW+!yr*q$<VQ+?hH&d`p8#n*qxg>QPBoMKZIetqq| zH+4Veo9|dYFY@)a6-VEl6c5*2Jbllql!WLgtGg_ji`7$IYW^*j|Nq20|C+6B-22TL z4;Q5$N{-~7V5I9D(PB2C^y7s;ucjV<{rBFQ$2LEn+n?Y0{NC=c>mlL$_PR5s^z0H{ zx91acSl`a~`>LOA5q4RWRd(KXv(sGeEh<%lQc?4A<}CM^8MZo&ODy}aN6fs~ygdyI zm=hhg7H!H+_7Et&B%PbpTz5v@QR8soj8kc;s(*Rj$O`R0qZ$0(EaKkz-R$R{b=M{* z=e+!Tt$xD!3t!iVpM3UVBBOAGVW5ceypw^(A6%ZhHe}spsydMT@j0JlaBi>CqsF4v z4z9(X&NqWzzkFU?@jaK3`GSS+T+S-l$FbR4*QcGCm3lZ^uIfkT_O!p(x@PC^Ed2BH z`Fv}Yb)V97-|c@~+xBb6|Gw_;Y5Tu`wzzEgwP$(VzvB6~V}oLB`d--j34ER>yZg?f zrJsGGYp$M_&K2M|C#8O}Aa1h#l*9#YX>3Xo&7Fo#Z+jIRANCrmbSGS9PQ83vHruFA z>3_!_Cw{X-x?9d4;r!J-(a`Z`=9w8Xj?*&N{chOwV!=8OZtk1xj*PpGU%4ou*p+p) zK+^Qe%@Z%Gr^H^*xZ$+-T<MZI1)CncznF9(IVJkbztwS7uBWnBZGXKZbJm6_=6d&^ zihFF^vg**UT{9<LS(7X=ll`XmmPJpOyJgIodR5`1_L^&N+3nxl*misC|3!!A?s_9K zU8nX7GyAE#mg#z>-eTv9XK#DE#qMLL@#bmupY8W=%X2!oWqs{~Q`+-uH^2Y<x^jR0 z@9*_@*Zsb(d%Ur3xuuFd@9T(}Md#)O&#V7%kUjqVL;n-m?|!^p8*cmc#^L=sdaJwU zo4C3h{qr$zk&E|(5}V(LE?;}sCUx`L+1t$*XV`synz*znL1}L9wkul`Y+LF-^YPz* z>+L;Fbal=VxsD4{Z078K&Z*IG<%5)*;ic*An+2<naBp^4@g}@1k0l`W;)yp(lTWp* zPYgPioFslGFL>wW_cz)ve(4FW3hIuV{LOiN-$ltQmn20lFQ2$onRTOlOT1IJYGcQ} z+f5G_{Nu~M>&?Y27|?Kc?SYwPM)!RmKHvCRsoL*CBBP+L-=$r1(kHQPeA1C{D<J&& zy8kErm-fyNsQJ9U&hqP*%hTsh;LKM~DcpPXe#wc#{YUc>G%hJU-@Crx{yip-w4JZ^ z-`SHm`_<8zd6%v*P4w>Sn{+neLeTF=f(KO;H?c@+DOK<@|N41YP}xA|uNa3+SlONI zuREHbt%!EvP_{OgP5HadZ_=c|Q#H@d&C$C1N?B;n46Wu>j>40IRjn8DwO@XABd+W6 z;fWGPMjUnNlTW(rd3k;3gqy~$on;#&3~#;^b>~^Mc&)crW^b5y$|i{k^;?*_H$LVz zS+?o+ma`|XH9nj9t5vvvVgUEdWh<Q*Cg(j-^l%g5`txA&rbkAytFO<k{FijyXwTid ze|NXvRh>TP{k_tUyPxjazN70^600OL_ji%}+Gob`yVhx18?R2e^<<`hzvSfl{#UD~ z?pjuBoOZ_MWruZP;m5UW*Xn-asVi`qtk!23Z&{;q<oNH#JL)f!k9LV(UZT8z&EDO` zex<ozS+lq2Nk(71vF2T4O8HOgd&xm_q_3?li!NVRe0%%5sbZB|we>zdGD^9&@XT`G zbKEUKf3{c`>M<26g|SI$c=TF+bkMxuf7NNH{}S()3Kz6GKP8;tH_(vgyn9CEGE>Io zkiB`lR}Zf2>zd-S;hN;@x`sC~_rGVJZA~`f)cAd*DBXTZkJpvztb7huMUI76H?P@p zMZiF={Y&+=H-b|b6l*rk`fC6C-uK@x(+#hfvaZ{{{jdm=t@j;e-hVZJ#T%_>nlakV z5#Og0`&w_`52j32mEG+B|EOpFJpN|y%W2YSCo=iB*34b<`%%5sTE*jk#dbwLTzRVU zyY}aKe{P<yNsG_SEM)BKzLj4Yxz+mr+vgF{*XGIo?p0hjliNMoIb$N{Qp4ZBPUy|> zotqZCHQ|C=#|P)y^{z8@`lkDcA2aibZ2riX)fD<&V|#i2MmEcwg2j&)$84Tc@oh<P z%)1{l)3<GRxw%7T56_%~-2x9v^tMdCc_-KP4+{g&*#kSazTWXdvDwE>S$}2Ea%V>- zOSYN%ec}=Gqhy@jtiEpV`XqIIak6<=<T(eC2SuCsN){wt)jMAOaE|-QgZ%PhuM>lN z?mY~cz~o%vlHt@`{q3V@R^!Zsng8Fv`#E{F&Dub>w?^jG$6~hU|CbY&4}Q36m3GkL z#mYgZKT_+WqOOHkyQaN<msz&`&#PtEY^%SQx%0^1RBgYh7*@1*j%#jEQc_|~Ow80d z4RbqqUO8S>nw^}K^y-V`Yxh2hn>$NxKDvG->GRwC+UI}V<tyKan{F*#eEZfc=BGS? zJW9$7SsX+*tjeygzWt)0S71d+`S$-uU;R5*zJGJww>Orrr|PbnVIX6<S3~fx+X+n` zaVKLRWy95WMQ_{pe_X0x|8nWUyzb+2)in<%HvZGOnx<a%?OU%Pi>&@}3#ZMq+1*@R zOOGB=yK>aU-F$1=7O^j1O4PC?UAcQDB}64JhTo1bcRdxq(l%DN^RJ-$r1$j?&Kp`- zxD{{f_BOQ2?opfc^tQ-a5z9Gqqs?}#eWkCrYE|&=pruSlwNBUAo+|cfV>!A(K*=nQ zMOE4|?b`0IR+D?#78~vjl58%_n9bF;#o(@Y-Iom^FWG(xT76{EZ}Q!t=y3DeRLA#b zzn#B+jq6-K!^~z6Q_11xjSCacn=l&3%4l+Vd|nbOpdNXxrKKc%NB;b;O~JP~Zc9v5 zJNj@_dCs2|=d>@KD7z;q9q2dTdWz@Mbf(D$r@w725V<T8(!oDr;#AFpb87^R)o;(Z z=NY_gcXWO2YL;v-?)?3KuSK4oKHu)i7WUl_{3ktcwf(1l@+HsQW7#{IitbIkUi)j; zU!?`TXV1zWzLO$tWf1yUJA3KNz3I>Gl9!m7dEB>7xKdQ}%SKVpP~6(H^sU&{wYx)4 zFJsm5J2#s%?8@g8ryB2SiwJDlwsqFSj-c~8i)GGRCa>H5<j&Gn`TRRlpT|B4TT^-P z@4t2ICN~z|lBr#u_1fhZi)ae>fvOar18=u1zTlmw?E3Y$$i_p7JA`yx9u=JI*x;68 zTy(~ui2v0LiL(}l4<=s{@)b~aZdNroHv9V9O^!;2MR#<6iSP94QE0I^W|Sns8I>cF zHDPLtB$uvLWYW=e&bH&1dgoi5+xz!W_nj}2#U=+euQp9x#QeKgrsPS-lp9jFO5TcW z*m7m3?eFr{aVrd$eUiRn%gOiSPEDA|?F_?1i5JRL)Z2^$lgeK#Fxs&1#f%%<u1q<y z_vXx-=l?vfulxRA<%sWWtLGOkE&bf~{?69(Ya=&n6$GtMUHZrWysM%1wWujO<iD6s z-n(+m#h+W(|GoYD-`o59Ki&BMjqm=iYv1>U1%*|lx@A3jvFX&YBXzxHx+gq}RJC#$ z{;Hk$`0ClMDld<dC6P%6*Ue3L92S&{SS&dG<gdt9nd@s4`Vx(13SE`dJ$~uF`k|>u z3PZZfD|c45%@Gk5-Q^p7ZFi~u+JfIEvt>1Qt=;T=Jv`fL!uKPd)k3q{k2}W}ol+Cf z@~vS>U&nFrL6K$N<oc}}=h=N$`(RqO<KO0-So_Ulf4As!r0+Y+Ju@z9<IV8SEY~HW zlitjJap1F-#2dynywP{F+isg)t5(=Md-`<67M<HCW?W9!E&2ZMUETK+%v$jRnlFkg zYU`s;i0p{E@N)UvMvWVLzH;zSmcJ^?|FCZ7_YHr~2C&-No2mK5s$ae<nLg*`v-2}m zf7C6p4hVbouVntW%)r2lYxnO=eReZ_{?}>B+W+=y|CfLG)mid;^bb9)&vHNhzJDkC zf9Cm^@QA=bt9cqW&U<J2u5$Ok?$E2VHT>dZuHPb`xV98+S)1F?nD$p`%cUzf(rm9> z*?CfFm#MYDjG0yO8jq3+cEz<H+<a>uhlzFB)Ey>QrQEZh++Vj>+B7?QO;POWh}G_^ z-PS!f_`q^lbg7hiUvJLrH|)pV{_C7qzHoridClwaxw}I7_<wp<oxJ>|`dLZ;T#GQS z4AFJF=G4Vzt~l-Je!_rn@?!l987IXopY^UT%gRZbo%%jSR3a|ww!}}4iM-1GofouE zRVwny9cUL#eL5*D_hP{G63ZWd*KPQ~mRjK{<zaN~>?~V%znZp=>PgKZ7mN~fR`l21 zm}^wNGBsMJzb<BlgYKnpd!-wbU%NCohh4jIA*U@)GQ7p7@XJK!_Qk8SvL?yZ{+Rg3 zwwmkw{#UE`&+q;H?)E?TpBKybe%||kSK3=P!Re~g6qh#!%3FN-<u%bQtVtnb>urs* zZRg69L*g<Y%~JlZ**<0BT*2+-|IdAY?fkdD@Atj?_v;VNm#_O`{aO6nw(}Jy|6D#} zc#K1G=329Zzh*^kFFvnlo_sH7tEkpyk?D#>KN@D6)@(brwa@J7o)<q@;)}2CT`*Tm z%`8r#BS19v^t5Yk<qnsY_S=5y&=zfpi3(fvd(xv*r&q^#X3mtEwqE-7bB=F%uTAHu zpIfA)&ARQG<%GRHQZsI?KRb{ALE%EZUHsFQ7wfHfB`I`P>beu-#ttdHs|OR#Mz5{7 zp{N*~we`~Eh~SbKg;Pn%hMFf8&Is}R_;}sol7;vlv;7HMq?O;X+4MDA{TE}EpF6i# zYV+>X99dz3n|k7pU(!;1vE<G}^_quMbj7ybpBcfuqT%4<xQY(p<#&$!N|=+k#v|kL zvFF*b+jr@{zP?l9>YZQ{tMcd9bl*87CO%xd{hpDx-*0`k+k0AlAKKqt$#3~?`w!jy zpZ>nL{`33(-?~fbcAszly?S-(<A&bF?nie#VxB4`WN`MDn-Xi!wbff!#a`ai@v8Hg z<n&Hs<;g7t$!!7Wj|wope%SG2Zu*l+hNpE;-#B>fXk=)}l^vql?K_{I(t0hTF=vrO z;wKi(aL%IR6_v^^Z_i3^*$~EFa`I#QNseC&)ef&&U$eyMPe`ibmWK+PF8SBqO5^U{ zv$*G28prE7zjy!E-EEdM*Jw}P-1_w0$K+obA4vKBnCt7lUp<FkR+|b+NJiQ<N4$5K zF`@j>o7>w@a%`J^dEqg6eMM=Hl9X3Vxy0tx*R}RqExp?Fub`>vM}^>vCoM&-1xuE# zy26kh&*;^)uf0TEdU_6vC7bUT<zo|dpQ|1c&S3RRYH6Cpv~}^@J6nBCZy9ahzvIW> z`~SXupZE9I_5Xj*?T_p8o~HBf?l)QM{rjulRs~;>Qgy#@^Y4Ax@)yVcMcKc-dR$p~ zb7#b^>6}6LnQyMRxVJkfY}N|DmX*e8U*ZdoKD~Y=?3&A+%HMbYKR#FSXQg`nRD<>- zer3B?+ZC*Jv-8^|_y5q|>X@98J-ehn#iZ|VJD9OY&2fp=`64GLtCIQO-rQ7fO57$L zcwZqYa^_z1Cwj{!g<cI=#lI_5wI_{rW^Eh8Pcc1T{hRSwpHEh+K7Qre)|57bVd_WI zIDaP|&&*|kbzd4aCd$VpJI=9;nxFVP;aK)$cZ0cp2eq@0BxJ3Xk9g>CZdoh8IkRP= zaIs_CmHtalzOxAL6FvR9Ve-#xra5hUjzs&~nCnNYY_NEsclLo?u4=<4W>GE=Et~GS z9S4;J?URZno-Z#p2x+YK5R<hk+;{ysbKLe1#yj}dFsk$=Psuz#-GNubF)(rOEe7=+ zdXE3J<*S+=l--_Ne$TA_r{wbAi+){rtXs+2w&2tDC%M1htLr|u{j*tVjj4&rs#Kk` zy>hm<p0PfEn!c-S;(>2(b+@jOew^weEh%X%QMKY<R+8YB)elkxXCCN!@TFizimuBq z_Q2#xOBGhJXSFZ2i(9gVX={eBRchC4i^M(EFB;X?9$g(8x!E!yV*M=E-owjeRa1^P zF;x_Dd2ZnPcP^x?*U!qdtiw6QP{L($@zlVlb0h;MDO{`UHp*t|mf*}+$&m0|{2;sP zaA?4{;A0X;9NgUhul12;_In}yym-ch){{QJ*8JFS%j5R7cui<OAJ1N%eLUvRTMgOS zjz(65TJ-F!%CQWOdUWO1;c8)qquS2zwtf#$Te6_}lH-~>_q#^M*3O%+P3FC|e%*@H zAKq`p?f&mH6p#C{?Y~>qZ1e9|rr)|{J*~OJ#N7N;;I>=Ot8)37EI6B4cHQJuQvWEq z=xY0%IkO)5S=Ywh++XwQaq+HO)_m{o2AjNO4v*jZb$$Q;wfS|QFV6VU(tTm_^Qf|| z+p`w5Td?oi_Pb16YNBB5+ruZSPi;T+?Kq>WwuW-Wt1EjCKAg$HFSN7Bb;G?{v(*cH z`YycVz4iUe-|W4Wg(8->6qIe**gsF&;D2+^^}rc(&P$X@w7jW`w?EeS`$1pz8_p?0 zkqgfhhDe!xn17|0ciFe^Hzb}!S>Gux{!`^{zoPwLrpb}LhnHPD^IWl_Pw>&CC0{KI zy&6x4ZR_6m&x6(E@h5ffLW6s?kMHkSTzA6k&c}=1Z<#Z$O-Lv|Wt(#MmuzFlbl0yr zMW@fdO@II3=bQuoIy*I`RvDk0B67Rs-<f%~=XGOtT#2p!+n>rFRsL4@j^*R6YiBP^ zpWhRnpz+vF^8KmT7R$Bo*Q?I_{^b10%Il{qtAix^zD<~IR=jD`9p|jtRR)WN`4kU! zCNoX=Zno1smH*53q#p%0Vw28FedL{CctWE_tto$E%92|FCuRvvjT94~wnOBq<$0^m zA>WT2*1vHhV5!6`gKJsq*(V*ll^C;UQAmPIDVxP@Hp}E?t&RrXVX<>L8jBakPxF~o zy!oVe(JYDca;XVvAKFT18Kz})rMd{*dm-r_AA69A->5qH*r5z|fhFx{;=g{lvy7qd ziS5h7Z#O1?s-8cSJ$U+;z48Tzwklly%yK}^=#YZ;qd&7}{V6?iq3uk3j}_mZ$PfR1 z$O-=1#Cq`c=dvx^)9)4@zx(|K!~37FZ`U7e&Hw%B{kxsza|;<bW~CgN*dn{;v)R&D zi&^yI?;n*ktWow`vi|b4b4BlMs{f@g^P6|^*KF%N%csine~wJsZ`c0&-S5j!qqnWu znenYja$QWzk;Gqb&aW!p6?B4ozM-aSWMkCq;0Hhc-?ZjuIJ-*eclh%;%c`r2)OZt5 z@HkG)aWPn+@o1Gqm`HKl-}mb>&vGq`W$s$E$Ya8s$xmz!8!%5UelhQy<^S{RU+sIx z78qC%zF_~tm+SX`I8^)n?kcO&S5u_*c$8O_FG*aZD&xwp_0?XfKrS-Yh&M}y?U<rc zui-6st7CJ$g^y|WX|3~g__t5ietXB9%D&)}GKVD}+~$iuotVJva3Q9DjgQyW>xSZ- ztM5+K{JOD_eZm~`B_{bF7*`2>+H0X+!gn}=y-E1?5>BgCZTD_VrMRAps;u0|QqK~7 zerBrmtg?<7k-F~d@1Fa6as8B_h<C@QcOFT3-hMf7K}?wf(~|8o`W>DaGH^(_uKo6+ zfum{qk_{JTNE$EyVaqb9?8Za=P034a|Gl68Tjt{TSfg9#Umi2^pEp_m$$oXEch7HL z4L@i7oLT<Ifm6$tJ&RSl>LX^kJjC?coij)0CA+E5VdYB8**;@~jr(6t4zV3GFU?vL zzTLTDh55wrkhvLZ9}Y|qWZW@jvB`|pt5%CXynfR}FrUw|VB%B$r#E=F-_<SMnwDN; zo^$_Ypt;-ZJIXtYcga2!`7r0jO>3FVdV#thJS+-4=G~7QdXjf~WNoq55oey`!7j4U z`AzwQdr=dwMqJs&a=G}8%R3V#$BtHw8@nwpt_qpYUbVdTQN+4}IgICf%4Z30^t1Y{ z?zrG(<u|K0DLkIr7WAE4>eBXUw{}mN&7-eQr7g2e)93Xc&)a=wqmUwBwAuTDNtajV zTReR_|L2+G>nlHPvH8$&SpUwh)Z4FrtEAt&+k8iLX{o<2TUpq~_m*;x7l-tebt=4# z+B#{DQrYKq+-bKr>RW!O@3VL`!?^rz^?&=*W%ajj-`n@>N4SjLebY_VZEs&?=M{78 zj$9iwd)Btok`w1`?_+0vuIJaq<i7BJio@|^N^|D+sLVKc=kfX5yv1h6BxUCCRBr1( zag%-J>BV_10Vxqbdq1*0IwtX$M?i9Sl2k{R`<)5Oj`s_77WW9MpOVj*T>V+#*1bc= zJLZ_)fBaiUTvK_UxRdT2{)=T3E-HlhO_R9f*e!muu3O~EH{Pi1_}ypc8Q)#E<4fA^ zH<PlTNR(Bcde+G&@yOA&j;~O{vr^a6dgf-PTMv>~{-5E`arw-pZGuj-^zI${$1bDd z+oJic`ThLlrALp3-><y>c74UCIkSHJ-f7Jwd@A$&-R$pE+}F+de&XD+W3gAirpE?* zH}^y?pS)dR;letz@_#<z{>uNumaw+*1xc6|?O|j+#FF0F<(icsAbB)kN|(@Ng-0%W z{&Np+`C(#edb5r9cJAjk*>5i%uU=dAOQibq?fXh?-(=cnEZ62*Au@SJu5jf;6PDf4 zwMV9&S4k@VG4FB4`)Q1?KRn;#zEfg#uzic7l6$S^TbbB*BF7nzFN$W{?Z@lUkhS@a z)p2W;j#)<A=cyD3E;Q5%S@@~#^T+8tZbxn;{!_~0Rem^8;G#@Geb+x5CYf^ALkfmz z6ThDkOP@D+b#9nt)c%0RUTL%Ji@IARH!uHD7+ZVR^nUFs?%%(z&;KKT@nhHD(;AsN zu?f%5+dRrp+H_`-w>|%VJHhCAqT0)UPhu{MkBf;b({=kDZvXdUod4FH{q=wD*TqF! zXVxv{$PG=Z)!+HsF?xU5V)t1Zn+tsnog}^%NGdS4Id<K8^|9~#4LPHBrDLXX-wWkj zIgZ6Ps=M4s7A%k1-*L>+|C030JFTK}x`vsj1ar+S)%uP<-zgxI&ooKuL5iQtlikcy z86G{~d{e@$Gt5H6FKDrHxYcuq;43#=-KyuwY?>VRTT9)h%<Dkv!9%tob+$SC_dm$m z?dZp!+A8s@CwXG7vhp0mZF7R#cv3&-l&CHJzQg@wroWJTW6%jM%Zt^XYBTN}y1xIH z=xn2%@0JU@{jS`0;&q7{&-c&oXZ?~i-EMMrzE$a~u5*5zt{S&gjWR^m#Kx>KTD7uN zPEf=v;}B<NhpomXx7Bl^LKmd=?0(K7E5u{OukERGB$-z_Vspp8s4Fisx{J0(o15P7 zHUAr!nz;JyhsAswnfdN|yQ~PhF0_7j%wulRr-_0)J4&42zrPZ7<@2mt_7lxwCt9(7 z-TdN{<S*69tC#&e{3~?!nw<+>Sr6*0`gw0==IdLzVGK?Sj!w)~_T`+}TkO0|)XZvU zxR}TELre0m_uh&SUwP(J+EV8{-=HghLN2qYtJxWU6XyOXkuzJlE#G11Ne<N++k8(& zE|9pQy*_s5Jx-siN=BX&lBZwxufILtgz4v(bi0o$eyRQM`qJV)!=$^xV8)rdKOUcc zRBgVX?(CtPhZbBsyVj#^#RRDe%RJRkQFFaJ)%Wf1RGcpTIoG+#Yu=X~FBW<8-@dow z@7m8|Iu|UyYb?K;pe+}_`fZ@(g~gW6-&aW-H^`f~{#kzevAY}GvQHMOS@#~7keV>{ z<<3t2|60A-fBHDArJpw(Ic~suue)ds)7;A|)~tNS$I-3*!qLF{`Yg#ef7oOdius<f zr?8!3uX=LE{29-F!*^4*R-X1dQ<qfod+T-PLh%4~^INyfd-M6MlQz!%HqG36ePeCd z^{^ZA`TNi6?R-+T`{gg|R*|j8|B6I^`OGmz#nM)0`t#G77o~Hn{szzdJn3G#&xxh( zS3UMC{jvJWd*iNL{LV|~?4DO|d%tM!{-U>~*Y|urdA;P(`{(~Sd?emI|7ZGVb9%wK zoA+<-Ubn6+HTf~0x`5+>%*=NJYhtxMc3n{wNDl13qsc89IQj7IUk4k6ZdTT2H<?D- z7&*)B-Os#Ec7kA5SaZAR>G0Jh*_-bc|F$hVezu(3Zho4+W!c8J8&Ah<y~MI;ZK09C z2W6f(G1>Q}J$@$KljbSwT-0`c`_}R0fhkJvpYHMs#bpNm47$?Z&cUklRafcA+WQ-H zXBlR=a=%SK)uQz4v{&h-J*(or9Gzd2^dyD(SO0v2XO9;z<Vlp^|H?Mybz<qCBd6ZE zsr<G+-Mjl^A+yMS$?e<L@vUF_UdS<b_MCZ|mzNr^pZEB*T<ph}`n4amkK6w|wC`>1 za_v{|0!4+BMOk)USp4mVm8APWDdW5U!grO`T)2Pnr)aloylO|?+iTy<x0#fmtNGB_ ze(&?V^8MvECx5RzDX;hYqGG$;jNlcY4l?$h&8^>ads`RJi!;@dx$3Sv1!awO3V#Kf z+e(!#Kc8~Utb4=pp5GDYW;LHVvq$*CoIPTGS0du9kN9nRF{^Bo-?K@~U4iEk%6jzA z3)(xLVP`&TS}t;Oee{&5r{0Eb-wUD^%jodz{eJ!$yFx+GtyX1@Ll08CH-7BA(RuEq z{&me=b$6xX^7ZSVateK@bSW<Fj`*f^FlyTwy+3cKe!Jk@|H4irF<3(^`N{XlU$XT} zpWcw|+PJ5zjMw=1&E+%iu}@;R{QUTOq28Tr@!Pv9H^)|<6fHYc=wAQnyZGOCm(M?b z`j)jeOStWKWzEm~AC8&x<lo<y`rWcP&EDg>ikSZOFVhU?SZ=;|(pbVzOi^rmz(TIW zF$xk>SJ))K6Ef|6H1niGDtG7f^$9Oh_spJEcI$Ef`r!2SVuF`%y;-<hexh1Y_gmed z%lo>&f9*(_wcv}?#F+(L6&Ab0CknEdeDj?mdnQ-c!-`Kod@-wLl3JIJ#>Pc_dtxs< zP>?-#X%SzFpWN&fwhDg}I)piYE}EwjCwt6yn&K>r6u0L47Y`X4-;ujpl`>oMo`IJg z%gnEm=Iu=V9`=v#onP?!M@GalIYmW-AJrv$q_5`+*4%q^L}|f|(|Y?KZC6@-R?^<~ ze*LxIVdv-Dzt=lebK-A$zmAY}^PI;|lD;QTv^)O5hIImG?cT__kKgU9_x#&mU-WKL zS69}Qdv5alcm6xPoSDAw|F@Z&m%Xzs{uYv%GyV1?cKIpo*WRD-T)xOH;<QEcWA6)_ zvL7BdvitJ=v4pdnQHYYa{gEBZMO>aev3a?D_O>bKzb%u~QxV}xp6SS6R=O%&U6o<e z<O>Yn{J3v2nS3++)wRsAde7gL*6c4t9F{aIn71waux~rF@2uw&-}5!g&fRsT(A(|v zk;(B|`#cuvRzImL)DW=C+T5+T<4|4wKhbS@XRC7Um0s>Jn0UYb(H-vN=h8i%aV+D0 zDNwa%;=Rd>9rL19yA+ZyAB|cs)ckke?sr?S@BO!R{*RxP_P=lacy0Od®PnaRKZ zSgr2dTzQCN&hN{`-S$5Y_J38Vj?i58J;asKL?u#r>gHS}SH{Yu0}(wR?o?h_B~V*f z)Es$S*&{3RZ*iJr(?aig`90U4{0yF$`s&KEVxihYTMsZkmQ}dOXLv97>84P=+sxIM z&#)|#YLiw!D1Jg@<|c)}Nn#huo=m^1kp0{*XY%8Rff9|A_X)4{Qhs#oC5O5Kk9A;W z#<b&2FW;;3e(z{d{?(<S5gnq;|Gr6!uQyFCtEc9fB+GG@q>Zw_-|g_8pi~^+(^)n7 zF@t8-B(LvktMAP$TUi>Mm3zNg>{Lg7=<efgSDv<gyO(`_^Y`2J`@5een6B(}J$b&q z?%vl`?dy(4EXbF&yr3T8VgKyR40pLwpNiJ(&^0!to$L6Mx%GInK5m*Wf4%g|MfbYA zih_c5&kpNJZ_Bev3i8do`X<s?g)@5LzKgbHKbKDLHodp1>bKVJ?|s#=X4eD-%kLa> z|MqwS$9{*G0>{^yJ=FWS|HqrjpTEvjJooADP1B-l7OLr;*^D;t>L#2&yyAFYw!qy- zGt48Oyg8K?cT2RVX5R0ZkA)7rx~Bvcw;cV$Hu0j&l#T66+^P;-ww&dyH~*Da)>5tS zvld_5RDIeae?uJS>N7Kpr*dX}zq|2>B~OWN_wVE$<wv*sxu^0JN(s*Y-Jm4!K*&1j z&X2UsT}E411~21M)c98Y;>UFPr$=^OJ$*f<{_NK9c?KI<?Do4S94fHizyAG;n|oh$ zEIxOCL*nC1<8;4r{n~?i#<{z971=KPmA9)lwL9a=*)&x@mpxxz_eH&_bF9fL*_5H+ z>Y`(pC*#H&t#hnZNM>cB@3SJ;8$xD*vfo5pZ&$zB+y3^(trck+r){;4H<WvFUCj>Z ztod?#v0VE{=1n>i8ak&xWKdrAN5PLR_C$jn`<F^FgZ077bG*(mO|1Ij-!^kLi&0Qs zQH|f#UWWVLABt~Gj@Z+<#8_GIV&$JB0xHcjT_4OmC@-JcZ+>g>G24VZA90>XGliZ= z1aR0a*l7Qy<L??b!Q90x#k01**<#ka`_~SRFmd6y`<frFFfOsqJmuXc)@C#7R%DBr zSZe>QV}Yw@N}BhSTeu4`&y33F7Jr*HSv7dq>v`NcUT;ebzunFW_&rng>0TzuN~zN^ z#cxYb&0QDXwKS$}MXYbG+^5`>$1jqno!w@lZ=|km{OXMGbKf5Vc7lc{F38A#{}Lv% z{y|oXr>#`lou-|0U026dJq`RSeDJWs2hHXBKddJ!m2O&U-O)HNVaiRtN0yPR{quVk zAO3vDe5F+T@5Ozy-##=r#Qbn8*V)&H<7y_fRB|2Ja9=}lfnTucj4v#1a~5xmiecEH z?0D8Yt9G&A=NpGUKl$P<7TZ5JxWISMw7G^4Z?u~DOr61doc;N`-1jzT^LBho>wL85 z=L6$&6}SKDPe^^sT0Kj+^p5@n@BR1de#h;~x_aw!QR2-k!^WL++kZ`7#C9r4iEHXd zfje_M=WqD&bv5e>{ZHpy!tw(CyB&_{S5V4QcysoZckRck*)KE~Yrb8YZnWwP*Y?~? z->&`ExBKPM?~}LpA>Vr@w|!e<k4cMJ?EETlS|Iz**Q1dx&8%mbUU{!v^h@CAgrGSW zniVDO^35JiSmafC#3S8M&FB<I-p#_+mK1|FL$<$@1irqv{IAC&_glVSFXhdP8G3W> zN0iKS_4OBFk(?dz`18|)+t{l7PnC52vUZu{EVniO`QF06VXFn6>~xU55cm1g^jjV0 zcCXnJ7PP=Ou1>|&$1^D_W{OruPR^Fn*=9GK`R#Ok^LM2zOptWTJTsyFVd3Fd*ER1s zTfTjAeQplBOhJRl{VbO-?M**}_N|_8<H~YacU$o9+qv6Y^X}yDdn*;awP<bDi-){C zw|-rH?LM(p$B6H+Y@0#%q)w~FEd_h}$_zfvR8mYaN;}|~#Z|J;=0_ac;@|0C<Tvb? z?XbTtGDIe)Xi>qr?mt`Po8$eTr60I|<7>eWrL~8ff3_&5-Ag~-B>duXc)PEQZ~iQw z+YIUrZWc>ZE2Xyoy}BUHeCzbs)gN!I%<AA1ycKd#LC<sYmHSa4YVK=oYuZ0vKa_rb z$Lq%#&F63K@Uoj{AvV+hM5C3Z?y&>$Y?YVvCkO?_Uw)dv%f+j$btc|Eam(>{yPtpF z%z5~4&Awfa&*h$)qS?Rc!*`Et$)t;7u6sm{roHG(e<b0u;>o{X?TfeT+q-DEa8J3} z@+w3k=+6Hh$=5wMbYA(e=|;B*ta$O}UB|Yju8?Kjv2iPoewuZ9{U%$nw|VOW;yz4l zpLVlrsrFi@YOPC#C6|29+}8Gb9>cBLt@<H#;irj_kJ}=uor7hMS+Yq*UOF>Dp!BnB zIa9;cVx|7~Zj6~%rp!Jv;pyu=o5Yq_uq00?7dx8TmXsqXm!3Z<(5HjB&L`re0pH5i z!8yVDJ6IKeDRn93uc|xm6}liHO!3pbzPG;9_UH7@3iR2k<@%Ui&(5jE^x#WV(L9c* zt9?@@m7kn<J8s*7Z?|@K7YlF8y{&lMou^jvK}M0F(Un5k$u?>)TBY~Ite&*kz<*VF z>DJ(!x3`YJdC<%^)$X^*beX$1w_Pra+|aJ@NAnVUe15;(t~=Hz&dxPIT=phoikQRh zd~225W^sonrzO*$h9>4OGT+jDU*+-?ONT#grLqNv$B%3iv0PqQTvk!_j&av}?Veh_ zzncu-><}&5_aN`XoX_Vb7jVvJG*WkR%hf+6Ajr%0b+^J2*Vq1wUfG;|$rR_$7kli{ zGD{u}ZcWw;au?=Setv%Qw136Qr{Yg<Omdgo_Kxpvuv5>j)GdNKx3-n;UK}jB%HY|w zA4^UwJ9=a8%$^;GAD`UlC9GvBA-LY!+uqlz{@k3Yi%%tAyEAj$Id%7vw>R3<=h@B& zR~z%!zuQrK`B3N`?Zdu51-n_gFNi!1k$$>1_*m;hsk6L6%5xt0iS0eHSg4aDsq|{f zgU2i0@_n8nRxnRcbc4Ysxem+oTNZp<b^4lv_le$BQ<pfedzH1U=4I9F{jY6iZ@;bM z*e$(;i|u2((K<%;tc?oE6^8d*j9FQio_ad9t)n|Du~L4MVEy;kwTo25a?LNfEStH* zJL*qo+6U`^V@_2f(+qmb_ObtBxNO@J-&7)^y*5TXH(kZm|Dx0+4UKd2CZCJAk~iB@ zi$~4Rv5RH#KAEJT8r9&}hZ-)w6ERZwb+7iW<ty=hH$ShHHJY&fZsq>xnc7Pm?=64) zDriY8(@wAFv%R-0`^>oV1drea>!+2H7q!>%vBd<<U8&P^nd#Ku`S1VVS@@*VYj)0E zy}cjgYvR|`l)e@!{J3JeOs;Y2j{IGZ_0(;ycCFv=zOnkImLUK3+&qVux>os>>^e(T zr}!UZF#Z<PZPPn-x!#q_QhD-yBF8xn3OLJgr7pa7yk=p_>A7luo8LcJV$^@8v%~b7 zMbd;LLWMn+2h%4W(Jir<{i{Z)XsY_92DTM3a(&WeS*y9VWrEV?87sv&mpt`$-6bs& z6u9bnt6$P(p6fCWcb2aXS*iF}d;OG>mrJUwOFk|v`*4u`R*>Wy>;Dz&Rbpqy?v~-0 zU2^%@SLs+!-Md0Bug`cX*S+WX?9UFH_H2{8F+bzh^O!U9eKbx;KL2%_bIF|9r#~Ib zzj8}1a+k=Im+xQO8RyNNQSs}JL?h?nzjt={o&TY+wIS0t@a~2$OFOq1x}+)<?0vOl zy5=e7TiJZgt6LZEU3~cSVV$nZC=rfDw@(%-t7_@*kF`AKSIhQ8n)&kTj*G>WiCb$M z%T~=={9>kxdx=?A9;fKmTeqTKT7+jGe7$w+YO@=Ac3#f?sQ5dwHg|8)cHgKSnTAnI zk5282sMHe(4vNu>*mLE#aBy_@!m@~qrAI_#wLg9P)}!^dP<f@OX?&_r*V;b`7Uxd9 zea10wnOaQc<AZVQ<KGKuIjH!x8_u|=!2QJKr(U<#1a+eo5^;;{U!`-02;bNDnD_bH zwZ)UBw!S!i&+CHK^r+a*I*0D=nv5x30*3-QP1b&N-RM_;OXaJ}ae>_1`>wY7I!M1# z^WWxWsrPFCTLGPG{!b5e?OK^X-D-}+X_tE$^A^X5pA$;adUg5mgUZ@ct;)|#_Q#h8 z{}ijNpPN7P+{VP&vub(l9+f@`eWWsBQN@?W-#NXv>h67hpnT4L#j0g<Q|HN+ePA?8 zzm>C8TqM!!;94KSyi(V#Yj17xobbCu{7+)dt<)QiWf^A<F((=a%zk)KCi`-=pPVyy zTp#Ze_v`KABJXyl@p4Tp*f{xghhFn<0lqmu#CDZUIg)rU!#aA=>)wy+M7kF6p3)S( z9QB8*C7|Ju;Ilyg0`m=hPb$8g`g5XmFH=wMlg+6nUuBM(96wR2X!v1?=(Dr8@1~ub zv24nbsN4JYIu=w+wr;hU@%qZyo^R_cHs4IH;ZpFvm42?kV^dN6Lber;U3>%jq}TIK zes}Pr;@Jo1k`6rUS!z9V%ZaNW-v^vp8LgXgwe9NccWdIeJ9eC~F)3G<({B)*VQ@#k zq5F*HHUD{gdXLH;c5*p+=;x19yhbb@Cac&&kG1^UFQJhY**GuqLebalKGToioGRMl z*JN?kqggLfR`z1Ig};(=&h~gW1L0*KLQPNCFW<BA`N7nHiEm`?9Ax4w(Mww+wrXwD zyXes5dp1iwFYdIOw(-Zaw;zH`s}zEtnL5{Q{><vmbbtHy?I$Bz^D3`oD@U(<7kR4u zdnc#=yV*s?JT_L(bh>nv4hf#Ue3q+Sc~V=6hxCWM5P?eNe2EhdU-J6q7<L<#K0e}= zn)K=0Glu+dt+fl(bc}9XapmWpCwHy<^V1Jc9{kAI$ePx=@=pK9i`%19SWbuR=Jnp` zd)%4fhNAm2ucw7~V|D%<*xj`!vzqIS_vh)mjArY#x2-5YsjQu|Sc|c1&&<w_pkH_R zB!#9+m8xq#eNkG=ozn5h-A(gsag<w=h{K!J0aGFuWyjj*ZmPRd6#UlAI&`)#%UxYv zF{L|y`R*JyTiG01?7aGJ{dJ+)i?bO{FNl7XFS~Yan4afdyV%)$TV0QGF5cL!efi|- z6{`ZvO=5-nC#7!K{UqXHL&4n>%)$%3C!SsG@#(s&>dtpDmACyYn-<6gKArHI*Lu+u zU9Vjd>T`sa6nK~1ef6}b?A7iiO+}`4sYgZa`~~K4I!f$Hn|dR`^TZ3Gm*2DH1@yYP zy`M_B+5g(*8SHpwZRA_mz<a^xOB92@zEX@^T;j5L3)3}jzWb|^Pkt<0`}%rb0dtq( zu}qF94KlS0{3ISY*jxyh?s#nDf@LwEXZ`N^xc<w1A(u-P-xVbmpTB-3?Df4Vix=*^ zyxNe(wn2N6w!7gf^{T(Kiq|U4G+Q~P;N2ceVZra*DYpIx?s7lLiGQ$s=Z^`8Z@u69 z{$H2m<@A-)s%9-0`@LkL&+ZdSlAH<$rM~Vzc3@${vEMp#9RD4hpzQ6neNn@aLWUo` z23)+VReMT$q~1i7%>BY<a@M}XX|d0vgtpBSLNguL1l~^zXpqq@b2wPC?OR5?z(#2& z{l_Q8JAK`bCf2--W)pkta5`wtgruS=RSdJstFzs<@?QPy<vOu7YD4EHg*68`-c9&; zB%^u5w~o2IEd5Dg%brY|I$@)7K0Bvj*R0t5CdIVvt1}$)xPRP~ciB*NzjXE1*m=%% z#h-)&RW_}=w_`~>U%*QDrw9JaN@(?Fzc`{@^?gtI6f@TpiR4hv=Z3Q;bMPvB;+iD9 z`>KTDKcyRqC%n47QYTz_7Lpvf#8C6fp}3BX9;f2pOm>sjvrzuBXug`Bq~&SJzZWNM za&g;R_ex|T(^047sJknfb{&2ApsKj%gWw&FrH>nK%2z&asN1_(icPmydDdr(q#n&# zp9Fm;Px3ImDy4slf2Mlvt^Uc!x5!RtRI=od)Nj1?FXPC<j!3uls|>EM617Y&urAp1 zrE2@JDR+unpQIEoS$yuNz}aBCsVkTL+@sp%tFm6oa((I-w(F4(CB9|)Ra=L@t^V|+ zDm%1l;p*kyd=3kZkA<&~c`8`GaU17!Mv((Yqj#kFt?P~|mXrK^cX8Ib-gW7kI;FMS z+>Xa-vM=$l-CX^<eQj`YO2qXA;<dFOZ72Lb%KJe6vpD;m)&!g7`s%JHe4P)M{XXGt z_hF%a?a%J?|M9xT-g0r1Hovd?ZD+Xle|@RJ`Okm-B;KVzWQwnRdbKqB+8W!e+tYH{ zb8qeWDR3~Odd1=ZQSWtEre4VnQkegFJIlsr&y#*dyeww<&3EGWwOfWWm@m3?|Jfk6 zTClD<&?iriXK|fla&1uVtJG>0-o5tgBaCllZCARHr|ZES#q(p`wI2_K-Y#Di(P=B$ z-*joxBH6vn%|Xm(XKpP!JFE3{xXrWJg*$FWPKn&Z6n0H%vFm~eHknDj+j}I}6#q(Y zUuOJw-N}`wZe%AOyzx1<s7NAA>8i%p#D${4(H9w*ly$nE*i^bmc7K{R;qVrJ9(itm zPtI5V3qQ|sch}eTdE&o#>54`9JPd+eVu8B~6W2sa+$@{f<3F=cQu(Q6NRRRFOV3x9 zF1>D28TM(}y|TdjnZhqu@OwySg#526+2`URal61cXv*5xts4*ANVwt2p0Z1QUUDl7 z>q7nJ$gh<O{^`%N>kk}w;wLFxvSjnF#OKK`BP{h3VmthwEWO*fpjVl%<NC_eGhXkO zi{1Fx<<lwQ!tPp^^<P#5^FLZJt^Cx|l3cFH3#Rj)7R5O*ca_A%i5{@b<Zs^Pw}7Gc zR*v}3x^wRDch8zDy?tYD_{oLLRqRF2Zn-YzJL@<{_U-Hwb8KvHY&!k?QU&u7#zc8p z_LY53f~VL-kGk6yE44kG^P>2SdHNaQiLbT>Ewt>}{UqL&w<-9DjPk0d7Bl+i`1i>i zQF47h`RH_wslw(9a(PZQY&-FTH#6GdZEeTzjOfs&-4jo|y=?ldLi@D#oPz6m=@U*& zjmmo_liYuJ`K(IApSNrJ3i;wJ-FWvb`ows4qp!5tuRm<2kE*JEDy2VvtjvCXz35BE zQ<}{iX9%k9<a4ds>$IZt0OM>I_KjSYX;PQ%PBFErnH&tbzHyt^ZhP@59vQ5D0=0J+ zhZq%$G&5gNZcpmBb<tQe|4zt~CEKUmD=IzzL~QzWo)wGZ{0bA}=Jz?vZAkjpr1Uh< zt*uB^JUlecY|R%(yInqOJa4(r+csZYJv^(jb%Mu})%;ysc5Dtfm%c9If7V((r`34} zu05M(^U;oNs@bWFR?|QS1)iQhd$EaU-zDEl(WR_=l`Vf-mQK#HD%Dy0HF%lM>h<gQ zFWtBAU6-(*Mc&=b8@}vIFgHxxG5_Gw|99W(%_=>4wBF+RL3Vko$^i2nJxknc4B8Dn zCTv*dGx<hmf}K>dK<d|SnQhM8Ox?~~pV()=b`iL}@iN!Zs%2-E``B)Ier|@gMBZ*s zWvkL>LE<Z8#jCzA+O(;Nvv`VyjkVFG^(QL!KG@A07sT?!C!~!hX=Yv-N5;>kQ6Z<7 z@2HBnd@eU^#fwA-Hz%>{tENi3Zb__2IneesDBgYZu8`c#GPm-q1UpVR`lL<m6I`0~ z!En#opfgF;Z{Iq!l&B{yeEs>}VP}C}k(FO2z7N%tVUp^ezIk7&fWR7s@O!r|t!fS7 z-tC?)abZRmYt!3Cug2)bZDu@mVmDp<3tcbYOXYd2G9$42hu-J3n{wRco1^pgoIM%k zDs_C(s;u@j_0>l*pKZz9mU%jjb9T<u86KN`gRXp8HC;aaXx9dTvo9t-zM`Ko<;|Yw zU3VvF`ZhQ>ZhokF(Wd&tyWMX;tzI8q7tOt6&Mc)~`HR7=J<@%B*9`6L7kMk4%T%fo z<eJ2FpupID&*sSsuGJje{&m&jb%D%cS(~J#%3j$hyZfnYA8Xf`pM871;Y;SU<>|ZP zju%{3c{X8h`Bvxtnu(|0S+Q<*vkscR{i>aJ%9)I1K?^+m%no@LTS)fXeQB`Wk<xm- z_4`YU+f$6sU5!b+7sh=|U&!g;$D|t_3fV1D4_=65y!#;Ozue=I@N-`0rf0QFFG>Do z&azs3eqz~yhRV3G+YEfm-m3WdNo#V+R_E5%3Y^|@pYQBM-PvZpP1V)?+^u=iPM@2b z=cBmkVMwAP_l(OHGal)kFuB?B?8cK*LSLKaJ6ld!8@hRRZqwfG(zDzxb_{p<vvgKx zt7*F1UVg4C_-RjN@!N|}wddS6R7hXxR=Z|(=;=PeoNL(vmbZ_vH<q}q3|}30*s*E) zfztQF_Dt!_wzUDveAe=-^Qy48+AlNtv@f>kmc_R^%VG;*<_Vuo-WRS}c4f-VEnPLU zLxK{D%Wj@s^*UQcde5n_oPb}>=R&s&7%Kb`I=k5{_PW>B#HafXTQ)5?A#uq5f$@^b z1?!f*Fg|LLmLl1b@|5qXC(p`DS(eAUqNYl8nLiR*|K#6QK5;z`*`Frs?tCurKlS8B zLH|do%%!@Mf?5{`1;%L#s!mm07q8xWL{x8uN#xvTr?!~s+$x`VPk;N<tne<m-&anS z&Jt(cR(m-tde@)A+nW~Od@ug)`Ke8tmi{mLH9Nlg(CNPT&pgu}h`$L}FS=9zeChuy z>h`}I|NrRMpVKSOTjTRiOU&<N-Yd3b#sF*EuiEz%GeRt5?`9lrdb{Ig;nAOW^@2Ft z<odUH{Crqed0VF|_o?o_fa#|_qWN~-6FSf8)S;C0Fil%0pj~NexX$%MVX={GUDGG^ z^enQt+Y?*yx{I&#g4z2wTV{3DneURh&2Vvna6yMcan3Q5y>@G=vZo3!{J<jP-pqH) zq)g*}r0(PC)76s~mljV-_+n!z@np|$)n60We^OOQ$SXMGH2>V~-kD+-V$^quR-`!V ziKR0z_Z4sy$Qv!%d!?h=)7#`gN4mqMrrTd77Zr$!f4aJ+>8)1qA%z{+b}p(D+uZd^ z>FSkt+1=vuZvroW4Zpi$&iYT2dws(KA~ll&w;o$@NBQJ3Szfg(j@`bS7d&yiUA_J1 zw&(kP-(Hew%<`GraYEs_=@YfvB;N|oyTCHz*stB;OIF8ac9(NG<zCqKIdw;aR<~8R z%`Z-)*)#5~x#icu{p`oG-sr!k64xHiej#<T^W>4#PX*h)Y?qFnyFQrtMeV#PhJ`@} z^9+{GEq17_^s-FwSoN9x%>;4T#L4Mr!YrqMTC~Ji;l<J~Zh~1A5_y)EtUJBZPrR)9 zvF>*0u`A2wZ0_0fEN;8l>v?GhH{Lq`N11Qi_5DxRe%mo&=Iy+lp~v1DT28aRlOX!! zWP*y?zSk38TRd=J*xS5i$H7ZxMybYq*H7<Ln47t$`K^EXT1Uw?FZU#acNV!WcQv+D zuJ)ZEcyq77dBNY&^A#UG`!%66A<xlk^;BVt_$Iq{`SLZg3tr#fRk>3)e%G0@oV<-; zf^xeJJZ{++TyK~+S#QCcbIvJBVc(RKUwvQ2!?!b?XM;6|(T6GbOHZym@ZeF)XRGHk zR)6m7E8At($@sqB+U49s^~#X5ve(#ytd_((%y7u+a@4=`;?ft@^UF>ww0Jb*aSs2= z^}RgXIu&+a-j=~<{_5Ydr`mq@=h|#^?Cp-7-@ek5N$T=_=@SweCpw;aHp?8(ve0m1 zn`Qc+tK{8n+t?*9;=e~OmvQizceF^XV2?+%!SoZ0FE3dh-{Gp8$-I`?RcSx(DbDv- z?zFp{*xK50eL*$nbLr!1UVnV5-t6bS<&o8Ms94-_k!0^`V>ix)O8Eg(UEkN8{~cEU zzuLay`R{x6&;0+NOZ~z6dn@PRzvVH%`fI-k&)@xK(`oyDMkVpK@^`&&-B(`OXm%iq z?U(S9CA(g}y*GuSNsN2v^^dRE<f|kWFXiAjnj)rq!pHgW_Ue|0ZWGqIMltMY+_6*P zia=}P9h>7zzqb|2MYzPodK##-v2W_%cJyrT6?Fk~HnAUiA#<)Qk2v0J_%`SY(-U_U z;jC~*-z2wtAD>;nJ^TI#tMFE)b7vR7H@fft)b`2ZTG=Z~<`yj}np<~IsFM+xI<adb zL)!V03!1y7-bOst$;f+g;`OGAU5f3JXNw*j*>K{ymCve=pYLccHMa6!%4U1%y-@JZ zr5hc&SMqET+oyLV^3%56UtT@d4zs$_shAo3#l^(IrTX{W??0Goo_y5bUdwNHV=?cg zJ$1TwkL>z+)$;4jO}q0imEOtxZu@7$*6&-Q>*@t6e*ZG@i~IF7dz!w_zYCt#N7l6p zC5vqRba2P_!ebdP_SlHe>Zw`c5Tvf*P;GvJvGaGnx=m|^=Z$%ZyPuu=y{6`x(|mn- zo7c5v4JT3#a`wDu?^$=AZ|kjq_ioi0XT^5MuS#FL)~h|k<^l7UR}McC6Yni@ow@JX z?|0=3-tIlGWI1oPivR5gee=VkUng{G{oNs}`S6zdMv>+B89%@NV<8@L!h>DomRc0| z#VHSXAMjjU%EQii_{6t@6Ekk>eO??a_sr@=wa&kF;p_96tJxn-TCTD4*0(#gjZ-<_ zN=O8Stmfk2Xxb~g)+sh+3yZ$~jG$EcKOfrHR=v`Z{<v)g<5cUXy#LsavxxYen=ikh z-s=#{;p(V{<j=2<7th%pAXXyRzHL%$^py9%g1I={8T1;j?<_Vq%-{^Z6u!9U{6rZ+ z*;a)szU#hxd>fK-TXRujbnt4^la_Zbs<}GGE?#<i$4rgfnxyL3ZSxBQc8LA-i96R_ zxgvIxjHTrS%cn8C@3QYsh!Z|vxmeD8na}a4qkms#>fiG()(GzZEaLBU&_dZl*WjMx z%|j2pVyd2{d3B}~-{3#fp6IfRF*hh=&E{RdG{2qApZ9rke*J4}QTcx-+V=^YpF8sS zWzT_@hjmtqP2L%&&;9yP|Nid-&GVO89z517{l`szqRx`(n=3lmx%@VE7(ZOidNV9c zbJbMEnKAL%wnh`;cCVVfJTi7&16L+rzzXYKl3P_LdF?vca5zJWA(NY9qv!mi5yi<n zKQQe~eS6u}-Qjs@@B@Y?6Ra<nD<oCw2|t>AXnI|)u#nJ2xju$lH|`#&X_fd}b9Ln^ z9*=I7+l-b9R*$aj|95S-&rCzv$0Cl2zmFeUIr(#t=32gWCQDf}91JukiknyO7c+gA zyy)tLsXf19<3l>?Y8ty=w7&msR&$UiH-r6LqoZZ`d0D4P$<{?IA+y^O4=6bFX<bQ* z54FB}O?Pi_%QC(5hW_(S?~1I?juBa!VO{-x^ZEr>V&6=3pMF!>d)lqEjY|r5bY#t9 z{Tlo2aq*iM!S_~i#J=_G+@X2)V)@CHo6b$0&iU)@y_c#f(q`IC6HjnXwE6HO#jsEL zxUTZt4v#qPIlGqqT(o@S`%C4L77xByJx%$Xk*D~?Wv1KYotM6OZ7KL3)qdk(jJwQo z-KKNZrujCfu1PE?YZnh*SyQz8LB=zVPm9+EEr0zcXY=;`Z%uw*n!Z2l@)WUzsX7x2 zo9Bd@N9ugrwzcnqP09Pi+ai_pD~njVk0_nj7Ef7yHQa`yyw0KcmsRxIv~N7U@pI2@ zJjG|@v8E>WvC_fSGPAGC?3Rk!<<|85a4hG0)>6B2w=ecVDv`ZEIb=FgYGTUoDQ`8% z5)d>_*PPRMVsZ79*QKW|N^i``IDYE;?$Ajyl-ak2Twk<)b)Y88(=O4i{?}{6f>sw_ zPraep@%vu&yG_acXEsLeey8~DkBIrIH~b~1OHV$HSWqpm;S?gUBTFu;<{od4w3MIg z1ViJcTjS1F3MlMXFP+bLdUc2Q|3~|Z)o;&TXAtpjN1ySNH?!m~IbTjcC)yR9uv%)$ zszt>!Cx0vHnU(G8wbEeQ)2B)iTC>s;3N>O3PF_?jdjCqqZIz?+n=5<yotWzxo~-IO zY>`{M_CWc80_TdytaEtZ&3wTr5PPNLK<runz+Imux7asvUDGN06C>R;?UUou_AT}m zypdK7!KErpMXL_;ACyegJvql$=EbwQ);75tULR`xws`)W?{7Enul2jmZvUrI{(tZ3 zkKErL3%C8w-|^*r-Syx5N}tD;*Y0rJxxu%~C89*@)N0$~+?Pd@yA*r(9nf02u(2&q zAg@F7>*Sc*J2Ky@?QcBsG?Y7wjcxS>-fQd5hdm29-7PvtGlEYnN9<#v^3@YRoVh*= zNxtP@F+1RtxV3rD6m89-AQMk-pHKVWEqr}X^J9i9_qsf}D+`YC6mM9SIJul#?Y+>O zqfXvO+}2GgUE?Si(OUE>_E!9Nhkbj$nXbR4B=uy)1V`S(bGDW}QS06HJY@geMfQ1j zPxLQ)ar5!dEz1h|EPkx4p2D7%`SAQPh08n2L^b<6jIZiB@OY)%n!?86_U_l$Q^y@k z7U_5&V~yChcIi>M$|r(T&*e;SUh-$*qSmR|)o(u>{k?czV)?y-sZ-C-$=@m}^z_13 z=H3O<zdg}RYS5mWuv2wg(bL1%*2I|f`A=VP*iKPEU`0cy?X8O^D_05~({{CI{Oz`+ z<?GRak`tMqCMj6Tx+E8DUd<|7((vGfg|ip4+q(;;>?;|pp3mapIP_%C?Au%N=cbp0 z1Y2Ki>;2aCxPR;aAM2&xK7T$pU42i8t=gAXA;*oImxX1%JG0eoYPN3l#hmb%-|pE0 zI&=M3&hDGL;u>%NoNaN6E&|uMrUqq3?LO0I{q=5M%u4mXj)~opZl*bc7gJs>5v_1` zl9^QC+tkxMMf~pmV_!~hX0@I6wd3C9tLN0*W-*Ig>Rrj$qM})tT6mPFd|ItvZ^<pc zUf1?_%Dbk$%?Rz2nYQ!U@1xV>-(OFEEoy#CbNRfy-&~XAq&lmUQUboWdK5D)oipdT zU!(QC#<COs9rAOz=jLyY%IRBh=D0H7wB(X@HP=-aO;i`<{^z*uvvNX5)Z>^+V;LF6 z;;dUrN;41t`dc(l^ZzTAzt2vUKN98X^j0{|^62)2XDeo1uqeE=IKy_&%T9$)MQgRs z?4LU;{jJd+(-57CE}c^j+(-BuZZnBDzqsF;cj@mdQC6dKKeWzRUNb$VV_VwtV&XI2 z_VactxeDHvuWJo*U$<#SXygyG;OtoUhnqHXSKd<GyFc|bTVY;T&bvRX-wyx(`LciC z&#(DqwO<~~|1FIYQ>**iDmcU7j(>60p4W5V|9z%we*e$IlS;xD<EP7HXRf@lZPt{y zzQ>Oa?OXM;*MTo<Q<Zk{<g!!Ms#ddtv_JAnw&?lR@yKUIv=*JHR>;Ww`2KRQ+fR0F z;k{*zYiy(%uj+m?yqLaEAuoT+g6lgg_U_wote3Usc+<s|t&)?tEblu_+z`X*bG&1_ zpPY>T%t;bTl||*ZRpv2ji$+}Mtufl8^TKv->^7Im!@{mle%<u1Tk+?i*6sBE*frN5 zUUb->a9eDHf$+!R2a^&)iaKOg-Y~GbCgA4y<&d?B<&+Lp?~SwS4AXQ1T6b;qR#|W` z=~>C2EgL@Udd@cWHTySx!H=w)qCGQvg*V<3d9ASQ(gLZ(j&L2mFP?5XhpUUS?^G|{ zX11V6lP5I$_k!H%3+Lz@SrQ)Twf0n(#{G}`&J-P(<6@jy<nV=6_nJbp|GH_9<>bPg zJMEsn6n(l`qUxlSf<7Pr;|Wi!3tv?Uig<RHrhSmG*!Hya;{xtm$2I1hTjV$8?INv- zL7iXRIG!AM#e4Sijbm(ryS-Mu&b=7dy+v2z?ZI#FLilzEZvD21KRS8(4?ZPPTP@DZ ze3Cn4YR}6m96R|t{P?yICPfp6*k#l1rL&q&ziq<V-?A$Fz@0O@4K@k}?(|h!B&>O! zSLb?H^3=<ZGubb3d|-(=qt+7=_KdY@(#?!T@k-fqyzh&rrr1R&a$En3jz96$!S8Vx z$7I`QJQF{1Y`s}zSFr5XtzBz5du!%KH(yfXeN=ma|KGCD=Ql13ZGZVf(Z|g`U$kh4 z0-t?c^ZK<#>pw7`6xgDnrRY)5;`OA1;ervHXZz_=wOOjau9_67PyML0>v?<e`Q`%8 zEpxn%$~0ayoN{_${D$)j>vp+p+Ivc~{IsX@?s+>eAKsZ&E#ammz07ajRvC|~S;b4l zHTF02JM3CLwL1QG%G;IerdY`?t+q&Ry|un(Ytmco`1<c3e%?{k4tG74@aS5~XZ<;y z4%QCeoje0NoPu^f?sL7Mwrh#zDt6!EcAH<a1-44HDi!gcn?5F5NU*+VS|PrO(`Vw5 z>2lLI-&$4@zP9%7>-7JxX2<_8d+l!j@8Rls&o=#O`g^10VV%_Uf4a-}{;dv=FMa#F z>~``z=Xtx|>^iWu^W_7PPt$i<rk;q+aW=0$A#mtHYSA;!M@!bmZ>TclsyKBZU%<8M z$=mB*m8;x*F1&gbwecjgR&H4Q>#UU#TQ9mtoB!$A`FU;V`mOJ7u(7>874v0D+C%mJ ztLrtSe{gTp;!tMUm?fF3w5{xfdY;4;1;(o;oNgr#&k7f23Mv-$%+Y>ps`=I9!#w>{ zhvg2+RGo0l5;Ai2`R?}Cd+weSj|Br0s!P}HwfX33y(sa@b|zkhc~920emQ(!G4*8n zuNZr)1d|7!jTW-FEaf=#g?rQ4r7fM-_j(tK$=-cYTa<C)ZuQD54G#_)Iqupy`R;_n zeeF}OtEspA*%Uwf-87R=fn8IcelTXfwbXU52lF-k<E!GhCm;7qEL_CHkrcOY4#&pN z-B+@2?qB|PLVlR&yzbN^U8i?0eNtRu{O(F?^d#1_iQB(>TwT0TBzMz;k9V9mM;O#9 zrlf4*c&2~ma^2a53-2UFFDRQWppa~R%SY?wp^k5YD$g$}`r1n^mvNmHICWm1!QWLO zS?!ZFf6ddce`6S}_k~F^D&P2|ht*}d?>;HU&$y?@&S{fbkjhgT^(FRG=>5+gy&+9} zot1A`bY*Onj)tU(syN7)9gCT;Ryt62rk#4$<oDNquez-0_xyNeVW*ec+3Cg>`n{rT zV#(flQN`YDi~Q@WFU!o$Tr9K2ng7oHQ&HS&V!wNJ%dA^btbWurs`1mtHTveV2QH`{ zxad6H;rUCWRf#=~XYa1F6yaIPeNbF>dS9>9r?~y!Po6hk-&w-E_QQMYD3#^z_nA*B zuwGd%_3<V*|HtzJGt0P}-e0u!jpAKua@=|ffA>AcB9|$CjdQ}iMAq+Y`k1Esq3)|y zy}<6giPt3D6{=-a%k#Fh7r9?~RPk!Hm+V|^y}nu1GOUXVu4#N>v)b*l>S}ge^*Y0H z%W(Vr-t}2e=JGonWmWB*8T>3ezQeq7Z_S*Ym!huh>R!_Mc&62|#2ejDTef?jXlGay zclX>m%jdttxy<Z+HvGI>pLlBjgZr}#?$oDp?RmOod+objuk$MI_sk4l>$ybGYsG|C znK$>-jMMx+{)*|D%{?<C+GXRK`?d!HehP6)>P-+y*?M2#+`grHGv|n?>g{Ue+LB>n zW^&8#uS;!?i{g`gyRQT^Nq0!ED!eTgUa)G?u8{6qdPTxMQ_ofGw#xphd1{T|>ze7Y z<(n&w)3vJfH<)IJ-OjxpqrYRSw8g0+1IsBJ0-g!Gxp^fUO}JwtaHDET+tushyh3{> zIvPnmIo8Vf`bNqQn-s3aQ|2Gc{#EVpGcP{ji}Ysy%&2`4Yw|ipQ=e<~OSEh|Ga+;1 znZPphtGkOVR9TZQWEU!J_fh6#6XB1ODRKRBOYf(9T*(XGOLL1hH|_C0r5f}wr&d?u zO1btH1t-NU)@#pe3`A<Xwkck!xbY;;<;k<%qPfqzwzP2Fnjka%VBLuZ3z=K;eQiZO zGqkc6%>R=hqny=z+u+)7E8~ti+<{ZCGjFz)zid(0e<#AlQS?tta!tgAIkj&q&viVK zjY{2fQdZ3<U|WBWd_aTIT(P5ZvEJwGZ^f&<xNgZeF{*I!yYSck@^_6GUhJ@*ET1UE zW87xkc`#+t#v6r7-t8Az*Y;=Vu~sm}^avlSoE`e&$gjPIz3bN3iSs=yd6@FD=Br(@ zxkjj|{{G~9FRUimNKAWtyi6wU+X`uCzL#1jdLG_?pwrQ-zr0nvgKzE?&YyzrO`m;= zXME1OZX2=az4M9J*J>E~+PKu~7N66%I{9#(L9^vNA;~0}gdp!83BHZOPgxkPOZqpj z-gzWjH1*Lmjk%!;MoT8&-_cjc^5odcNfKY)_rH*vbXItN<E^?_^|uoy9X2Ri_3MJ| zrN!rk1o<0;GUf9O92b@FFN${XR0-JC^;zbh+?$r=ObdngD0yTChjg{hnDl+(a+5%w zqE8>6HXZ!CZ_%;%mK|~{B@RW**L%9BZ0V^ouDMR1c6e!;&-(sA;KE-0m^}qLvOAlc zCx80x@LC|#HugauC!hL}n++dNFA+aj{@J3vZfQ%%!i(3%KT9rI6r|#O<KtBp{o=Hn zH}C(r7Hj|G9{;mBKmQq<+dWm8TXFH?wa(-55{>Nd_x_*Iy8Fz|dJFUPFmLbbtJ8XC zcN-Rko@(_fbud_)H6u0Q^JiznlaUW*P5A4wr|DTk*2h(f{Uxu8b<S<su%vCaC`Xak z{15{-5z~wPJN?XMs*Y}$Kap+inlP3no_AMkZ1V3m`n&cvYx~Jp)hUh449sFXPeqkZ zTs7bH_A-xUA6@mUCdzL4&-m@Ae(llI_9^r4R6OL^aYV%{<5s!_r_$Gs3zzR*ONy1g z#nQY|$K71+>pcmp_I*KHx<chH*4^#+7}G6rtbev>Ab)($)~lwM?ku}^`>jnNubZ}{ zf;eO2o}+3)%-5sKA05p8n7EKzh=1p|3(e0Ot)!GhT@D3s1+cEZXtD3(mB}iqw;nnv zZJd#it6;+ErN8n^ZR^Fu9SJ7QDNnd1F7A8Y<@)F1&u_e*7g|{*f821r(6KKwZlX<} z`Wev^l`ie8Hc#!d`e0pp`QFS^iY~g>Y_2PLT1wsia>>v>{fUip!?AefE)}Cse+sWe zPu5CIY;JIyB9bh2;oAZMp7vXn8T<bh?K-ji*~{POazD5V21>hTIq_&DcIEzA`B`w8 zWn8+of|f+P%-LekJeJ}p)#iT_MKY^G-Y2GSm|85n=n;#P<A%yx>5V=4E0xl}yk#$R z__EvMw&tXb`ksFB_dlQTmT5{nd;H;_gyiN82^((4`|Xp7a^3o~XqnBVsYkzm|0vRs zbbODaqC(fS&`V2hE6-VS@p9{9!OwSPmHfnxyR8)L*|yw#5_70p%F?W$onKEY<_Vsb zHnS4YpO|DF^=Q_QDIYfS$_Vt-tXFv6XSOtV$$I~PH$ETmJ16ta>VueKrpt#ruXBxV zSl_B@VS2GED`%zr{LTL_o>O%!VYTDrP5m`l+2Yxr!VA0B#RT`NzhF9I^h~0BuJO&U zvMDY0UoP^mtl50;+M4Lq3mj$%IKA2>>KOc~{jl|-_Y=aB-U&-QdG1vmyU6%U68l<( z(DoaJ^S#Uz*D3M1w7R|V-gGponXPpH6~B4UmZtW1*&q7Lo7HE`$5}QhsPPOxPc=XD z(*IdsszUp-{{6l8T&`Va`K{uGl_&HjKg$j`DEYSi+`neOvj3cqzg$r^NZj%N)R~BV zSvNbkWxa9UZ}s0?=&9C;-JjQ0$9;b+|NqDHD3#RJTVE`xnO_{-@vY`#FQ46kiw@D} z{Jwf9rWiNpN`Hu1FXpvKMpLfxii3*enRg9=kv-SfN6V*bp1j;TW6D&nyWbBqf7^Zk z|G9_mO;?-wt&Z&bwRZE{4dVN6tlRrb$~;PfF)w8Q&oAbFY`5L-OG*eWZoa7I<=m=u zda=;n4F!U%0;Vl7>K8Q}-BWC3cU}4EAW)rh(rEXK@6#hD^PIc?okRKMzrD}fj>|0$ z&{^H^?Rdo9y4!ERwN1W~wK2%t?(4RjkKV{`RLW}o`6}CVeWi(*w$&eo_G6J>wrsHa zw!U4zWr=akcb8)arudsw3D&nXzPSF#@5+<w;p=zmtmxyvDB1H?;rz;*-#^*t_Hb_M z;Y-<g<Dr1yLIK9YxGCxrT~v);UHiJAbg}el7WeeULMuBpHlEtSEEBvy&E?A@D+`me zHC0-NZNEjicuR4Y>?xfiTWb=}dG^DaBRbO7=S!>^jpkUNfAWlF(UjSXEswq{^5oVu zn&KSZWhFUr-i+Ty@{hD1tT?$)B!t^>b4Z}#_f{5$T05g{J6o@WypFpRbGAJBPzC47 zi3jD>;-e&v&CQs7r@(!?N7)qjBAc1z)7GtcJ@2tX(Oi@DT^*|uPwk#8?&Q!{@lqly zO=kmJroo?Y)9p9-`o>;ckg<jRlX_}G&&qX-9h0BG?>tgCWzq$Klz=kPyXTHLU;Ma5 zv&dCgKKbhUk4{<FF3PXldu&7Lh68rLcb@-ccdO+6ccXt#u1bamvAuiZzDsF0--L^M zRvn4wQDI8SecZOT?B>(yT|Yu|!s83~dSBbsci_d=^Pk>CzEb=2{bH}KTER1m>eV6c z>zN`?{W0}=R55S<{$ug)FG&fx95pmqxz(3XU;O^uEd_kF>nz+|G?uQLzeVDU>+7WT zR{Aj;6VL9x6FGJBv9-IBzyCk78NBw>{9McBd!Lr^^zM3~ZvXFP=>PZsYu{~Kdwbiv z)3Or(YFbp2Z=N+^zWH0xLbCEf#gY8;wSE6=k6r5f)^jI7CuN@$%bhcej_@92n(Cz= zb67%X*0;jjvE{e*>niu@2k5Ca<}6dP=wV-)bjRk-jhy}IE2^(ZCP+`Xvnb7^uj52h z(3ZEa=CIz8+&aIIM{<g%P4jf$DVw5n*)*%Ip8a_I)aA&`N)zAvX$pbr`xW;~O3Ql* zT6eRjS{``IW0ayeuXx^<4{TaXS=LB|TEy=+6!`gw_05Le)7NcM?yue`U;ZsYu`Ea+ z>PDsGrjJKc?|4{W^m#rdUSVxX&(`Ui3JzJ>y1#aIE9t0;IJBdX|KFhv?zv_=Z%+{I zJ^Q*o^Z(Ha0;ca=EHuI%Ua0)?zG&v0%^d|t9qpJz74>C~n8>hs)c@)ed#T~f^++=3 zgT_j)3FdwZcejbWwQ^@ncf4I($FOmk((|NM+&2Edr^{{J5tLN+n|b=Jw5tV=ZBjO^ z^V3>%r2Cj^(U&;^%N{#inj-gb%8{$y7t#(kS(+{ReB-8<vG_4}zwTojf-Aqpnf_Yw zP$nTJ*ll^jzRJU9(fbQGpPF!Fm3YiMPqBoGT@98wha*2I9qW&~lJ$Glo=@wl^*2r5 z|9P@e#FO%)w*~loSvr|#e!cqbxA$?2$bg)S8~S#JdUW*NURqK**TVdn)C!jC%eQ!4 zynklz5nstok-z0qes)cJ9niwOZ(6f~-N^%A)8~l>Sgm-?^1Y?VX;EdLVvvVpO7k2^ z%~dOo6&Rn{yX0}kjg2SscD&0H414;5^We*?Hhf#OFX`9tv3Chs1~E!RJb2Y}xA)`s zq5xU<*{8gw>qWk6(t3R@=S#-TnScG{db0b2XPhlppQ;+$w&HL9Q`P9z75XtZ6;2;3 z5|i%wdA$7CS#9^JG1{iRp;3=(_8mGIsHJVc{_WcQ+SBfJpDxSK{T;IT<HGj$|Fu7V zY5n`H<zXG$_5X9<TQyH8+W)xE_TOvsI~9MA-{D)zDdT1%w>U*n!SzJcKkHAkW`3Vj ztES}jKkVCEgF8A`H2>Sal1un=qMq^R&e<}R$``_vDm_vq)I982JyNsoD}<eEyZYSV z!BH*m$N8t`+elq!I$ikGEA{mI@cId-gEM<?eEg~UQ0K?lRrl9jd&brk-lk$}b@^WP zv&?Vpuit-m{d>*+-pcdrH+6qXz5LB+{Og)+QuU+XI>L2xqV^ol{Al~?&!c9)^%vh4 z$^LKJS)8-Ib$8WoPy5RI;Vv<fCcJxQXjb;d7A?x^<-a>KL74e&;+KZswY9R*OJtYH zm2SIK>Z?9=;rV+Jt{g65?Y>_;Sj1J1o(SFDw$+dEaj;^=-RPx4b6?AJZV7BIc2-~P zeng(vtK*)s63hDpYs0kU=UgnWte)O7tMu<-dTK53v-ae*@VgJ}E`FDg?%H@WZEaIX zes#*y8#kOEh5CGbT$m`)v#{^#?6?ON9S3Ef&x`T<d$6Xa=BM(t`?WjXE)L-h+EKIL z!K+?KT2zy7^#LY57RH5njwe%{*5vK@7gn8emQ8wE;wO)Y=lXUFtW8VK9n#cMeY>Ri zQRTv0`@U&!uRi!wypty^uU)o!%CqMSt{ieX=d|w{Z~2*Exw!W{C;e_qtM&I8HyJYj z{M2Hy^>@zgHF>j^1a_<F-n#YVZTkED^_^Q+9Fvupz42{J>fCK}6>}|4Obqhsxbi}# zXHN06J;x1BM=EdcJ27!i<dz4|&(F`54qqFP|K)D2e68HnwC}uUqaW2VuyzWqIkC2y zPx`rY^0AuNhaU)Ee5~@aE>-tqROx=M$emJ|%O0epyv^U7VYRzlX5+!Np4n5D&rae_ z_7<)_XT!+z+hXzi>cf$R?lU)bvbipiPV<>x`9IzM_si+~zMrYj{WqD@;^U#qQjMI4 z|88k}sbBBm_WQB?&kyeTe;@MKfAC((8Cq<d#%8%&(5S<_CoZk(@PQrX)^(0YJ<_*F z9a{EBO`)n}2iIen4=RFwIu9mF^QO<3z2gFJxw!fIe~jIet<yig3wpvU;$I^5)Jns_ z^`7(&{z+$q1(_><&MVK~&h=8Jc+E^F3G-$0!WWdIUR}B?_WVqiiuo<w6*Z5aeLa7O z<Nr@zlUHj?rLW)2Ex)g<9K1Sga<2c6f@ygL$sE>Y5l1xUdRqt|T(>sNrRSfulJJ4` z5{}=s{wNFXJa|raaoN(>&o7D@WXA~e7@TXId^F%_p*yqc#vP9;n@lxX6hZ}E40Rv; zP%M!7!Y{{i>&}&o%acUr-rRTZT*KnY!a|jwBGznXuiuofbnnF%*UiFJ7L&7&Xa<}V zV7oJSl41L&m2OwFk8z*QdB@m((`l;pyMR2AJ{I)}vE>iy{wXBMO^x?G-dy*q<3!`^ zYil>}<o-4x(S<YMICHbq&D&G-9K`pDvIib-*88@nnQwDlrc%jjJ2^vX_nU?HwmeQe z(SNIcen4~GS>y8H)=MEB*9%{qj#o77XS=<lYN-s@)sN2WPA9x5G@t5Tl{BeeV5!#s zzGP>1Js!EwVvpMnhc2rOSP`T5+&x*kr@CF~M((Q_*VR<GVn3@}7o1ONVqR{(Wm^Vc z{<iA(^*5e6Y!5y+BVbEU#fhumDp&k`nd17aeLcHH8|T}_Ed~cKI6M=y>~}rvSk<F& zK=#%YzlT4P_kOynwT$Dt#r@Pjwy&Na<q7q9Emo|RT|Ilw=bUrK^Y3bU9CxVl=<U7b zZ})S_`Ty?@aqrVy{MV=LE$jcgoQMDF_%`O({+=D45p2pW_NMCfEYsC}OWeQCuWr#j z#?ALwdU9<{%e(k9JT}Jm+nxl9o6mQTE1WE(v!QR&?$TAEMoV-it!S>?vaDPn_oS%d zig<2uH!<0yQx+MsIk{)<%0IO6#cQ5FEAQ-y*4w-0uj%SJ%Qmh&`RvM6_KEE^+HUT* z58V*ftlBwy#zSVKKRWyNd00qThQ)o;;r%|@jQPzS-M~2$6u%~4>vz7c`Tk9yS69^W z3lk!a2smrHEsuQMxkfeMwZh&$*N#&$8a?UHVp)I4b0?ihx%5*@;Z4R#&N-43{swH% zdZSsY^eeQ*#pGlKUv{EwKyTOtmWwINL%jTEI4?Qan2;q<S$!|y%-f59>Q0sSJ$=>e zBVKy*;#O~i?qb;=inDawlJAMX+h4;vOGSEj+S4r0xp`Z9UthP<{FGm5pvL{(HfG}1 zS(Ba!SPHRjVqFw6@lr_X!S_1yb5?G+y5jziSE1ov$`2PV-@Ci!ZgQ}Q;QRg0-*q)z z)YliBv$i%%C+4NLxAG5x1Ev!nIy)z-+}g7%gO72EwCpjrMW#VpwZnoHj!8|k``nb> z9u>c@>iTY_8!IMO-D>}pZZBc%c|H92#dS7?n^!s3)LHt>Q<Q8hb8u@}`Bpcw^iAaI z$b^?koo`d-r{^fHEA)5%b861Xj(N<5$$J%er_R3decrpm<I@zBCTavnojkj>n(?u} za!-|*Z+dpbio>nR&*iTNFM3le{<iq(ar=K8C*QBRHTzgm<oTK(aT}s%7~DDkY3cNf zbtkpsKd#b`tGp^YzcAsIr{z&~i5FWYw1xjUB0AOc{T`kEdqSLUw?Ex>&1X{F<nil~ zZjy-pC2o<5)A>?=1DaSCZ*?}kec;yKs4dG@@tfbRsrt3+YGh8gm9eY3`kdq|*XH>+ ze0q41*N1m!c`Xy))58a@pVUrIlz4I3X%Q>mVwZOtA_5Q0kgT1?{xdUQ&sDUi>p2JW zREhqthI+B5x~GX~pAz-5Rgt)Ua~%t}%lZigKlZI-R9RNx^2G6-%(E)BgD;P0xg>2# zU@D&6pOWt)eeYgKvh(lL@2<S$y5F1K@kM#!<a)o~Jz>*M8hTx@@7B6*l5O)!MXRGR z=Kq!jyK2_h^(TdfrMb*C>NYX`a5O13dCzhCV?V?;PW<}%`U=6*T91}4w>{;5C$7XS zIa}fw-=#NGE_WNoUEuVdr&o4Sk$1@=AJy=sR_l^HH(a{<?xkIUj^g8$txN8fe*gRJ zg0uJDK#$e`<UaiTzvS_C#)JPgj@^7>yWahAo?@-QbH2&DTrS%G-M&+HvABhX>jeGz zHT`yXlmB|pFFw+gz3eCF>c*JLv=2tkGT&7$nD#|3dA!Gnae0h(#gql77)#u3jwDr0 zS;XLYK=MlnPanq}&gb?=B#vadSG@gwss5t<JSkI|nJr!q1^Sdr+Ll#1MgMu7c&O51 zy+W^gjAZG=*LA<6?|s`i|KAsP`zaUe%-V92q@^179}Af&v1ETTOUf4e-#^dSC;nfx z>Q(Q;Ng{IDQ)Z{cl{9Uz`Q`V%f3xO31J%O<rH2ec7uRTTIB6vpc35q!-8sW=hiAa{ zJcX<?v#%c76cgyudus18ujM<PpNg#xU+p|?iH~5OL)7K%Pq!|=DAGJ%-9DhpS?F?p zX?zY7*Wm?@n_dN~_`i6+NcjoB<$Dp|KeEn0&g`FbY|7QnR^Bkv><|~3hblj3Jua9x z<7-zy#F>EnWSfYU#Z#+$J8W+ptKnr)%-(gt?8Oe3D5jIgcc>}wc+7WW;XS-#LT;wd zZ_UNt8l9g7wm5P$Z_GF($M<Mr`H!NCIVLV|_>b!7uP%<TTW~Ir#o_qV4NK-vJ{C7I zZ=Xj@YgB-DO3w~AlV2KPdp}pW8_nrgcYDZp^#5G9+u!H+@fOXz{?mG5quu2U=?Uec zjXq2cvK~jXzOG!mKviSKp&L#AOZ4_R@8vj?@mb@^SB}6;0VS8<J|Fe!nq9}gZq7XC zeC6e|)BM+tAN$!~)ws#m-*e@+`RqqdD=wYll##0QK*l*|-nohYww^!o!$DO0vTek= z*U_t9`>ag9@^JaiRmq%7%>|@7GBWL!P1$^&y?v>szN@5xM{R-ii^>NtW#+G6m?U0( zwoUQc(lam8S|a9u&RqNO_r1(MFL8dAq~4Cl-4p$^qm|<LR+PT_V?VF<+xGP2E&p$6 z`0V+=z4w62k-yt}uV4PR<;FAbFAptuzu)G5_*AI2dbK9|cQIkxyM~fKk4*0sQLOkU zC8p)QL0VMOVMfq_vr!Q#QZ*l0f2BIA`=9L%Yg#_9=<(iPu`B=FU*uYS%bEYcCf9qx z-Ak=%HgY(=d-+zNMf;M!#<GWz?RJ~A<#vYKiEXUdIk~7>=as_&xu2CkC)EZ0?76?^ z*81)lFW8HCCcd8hVe4|+y7OO}Cw6gY$ox3Z8C#^2v3I6=TCqk}>k2nZkH%wjt*X+0 zCvoibcz2{@&GL^Q_zJq5G`61(;EazrxpUKnQ<fiEd$d)V8-tI?Z+M`-dY=5jZnl@L z{FWE>PIPwUDulmW8}~Kgw?M^?eJ=hz^UE_2zp%a{-!{=zB$3a5<`Ok=kDZgE!<1s3 z#ETrhJXGpCy|Ku4N#3#<|2SP#<&|Y*P9&WVvSMEBrm5%~C29VwcK#FVzoovbzsVUc zu6D{?y`e0?cI(vH&wp`5sXP6SmYeta>8%GnJ1zX5q#h6FOS%0y+buhAPP(O_MWVq; z$>8bwr7E4XKJO5F^6U35>p%aB>^ygE``EhwsmA|L>7L#f^QP?k6ng6a;%CS9yzt<Y zJr`%R{^U#k)*UCT-6PXW{$GkXu<?Tk<C(V^9#4+Rg!gzvFpIF+FtrNqT3IPPaf0@< z?-5^Q19mJw^JV6P%O_%f)NrqDIkQpW=##sT?sT+^9oCL7{9`#izVIdc{h#N`ZK|71 zH!i&hnvFmIDCNhe>HEqK^vUx6E-f#=>T$^bTyfm}NvhuJ)2D|0OyPTOxn|pS->N6# zzQ!lQd-a4AE=q9R)#+GV;JjeQ5#64L1uwJ@CS0s>c9E@}fA7?m^q2s%`_InK)ooVV zo3&DeS4-!lsAng$#`FYkb3?Wr(W-h2{m=A@$JMBDG`Y|9obOceO6c&7$fGY*wGVx> z(Jh#}FZ#{X*o>6V^FF=kikq7|J8{SPM-u<H`lhM|^~_WjowvPPM(tFv-<yLGmS6p} zVrMWgoImC1;uxYSva_o6&Qh&|iblsWszbb3cywN#DX=nd3<+Xp>&Y^zXuTAy|E%=W zg<m#mLPxE8%%0!Vox<ds>9uFqmVU37E}vfnJ?{R*RkGgat*LcNOR4UZwhwbGjhou! zi)tkH9a_|2Xgt+)!bHVzQSRd{?AKePYKm^}JoLMe>%w9_HcNFCPrs-2r$z53dF*}I ze(xh+e%y7w&%bY0S~TBWY(8PS#W%&4Py_k6AMcspxGmTfb8%Y`yTFYX+VKh&|6khO zd3i|kT+gK4&W@kX1g!mdJE@Mz>G#8n&N4G1<=O6jC~}pNIon%zSKpc0<o3!>m424D zIQ-<FKe^pM=ga2L9Mj4do@@SHKIzCDt*@8eZzk?$2`h<h{JYsyxqH#f+ZJVaBRQu_ zCxtLL7vFo{vM+2=rA79)FE9MxKRNnh+3|<L|9ST_G4q=ra9!MR>+3S>_Bc*K-pK)3 zEekp>KmNtyc>dw!y7kUoXHr5qxvHL&Y%wvNTX@QIz4kP={|hcv9iI9$b*<^-*VAgB zX8&Kh?5=Qsx)qaf+wYlu3BUfO+x^{{T=#YL=ksBn=kKk(x0f?*+s{KL>E~?1S+pkZ z5?Yg(x8c^VC{4Agua^agEOTArbw2XNio+~SIg?jiTKD;jt?r5F?YWm1MZe?u*wtmE zsT5lMxp5s|OR&hqlP^Rx*LTiY81>_p%1htt{_|4!?|yGE^)SsWl2x^3T&u)(@Z07U zf{WYO=TE%%VyEm=x8xQh{(ZF{h5oGj>vm2@YHr1MEgmZ+>Aglyu|g9j3TBD=*oU!w z*5Um$|E5prR~73I2b$k*aOU62UH4f#dT-fR4V5!aZNiU^bHAPzvrsy2xw7S^2D#FS zMQfi(#ZHfE+wAf6vWaP-UgPs++E*0ZoYa<R8~o@fn^3M+ba6*j_f?UDmB&?&SZJIV zzOygbCtb{3%<{@%fx`-3Izf6e%!ibu1Gdl0uomDj-f|%F2q)WjyNh`j4i_vjy|v%} zvEaIk9VI6$>vl?=OG{^bHkq}Ef!jrfW#2jWXG@kYmEPCFWb3_6<293*fn8w289^N` z2A^va7P;)!3+fd1scH#5wNzMc?~VEIl(XL1-tV3)nr5vOFn@!;mEyBC?kgu&FQ2_l zyKSM|iH$F-mniQlwJ-Cw-n}QxcAx3Dx3;ey>hZBKSv)y0UpGZ*X1F_}*HXm|$K`h4 z4s@5#G+p|$?0v3z<on07*9Kn~dE9GK#5S|~++E({4x`E{S3b6!zaH}g?lz=Z$6m6E z{gL_Vij}_d=XI?{H=Z1fRd&3sxuRjR(`Fgd`;4}qL}ERbZ?aq$o;kB)P3QE9vjwc@ zZ@!fu$;eyZBEhjY`+HyM3Et<ozpb@CWws{f^E<t_+h?%p+`2!lP4@2npU1Y#|GjYB zZqJ*SaZfwX+kWNnk$9J$nO5_2|Gt9D-}n9A8$Pf8U;eu=%kw5;&l?@ThQG@wuIOr= z%CYcDDuXir)e95er$*KV=U#j={dxDpXK9Bo<WD-7W_^1~zuuHzfm>hM&Su>{Nj^pT z&H~m;lIKspo%o`D{q>b%)22l)kMh@x-gP8wO^uJG-%DxkV{g??T5vHlYqkk+_{#1% z$#FVol8Wr<x}y&!bgvCa7CC>E`&R4L*R%2*zHL~()cQ?q{|gJ3a%02z;!>I4tLn?= zpE{ng(6g@Y%!L!{zq2YW@D)3IA=~fQ9nMev`Yv0Zy>*V9KIx#6eE&t=@cl1tets6U z_SP~#E!_>;FU{Y~XADx4QajY~$M6L6&kWPYJsgq07p5C-3^}2%)^YJNzZLKFX(3<M z_-}YI)hX^${(8Z0F{K8Dof`_%Vp6%JUHJlUe~8NQ+A2}KDDBhat`8Y3LQUcm+D+I? z-o`ACd*0s^_l?6TD$3*U?<cmbmCS{GPLt~*Yk%Lg6tzgU^7`FzMUq#c^88NiP=>4n zN^igZpXYTTko)p?ANhk3Y`R=b^Ecm_>HO>AtX8wV-_|}p@6H#@*6w!u()^2}zi)FC z_K9rFoiFb2u#w?!=f$+V$0ExuwI7=8U*;Ir^WkFjvsKS{%*y7zySd5Jcun}%H^EE( z{!ilM+<Gcg?a@=|Eq6=imau8N{;-P=YHj3RSg~&Y-!y@uGj|fw+ZDgvDzUu1`~9}r zZ}%l^yUNk{KrU+U7e&d#Z~fAq+<R=W`IGkqu2p7iPjZTLi<c@L|Ml>?pC<pDZAqoO z7u#1C8^29=mNks}!=@zoW2d^9kf3l$TZoKb)}3?<U5lVQ;*v%${M0_nF-d>tcZ<2M z_xMG?efvXEhpZM>_kU$+=FPgg=F)}7@pXs(`$)V^uWCQ~U7hFqX5+qnQ@_vu`mgtw z>E9KL`}WtLeO1b?6;alFSDpEs?|o|)!*;8yG1(z+Gp}8q#o8JZG@+@<@mzMctJ34` z*T1}qJpAo#;Q!ZxY^(iUjFMw#Hf@<A=%IB=^;W#;$^2UiCztlc@^LzAasPcOboa%b z3py$1xTZgpJzaZvi`bjjhxku%7eCIrzxS84t3Kb%Idi7>Dat6$?43U6L)7Wnd)jTk zJlI?I;F0s3jKkYbx?lP?QFXnO>7hB|=iHZ<9E<et`cl4qPeqH_qT@U7Ex$Hr+wv#% zcXy~N$+NHd8@wS@$@7A)wA}V%?+i7A#VjHY^~`rqvC{X*a#5O-6L$I4#}&txPWihq zVcLTtwzh^VQ&)-{RZ3!(mb!UPQTJVBuVH~Ucfpo@JyOZ*r+!xx%viu5v31s&4FSKB zyi@pmIJ;%$W|*3MJj%bfWbb^}%Z&SrS3Fd(cs=Kin%`j!`J|p`ueUq9*S%P7(0$_M z$=&ZX-ugZjc*V{nGVA?Lml=ttg4P+W&aF=~Z<##J!cIQ<81w4I*~e=p{}1Z9vr?&G ziS5Cd*k9onrOs(R{=MDK?Wb7%(U%LDWz077*fKAzebEr+b3~W<@LrZzSFcO!yqarW zcEhCemrtPZ{4~=WH`4dJ_Ju4|e5Y$rSg~`P#-xV^J14VC3Mwi5UH7yhTQ6Xd#ey#W z`KQllTh0HuSN3Vsi*?1^mqql$i}$Tqb1KSedqsD+p5o_8Ki|%j7Eu0IHpl82tL3{d z2SX$$rIeZW9aeq%PT-R;lUw4Jo&8C1tesb`%e{JHcxvXwueDtt)VDAiF>u75IX%Vy zd+t%&B^`-#4vTX&<!p(#C-VJv$MeVR(f5m=?ceu&b^P!3_y4ZFUjFE_zb&YWmNziY z+xhfY^S#gO-~Ya_cKe-wXTNRhi^;cJKf8V2b!LH%NejP8AM7m%%M-eFNo!$2{#D*B zd3{_{ca{`0SJ};MRh)G#eS&$nrNAEdH4f1S`lDigZMmS({h~7JQ_=*VJ$ICk*he_b zd9Yae@@cn*vY*p?lEo@FKlu8cTQYz%a{spbZ|~WaS-o6#`f@)TGxN6_v$lqPe_>R8 za-#mmS{3(~M!jon-aXOQQZ+jI?9hazENvQ^b63}Q9KH9G!BOXP#Hr>f3Lh*LPmA{k zm@0mciJ6itK6m$_sHYJrr9ywB0;)b)J&yTu-rD%3wVbKrmBQw?N)s;n1=S1RJ+jfQ z?oMLCI??0Gha(rXcGNwvmD<mwKb7yH=&acn_Jyumb+Cvnu&`{$F&CE|6CZNL>+Jq& zDRx@O@kweHi}2rTjc1-F{8(9hukh~PZ(_}p7R0pwl-#XzcB0t%oL@%UraUk-?}+)l z)Pv1Xm-WuW2`8OGG!AKB-Foh$k$G%*{H4t+{?5G5vv^IZ0Mm277wmUS*Q<+dj<Npy z@48f)%nT+=;R~lfe`yl__3zp7%Lh4A0xqm^k6+MH-Lg#aRJ!t9YbUS9TjhnuCo)e< zth@N<Y<TkITE6<uv-S@vu6LBjc?iubY-oObq_gyi(wzBc%1>MhxXFDm-*bNAn#(rd zgRj1pusFq1o_9aRH`;vlBU>+_x#|<1WePkgP&529^W(KB$B;GIk~OUb(|+i9b+EFA z20l7zFJO39_7d|vsS7)MzTLlO$F)~=)dcx>%<B_4m$W~A{I$oX+wSm-&R0JiEG(ov z=38tok<z&&6TDs`bK>gbf4@ZX*Srdrw|?cDZxw3r@W|tvQjMI4|K{{QnY`_@{r|sz z-~airzy8zaZvCA<#J%OCer56GPP8d}&AyE*qkER`r|HS6@`-a!7*CEqyGT*VcfVoh zsm>KU=Qf@(XmDAyuYu*UWX0;3yT^Zp96zbVAGyk1Ws5`bV$n1mrq0M$=Nxm?KTR%d z{yl5b-9<*THf;DQ_v`fCy-7<p$7LRT<)#*TNTh`8(Pw6(59YDeJ0srYW>s4qkM6jX z+VjHh8}m!oiJj&QjXG0!+V#B_mdmLI8@2qZ>0cx!=ArOkNHePPZk3h6dd=yI>vXOk z(pr7<x}M8{hyEwlXZ5bo3zt|E^gphI@v+6G7mV4b4!OA;DPrMz$YwM3)`a(qoiBBi zhfRDXZhGri&BjG3RjT|83-vVSw(30be90#E<e-w!84EY7dtzIgQx8k5a=Oa#IO1VI zX_?0Q6+0U~Ph8$1{LVSQe8Qhak<1)SrZ)vn99qa2Ro+&)t8UKf$<m?|6PH>(N>Xv& z`=>YChh@rxqP=`Fw-;F&Ejl5nX7+gv^9q@Eg%{!HU-X^m5sB7ZQY_vZHAnfO?bbV$ zI(p|to1-4D*jU1pn7H!!z05t2&M=o>`Dc{#&fw3BiFQ{Fk8dqWcE80EYB}T42lj#q z1zJx$1LFOcuaSwAVn6#d;<DiDf4AR-Y~N!y+a!0L^v}3he)qF6mA<wQP4_jXxbA=T zV%Aa9LkpkGyEK)#(aXh8yoPb_!pkvjKTdEkwNJhkvEg@I;+oP=8{QWR?J1UfKEv<) z%_k=di<kI5caZ<6=P|)z#fD=O9giA*uZ~xZDQdH*lUu{<s+GciROyi3l%^Q*z@76a zN4z!Jez1|zrg_D5nbQgtk5;fhwsUUXQ7$;^(<H-Q%}~iH)BRShDwujyT)y&%dEMvT z_iJL@eoLNR*{T2kC8*I@|6onU`~CYi`_8t1nft!tHv9Vh&!)Y<kiw+w^pdZ8x3}Y> zxo>WWzP8z!ROGd=u=k@=X~$9dKw+g&n-~T?F{M0(yki}6BO<<7uC=>(INE&kzQevR zxfSPMV9OBfI+*zIBWq6vWBkp)%Tv<*+N!UVy#8wT^v91phsg(8N(wF|vHtYfb=hx9 z;o{?kd^csc$1XqN=u`f*yglViq{Hu69hC(s3PJjdAN~0nXLqsbpPu+?vFD8)SBocF z`F}cP>Y6%_pCzoUWnOEbx~uutW<Ki!X};lpn~E39AAZsN{<VDDh1)qsYKtfCS^Vc- z!_pvb-dk4#x6k@C!Ak8!n#9)_-E$?Y7o9U#QCr;7&N^w133vEJCCez6suZ`%>0$BZ z%PMrA9(La8y^^svv|r3;9s92*7tM^5``ViYTUHt@VQzY5DJ<r?{<1%Jam@UJ1q#wr zPZ;W4Gvqq+ea<%L#dd7}O8?6okJDmLa#(F+_2IxK)~15?qSCoB=RVK0m5`rbP?vDA z^%Q5a(Va>ozKtJ#JF2Vu6w6AA)F_|oz4L?B>dSRG32FbAHctzG`_%}`2!B)%EVZva zy!7Pjy9XQ=&XMuxRGCmIuy4ZmrMGWf+WlU{{E67rHttlX;|>$c*RSI&<~%68e|14k zu#0S8kdoc1p2@$9BJL}`Z450<5551Xl08W!gk?&~rd_x8hWh2Ldnf(O<OR$A+BHVu zUiHT6i*9<Kc=IVkc=-|DY%SfMnvy%`zj(QG%PT4@sCpN^&EqSl#N_8cI9Y5o1or4E z%jf2o?$4;%^>l)<SzytrS%>#B^eZfSr_>v1|MgMNM!(%#*4#POBGVDD`}3FWd%w>8 z|8xHT_x$y5rTq5%|K59`<>9~I$KK}ux_18j-=8<*|2&$Wzw_-j>-{C~ZNKlERCzw> zQH$ClJ23^NW}lheMWQ{uN|S;d<Mv5>y3iXoX;#yQ1HBh^TimU<W2<*_#re%IdM8De zOm@#RDGJj2+wpFjbK%7B(ra6<H>72GJ&riHZ%R_Zu_;`#8D-4pp08~5jooh}E;b>5 zqL{EuhoCM~iL27mlmFVUq$qhfx`_A*UgG6%<ax+{@MKq6#FQ0(Wdo~^2le)@-g3Gi z=-A<=V6S;X#p{nQ*|sYzIV4?FY30-@+RLZ)w7D<Y$HD0&mVLdq@!Q*+pI0)Q`-L_h zSmmm8S@~T`v5nRwM`k9Mb(<Xm)|p#;%ogl<lUVdfXOh9?yAAHIo#jkKKTcbB;CENv z=Tx1}noVK-76z<IkCPJiHa45tHYk3b!eDtsB6{84>DONFDB!TL4`91BKjqSF86&}L zK^BuaT+_otOH`LHkC@8CclT7u#Pe&lPHuN|O=5L%pT%rjlxC6lY4e0DO*UqHe1B)B zRUKF($;chcAh_x8#8TDM6PRRFIRe*hbHBoy)A#XPiQ^LUe^FoLU(UDJUp|}j<b-Ip z3$4=)6`H&D*#*r%F)!fV(ULb0|0(A4ewKIP30inBL2f#Stc2k0-SMAA+qS>nmwo?U z47(iTioPrNJ$9xDui!{=^V7IK|NG;f68{XJT`4)Ymqy%JTJ<f?(&Vp(bkR14n+q7M z!q#8=aQcDyl>b~;bQk^V5qP%2>@$x`L%`hKQ$O5z9&ko^{^}<i_il^+K4baaLnn_F za-N9c+kfuv+^n9>&y*ZnmruJSQJpN*8~^0y$+zz3=Kfw5^HM&l+Hc+Z{a=ma|9lsY z|NrZH>7U-<^hb~D4}%K9{fQgqopiVVee=A|#qaT@Ukvqs-)-i%sqmU`V#VZ^1f{i! zpXTg3IHCKAn#y}o7qzDavF<f*)E=AG30P__IOAcSav*l%_uh;cb6In(KpS(tdo^7T zY_hKK-oLuIDpXwZqLT6tv*Xgj53Xt}NlPft-B4HYn74*qebLLt^!W<kUv!DC3eo8} zeCU>0-o32bQnQ7+1lnd7pLlho(Bi~XX8Hb(J>s)YO?i>AaN<JutSPLUeRBCC)mD6V zeLhQcS<q8W2^+C_v$}H4s;^td9lx{YTlcym(bHZ|5|J0SNbG*dXUH4h(J|$O>Y-I` z^FoflQ`x-4;3>1F#DrGEwaxoN#kAVFwn`k9{qQ$%{+jc_#qXDzNT~iT%MesspYQ!# zq4tN-)TyP80ZZ0ND9R`bUDWh@{w_7abNQV7O#8o0d5RjM)hesczmAzB^7MtzfsgMd zWd44Vb+U5Ws<8b&SGiR^I;Sx`HEv22xI5$Y3K7lJORkqC=SxpK-hZyZYvYc~6P)(# zFTB)V(X&L)QI6qV?Z2Hb%MP<#+^|U{{Av6t{pNxl!7Ju$mXUw;;%|jfheGVZ<yI{2 zN-VGctt{;S_~G^Z2W9P>w#u(ReQnO8AAfcw?6Eapv-pA`kLJ?mqiR)41s3?uX;JLl zpfe{tKXlcqf)jJjCEq&7z~XwAzi)fTGlN%k)5O=_xTCmwO~}0{O-7m2XIaZ%nd}bT zKVSW@`IYN>8auCA-L77<(!F@8$L+Fq%~?ki5)5bT*mNiOT*CGK=T9yDvQEcN(fq}d z5_|j5M7|VNmB6P{cpmMz?4xmw@z~Mq8-K;zPI!KIbBnpUvsq<gS7#Rg9GSbzt=i*k z->ZFn@;gM7Ra9h`dC2^?9ig*tZQS={$Kw6Jc5~N%)|7m^zwnw*&7XW(Q0sAf-woqG zf6ki6er{{#w|g{6^mO=~7$qflj~=!hcNNhiVkeS}?(FK6nODRpQ2Fmw@r%H=yaXP( z^WG^pG!hl<@2vjNCL?Eh*u*`+>TcC8qe9+KSDMZmhPhOH`l4Lk<*vuPF!#|;cRTK5 z`CPWOXL%n@cpl`)Wpk@<-pQGY+>4}ZClu$*?)g@F{eH??*|+Blw*32a{cpvV7j~as z94<S-_&aiSQPISkJ?;m7J(28ebM8=$J`<@T`TEczuJql`OS*!V-DrB<)4gCyZo5a% z34v9X-HVNLZH3g5j;##r-J_D&S<?7^uejOmi)PN(rrfFB_$y|6RovdFy$cQB%-igi z$~Vm}D=+iK+#k=qjh`&aSp7;Pqb$~Kr{Ifd?YRo++>e7anq#$gT>AXdi&;eL(6>9Q zr~kWnS*BT%r^0NyqKM05XQfNL+;Xh02MYddwfP(zD_gWCRrKn#%c65%e0q|@%Vo>? zT2{p|^sVPwzDcPk-ts-=d=%a%pH|7~#$@97c+S=J|93_{xHQ)y>G7wBkBk4$eE%>> z=}vOa<i#g$o!Q0gVmVVOXO871(O)tjK26EIyv8r%{PKUFR|l0(PWF8_BV$HM`#M*9 zQHhmYM;4|niZ*+8(IV=vlie5F{!?G0%xw>q`p(Sekg9wgD6sv>9G!@g4Re3}nj9-u z9&x{sMJlyDxr6E0q)&n6UJCu0_5#Npv^;bzOZu7TB$TRMR<L2d6#is?VBD2II(pMD zpR-bYzJI}jOR`B9_D-9|x4*v2X1aeV`_q=F=_d8sp2ZoyjeoihhccDBecrZj-LW#W zt=s0-{hEFL$06~5pBL4?;I-fQ5j;QgpMCPfeZSvToLwDP_-XpPeZTEYl{i(`icI<W z$myQwCyo?VvH5nouM8$;A8~0rV61UCW}WLg??ZAGH>=-mZeOq~$ox*R>Nlg}YdZNa ze}0&xT6Vg3`;PXva@(DkxkybsEgfR=+|9#2Y5(s-T?<bi5!<xzBkTFZ9R_7OOwLiV zHm|N`^Uc+4(pj)9WYenecT4x5y0<HLyRFzOHt~l?i&HMD_7u%}k@fVTZ^hSn`X$0I zxtaTzW<6Zj`flsSJyU#&*iv6#eo|`L_&RUzeY2d54bA-)3JJGzvN=;vh<00kS|HfE zvr6is@lOAzXWf4-o%ZycmxR#-ez8X}wd_A;7)l9rJzz08){((>_~pfQ5l<iKq&$D1 zDR3<Mwo?UD9D^Hkv)@{S>svh5x^_+xSf@~LuTZ*0R_XJFX_vB3PVDim%=2q)wVOU? zOJ8%Vee=c5uC`g*Qs;=oDt=<-Z#XgQ`OSh0?NZB|FYRe+3H$L?g~|K&myc@d>p!#g z9lcqwcSFmSBOB5l|Gpx)^D|4#mbQZ_HqO$w|9f0Ck508~D^^?{7+I<A_mVxgRN|g< zA4^Z?*`B-01OwTPR4U}t%jXoHmbm*^*5a9f3~N+dS+54K@gmEai%!bOh{%{-@_EJY z*LiJA<mKG+&3qf$*7la2ILLl0&Am^lJl^e-#HYw2rvi^nQO^^?+mGZ;%Q^8(S!hcm z%aIw(`t1e$so}9@|0<vFGI=*)+x@lGM|k%--{>pvy(ho%=?=Cn_m5t@^rXnm+*rtj z!6fhAma2S%mPtzI1T`1h{Jn5xsSk(a<ZE+g&GK5kYHiTc##4@^_q^pIp7B+teocwq zoVEA0+ZAv5#1_jnlP)Swjh(jQ!M>R5eP16vJRZiq@l^E#<NxoCkIyT+HT%}Fbr+9p zuKxn6t?R#V{Ga(YzVPbO|KEDo*M5FJJ-+a2q>}PV!ywn$Vkt|tp04*!bS{wX5nEeX z`E!@#bDj8oe{Q&~TricBE%hURP}Gwh>{~BfW@tFN&-d?&_dCDK-A=uJ_w9nC-EaT> zmfvFLT4}RF|LyeS=aS}~40Mz0d9mWa-pU@S^S@PAO|oqe%KUrsTXjl}M)s!_Aq8`< z>uG;~x-(Q)ez$&1Lb3Y%r0I7``WGBBsxCSDIPXbBz0GrvJX!7|hCi|e7pABkJpH(& z;qJ@7YZN_XxVh_|OsRZepzzQt_Q)0|#|x)C`n$Jp)_t_1C;grCiOc^oGC9s@ItMlc z%J2nBvquWYSh39XR4u6Vm{eB6B`3OsyYi&ueWQC_8zR3bv&(WDPOPZcS8?ggtjINZ z>!|s?Yu>Yc4_^J+y1QkGlA-RV16!|{9=;*(99s}IMOoG9^4F8ejAbn>GmNc_Q?s%q z@*ZXRonEXRf1!24hbHG$Z$fTgu53IapeWX1?_lMY85aBAL2W_{Yuk73$vv&-r*2t) zrt{>pqrp!X6fWCick^PS${gmqlEq8UGDSMOYX_NcNK&%OTwSfZ`B}`;AJS7+J=~%2 zNto?bC!f=_{_;lISAQP*{zy-*`|-c<+%d^wecLO`COpm+J$13uW<8I}KbL)Tq|0Bd zcqvvBulIQGZ^rK2TY2m^n!o=$A@*)(|5uwmXSTjF-l955UNTAWk%l8v&ra?_qqO<$ z_ZOdABK`5p_UjqK3a1awvMio9kN@W3?{_nIYkg9C_3mKh$Kr%HH}X23Ug$k{{O)=| z4!4q5i-HbM<?&?CyjP}O8nWi&n}Ep+xAFWeT5kPL_PTg`{le$-{&^Kgcm((d2X9{X zDB;~RS?jKHlkHEM0~TEAP@Z_!ajoF(eyd+A-p3Xk{29ONZ(sB#O~a4B>oZx@c)tI? z<Y0d_&+c1i|GG=B<twb(3*PykU;FQu`M%1NU84Q6Pw%cirkfGHJ@50;uGt^%Rlol_ zyY|-?%d#_^>Kg2!O4~}8^XQ#<)e-daKTojb?#SASj7BU~J|8|+bnq?anId;&>5cvk zu7@<+e@9I4x>~u)E#U2$nP1Ja)8?*?-0nKjWqa)I)L<Qx{|AnHeKnY;a`W;xS>7&| zV-J2d1T0pwp0Y+se7-E7W=DaH(xuXC+r<nmm|L6pcJB%;zkmN}V8HAY1Ll1`20Qy1 zdv2ewchlANDR!~VFi@H(mGz?YnN7M3w>8`R6&mu3q_{PDQbWGQ+%jn?YPucp=<(Z$ ztCbAA{<B?~JbP7B!L~=UQlGOsJ)WrWKJ&MuNlS{T2eSd^`&8ecAM1|S=WTe%$C0#@ zhxho&{f1#h$0QP;xP6%!5P4eZpo7n``1ogP$B%8?ULGVaGwaPwnbiSjYj+mC7rm9L zxl(@PtItdRcYO|0d*@`iw8%@+qG{rdM~MtS^?Aal-Tywx)82H4+?30Kuby7MubgqB z$M1vk-^J%kUsO~SN4OaK`zyxJw%~VpyYp3KoZh08&LG)o(P^QkTPJb9+uFN2Ji2*F zK;eQNZvLHCJ+TukZswfo|GEF9H*fQ~+mhCMoO0gGG){{;zee)f{OvK97VzqoO4+g~ z$v#f8u&T9eQaz-8on_muZBwsKx1QhdJ7WE|S9S_d?=AGpsSRncSS7GhdO^wk{rwpR z3R%m2DnIm;?|+>8|J%*;HlIrJLnYrX|9!FZyzObwW}f*^8UMQHzLQPgvpDp&-7nev z`sdMldp<0BzrxXDt@F`L*Ah)Zo2-7Z=9)`Oqq00qK59Bn>atLndGPGFj==7+u=3MR z(xod6f|$L|$*E4#@13?p@!BJ!<$mubp4)W7E=QipJNK?iuri~1e5i%bY8ksFyQT#H zaqs0lwru6nlX*M0TOM2?IJI5a$%<i7{DccNDt{^#eGZeDIic=N=w55f^b0+Wb$>f* zyA3riF!}$yrZ9I>%|q^eMx|H(uH$Jv_(W7vKr%mMm&WYE<qR64$y~yBK2HdIcf{^Q z?RSm4jUUS{%~>pXF|fO=CrRgr;qCz5>sRM?Px<V_cJS(!E%xCnf;L@_4tEj>iIXo{ z^gXM*U9nXBu~pVQ3!U}nC$4{^T>e@$bK<rS9YM#LgYRlH2DQ9AuEsob<9TBil~u}* zcEniAi#XlS6pxNtQDPxHL%UFuOE7++iPwA$hYfR<Y5Y3+Ra3Ca>2SAGEc-#9M;S|s z)=lv$Y@RD|tIuqyhN1AQgP9#}G77wo4o@DQEw)g*<S*5}M~Efy(wqbv$HFbTGFNt; z41L9|x0h8`KA>)=#E;1(KCwl0w_WFac~KMN_m{KS>h1f^^|qPU)EA#zU3a!r_O{B# zTYFb|pLN(4dGD}yEVH7_mKlcw7fJNZ>R0_;Xq31r>O&pluIYDIG6n{jb|t)346=|& zza;)kZ|k*tC)hsCvX<ie&o5JaXyW|6A0FMW^L6_zU)t@L^F2}y)J@Rge_>x${QTb= z^&LB(zu%ql-+Q`FY*CPgOzKm`jS>MtEXHDsFJHN&XDGHYk~RLDw!gGNsYI7SlBZ+u z`^tM}uMYk_=GTA8XzS81o0d1sjlFz_cXD3M)Ckcm#&rUmt6VM$ebAn`!rOaOOnUbV z`-}v);+dJL+^SaWy3CRV9cFW-3%1QSejR%3#8S`ZMM3)2g0sWVSF6MY>u?A^Hg~A= z=dLJEUwz$fcjNI3FMqpa+bqiDZ0i&<m}SB7s+66>B7Wi~u@j7fm5**6DPMF|W1`iZ zrj9L}zyH`BzV-ctBLzzgtT<v1Fvwlo`k1B3R(>V(Gl$tqYhDRSy1H)olBgf}rAx5= zdjQ|!sGbLQ3-u)4Uf}hpjGA#|!iqUJWmGGzBAzzB^qI<0XvL?r?H-HcZi_zS|HfIN z2fo)#-&OwQ{@ojo9SrU#xE@|~J^10ep#R>r$71Cs-^#PJF?uz%t4xqz>&ngv%zTv> zI(l}_xYu&r^xfip7Q1c=`ZfnGP!KcN|NQB3%Xu-v$GA^kD$=}cxbMiS$T*22@np{} zw$<NPhQ*oREL`eUS}<Eh+0M5zu8RFj87qtZqrSJs^(?2FH!sOvec$($;RMlxsgHlQ z?EPUYdHqi5o0;xkD%f+A{T5Ga7hYZ&y0q|3-sPQ1KWuxI7p+<z=^&;gZdZG(r~2OC zcjbFOPM-hsM_YQGnQ-)v`!bDF7=GWs^YqBRdA))Wo4zcZeE;|Q_m#~`+r?(hWSIZ+ z(7UZWF19S#yYpy%(u{ov>JKKkzfn>W&%bl<?E48ZN>_f&n)l#C$%1uT=NvKI6S`cC zL9Bj}@1jt#?lmsFkAz#KU&VL3aBwZ`sz0L~&=zqbcBU8ig74CP$8?n0D(6K^oaX#I zZ>!}z75*;40|mcsB+7h=bk!1I+RbA8?faI~0;d}m+buVA`pl;&DOPahNs=P})wM=% z!#}Qg&U7*6yOGS>?&~*}W;<ouYdo&JEGZVxf7-UMyQ9m#v7+-(r`+8NF01l~y*uLG z<y5W{S*)uxUxxcu!?x3o+2Sub+>dxq%Scf6V`?jw*cr7@zqza6?hLCXJ|Vs<=PxRh zx|UJXWm2#8WQ)(T65fqs5=U<7%h|E4cKWpDT<C#9j=yi-MC@^0D#Nax`0xR*g3;o_ zqlzDjJJYl!UOIh!c<f-vi`U0mGWNKvDq3Kzpcr|1W`~mU;x~6%T1;GK#tE=6n|6lu z^`{(L=yB|Js^eEhE#?ao-a8*>5VbAj+tY7a9Dh8<*z@;%oA7-{RGxEP@mnXDz3Yzk z+lzD83$#C#H<)j!uk<+So#e*twS3E8OBY+5od0WWyIqw<{f0YpeO?BZ+_@g-=eAS) zd!dl|sX2_xq`t4oI?CQ>^=-!gn9X%h7Ye)mmfvjlcky<s#2x=HD*xfX^N;`k?{@KT zU&{QWwq)GbPI%z9)=Z7Tb)C}f?DMTrJc}9`wB??fU2IU9YFoL|YfX#b&eWpG8++e8 z+;ul6ynFuUyMf+|`wayrh~-;Zr@rz&ux;axpi9eMoaX&!|4gu3`s?*3lb0{o{QVeg zv+GCeWq~Dz33Z=-C1&hhX8F}>`4+Z7E-|N1dzzazob><hq1)$C>Qb=V`PQv#3ZK@? zX+GZ5qWs{oE^|1SqrZ0AOpf%rYYwM>v38qBHBAayAj7?B%Bf!|5uINGCu%qS)KPw_ zWN@;u=-B58pEemSvk>lh;*e2vTstXny|Ui5$_sg0LkskjBtA$!F#U4!=7EaM1($b~ z1hk1fS+ZMS#&l7o&-~XrCYv=bd68tWYhTsex;%r&r%yUhwoYBs7{i=hsA0<yIrD>u zMZuIyi6MKlr%sQ2**=B!T;s9hrVnkoc&;$mA6Va>^;J^)8P9ung*k?+3KI@_q)yD* z@SyRiaLpUO%mYVr%nrwR)Cct6(Ns^{y-M!IemN!=#iB!Z8cOGNFP<5`?6&jV4_jV4 z$$Ce+E}g7n_|IZ#a`{o?`Ij008jHJhCC_2KAO0%p)9lx;PPM(PiEWlSa(MST*Ep-$ zw{O;*ye{>CPppNd=%ZZj<W+(li#95m28Wwh9$jwtxpVLOea}AquXvVju(9?3YQZ1J z*RJ{>p8kdD&ihMCz5V_ih?KARe7^4A=l3NgTl~uoaoz3N(h<ybNq23|`sAsF8Z4)- zeKOv+ezWtgD?h!sF5SGi_^G<#43AtTvqMdecGIlF#rDLkedKV!<@+Wbxt}}%@1|zW zsjZKikRm+)YrA{GfvZsuPHB`s{1KEAw&d^k69S2w+@!k_;%XcDlTSCjP*JIE*En<D zd%vLG!(xu662V$+C%2wu!5=<*%=0=v=cx2W!|vtZw@+IfpeANnS;y0F-ur@k>pHHh zH!sg=d7K;G856%gMKv}ocp|?}=^q&$=|}oe8#4Qh)`+mT6;4P#`ci7))O3d3Ph4(> zN!TfcXMLN>f88{5YT=oM?$xU$UN>FQ?z-Byb(tTV)mN|Zn}U99S`~-8>=w7lv-|AK z<Jr8eHGuDUyQBVugK6s?I3%2jeaE^o()_w+{@L#ujhDawaJ-r)5GdHw{aLrf=iQwQ z@0HW+=4hPLmdxAku*FgIcC6d9BD3?U!im32+bsQ-%=9|gaq(;IBA*GZ3WcmL@80!f z3qDx0Y|rlg{ZHyT1B9Dz9re=CYl!trZP|8Fzde1${zy%Mmyb`g@HI-jnBA<^{aM*J z<H}~!nYK?C6t9@FIZ|uO!ieK9OaH%^{ryRlb&`)njzV6o-iZpUMJl_TT01sJ?qI93 zjejY!-#yk}QK96SK(RF6!NTLR)#psF$9+6l|Nr}W+vw#68|VIC3|jR1-<|n?&iik3 z-p~7-o%{LvZ@pXZZ>f6A+cmmwjP|+VcW|#@-I95GeyxsK8ho^Q>9t#nic}r9?OeA* zY=ZI!)wrq`i(P9T3VK^5^c2a@x*zpL)ZWueurlbRh1RT<FW!l4(P36!u`gOMKCboE zIZ?+yi{&I<3B8>^U(0jewX6OUokC}S+N-Nom(D2cq_9wOJGULn&BzwRhNExTobr`s zOw<hERkms@=)NVz$C)H2BVru?e0nzrZ};9~3q0I9Y&7?tJI(q&?36?Do<R4-wac!n zW*fGt`Yw64Y1XHNTd5JzAzW;?w@2^q{Fkw}L-Fz?UGCG3*$+jPWsWC(Z>?Ton!R*w zP0rG-Cgz#@O+-3BAMAMkI>LLaf5iX4MOO-@MBUzfM`8MOj?Rp{Zywvdg=WkCTKMz1 zLhOPP-p*GR+hq2ztDB!>c+8U+aB^>zm2J@**Lg0y?d{2>9kQEOO?On1S#?$W#nSEN z+h0~IW<9>RVX;h=){cZ5x0hc$7kXh^AM=%C%JCLSs;?Hc`R$*-c%9%q#k2V){I+W+ zAN=&@yzH3?^HSv$v|7Y=tX?QM)oPN6fpOJ`zef9*wKxyV)VPp7*N%PfEX{@4txd6y zx0SuVvE^2lcKOvk^Ag|k_6kX!3|)Oz&hnsBVt}Nyu5I<R&9ictuWw%FW&8B``OTHD zPV;{Hctg4W*0;8~W^0%_`P63|We#<fdi!SQX`9(brJKU}6!vXdT(~^<?v|^kc_+rQ z^06Df{QS(J*=%XuspR~+&(il-Z=1E<=JVotHxAi@CrawuR)5fuYwr2xU4FZ?f7{yG z+e0ojZSpy!`!=egL+!9-c;@6D=?|->*SAJ~t_q5O<uvcK__3Y^Y=>_y4o#90i!ACs zP-Y}{*RuB7B{@}pkIb-e!K1HCr~03rX?1wns$;vn*=!Tuo(OGQ;llLzZ>7V%Kj-e9 zUbA+;bpEf6$1Wb-cA;YZ+Ev?Zzu&kkCSNw;?27eUqu1>|C|6UllP7id<P#S%)S?QT zqPlk3MqR69YOLy<=&r56?(ozoqi3@D%Z476cMKU!E%Hw-pP!3=(6%&0HRP$$6H%jo zsuDS_uS}JUL%p^v^3m)}>e+Vcu@}ok;ZR0z{-F5PD|S0_cy#|@_g(w8Xib%>>P_ts zr=@X5kDeT8>`M1=Nw4p0c(XS{KKss|YkK>2uD{#+*iU}Bz<UnIX-cv>Ld(}$&weVI z5#9CZv#ZDAX}c2Bmro5bseW>zE-H10XXXP5hKt4LHo3ieB)a5SOjJjeGS3Dk9_d34 z2R+>UOxFcCyzbHN6Ra1$`%z~7GM?PO+x*P0<ZaozSfqZ!cef}ruQ>|mc)fqHefB?h zH~Y?KFK0oW*!1P`KetYNeAraw=wtSUpWSD;|KF3Tn!(^Uckcl?b|t?|g}%i{7S;v1 zHN7j<)trCG(|KmkYoBuKzKxr=UN&2ID^oSNJR<R~N%p;6ciXbWA~Iw5`o=1#8d|nV z<lE10naS=n^_`M@f6lyPuW!bjRY}?WyWzFNt*lQ=qHe!Gz??I`R(z#(_>yUP(-ilA zJU08T<FocdHhs1C_C%I_I^Dl{)v6-%Yqd_1U81$}RR`|HrPrPHEx++<>+D*aOxx3Y z?x(NcyW8&D$9|a~%gpx+N+dq|Xd?;g-pK5kaR1*mOZND(n^V)f--O5?wY_%j^7Z+b z@7`3D3(PBxc6U!byTmG5_vv!Jr)hilO?B<9nfXuA>XPz|wbG1&pH|KjUUF~d{p2&x zb22&}DeP_iIOQQ*5z8!>2hrW3+JTdK9Ou~u>zcj3Qu#S&#gbE1OP74>dfc~7OxLF- zPh?w~yhLHs`YkV*ORH9iOnx}uw<lBAXF}<OuV2b$cZRf2=*V7^9jG_)@P+$|&N~*K ze6{>q=gb(*P18h{oCr@|VxyGo$;(@KwWM;1+C}N<Pjxhz&+&_zd4x~c>K5|4uh>Y# zWMPD$>9N9DGR^$^{@d~uw%^g>b1B(&N`3v>WYu_HNr7~Bqo@-rs<egHGpcQR6Do3l zd61@*r$x`(p1OoP4gGu9_^&rNd9&g7yFI}v8y#osah?kjx+B3Z!)-31wD07Hke4@R zZGRhJTd{xYO3%|Bi=5ZjTwWBfnBElij!*LPySR^hC2v2AHVQlLHd!WoSm;rcqga%a zuW6gajHy)_J<5)jJA=>1R&SAgn<_iU&CB@X)l)AYO#3yv`lf8)_S-c@w`<ysjwCMR zH}d-Rk<Dz~f8Sv7r^|(F`ZhO|SuQbpP`Tj2gJ-JAFHYrD#U6jXreFfY|GZVc$084P zWXG!tRV#}3T@GmZwBQ-*<MUsoPqp?>;Aq`zbZ^yHxeF3vuOrHHZYB6;m)*EC^K#C) zFIDAsO6TR4HpKb0E}j_Id_in!^qJ6OtzUdKj<YsSDpVE~P%YMra`A6!%*(F%qj>wm zhO=U_f4OEGr%&^pq>?v#&Yl|C^zC0RmCv+4?q~n>>b9DrUcaxtm)|m1_mb#@jcL}C zv$Nl-zM4?}DmyMsJifI1?)M9acioe%+ADQ&!KUJK|Nd<{+P-H+s7#;I-SkVJB+p#m zabo((*ONZ~x*%JAx9V4Mfn<%N{HK<Ob$oIE`0JlAf7i8pa`dNcY%X`&`8k<auZEtJ z$h&xmPc!%4pU6qsIUCMKoslj#)8bn5aZdTOx5;OYO+Fv-W)XL&*1<xjGZLCBLIP9! zr6z62sN$UPoU?iFZT;pO+RqC3oK&pZ9-Upg?T6{{o44(EO}|_6x75rv`}Uld!FL=2 zwciA&wN1GiQ@{A<o4xgWw`eS~RB+%ZkXx>LXpXd}l9|LgohAu(-8)mCKIKziA6+&7 z?VT$bS0|@OZ0s|S7g{9oyXL;$uKNc2UmA#Y>p%A{X4!JD`1aDfK7JQ&-mp-OdQe-q zl=sz!vv*22%KqMERQ=*xbnb%cx#fX}9)8$l-P5SF^wq4a-1SkVr%k*k9(>tpHuuT? z!^#)aUuLe8|0O0ITm4cpaFbZZlkCJzyE%CNHTPAYno=cecw9x&OY%VwPqXwP1&xR4 zQ#dtOPI&ljUC^&O>swz^o9=zx*~n-rnd$a%?dhW_R;e0}?0W>)INwiX>s*)I?8W;) z<blP@JMMe#O&7m#MJ;)aVN;CzJn4>@&#l)T_BX!ejL~kfsc?B$P(3ZL(_+eBg+*d* zQ5@|uytfWL5^>Yry>03iHlq~Pej}qkVP&2<?*pp7Y<X@~#lHPX&@SZ{C%hEg`${HU zn-I);P{`F<;j7f!%hr<~a%A4wwYzZ6gb!2M_v}4sX8&u#Tf3e2zFEF9*!}R?@uOSH zA6ia-eO0vR=Y5?`Y4rm4B^*9ojFAq~=rNpV)aTwPpMGh_c>y&U$th1uY(!TH-!Hzn zFKoez+3R9Njc$cbGS|Cz^O1+++IR0K$5r**E&hMF?5=M42?hU6w&k%8Uij<|(z9k+ z9bfaccNP2lO~P>{6V~3};aIeM?mVH@t2DOVn>P2e1oNy)BmX(Q>ynq)Y^Y4XygB&x zH<=js`KQ}$5_imB9R7Y@_5X?!zwdu<?7v@iTQ)xQ|81FFzf9icd<s&idh|}D<kq4; zX*(k}K7AS*B$C~0d{x%l<wWo60LxjA^}0m`mbr7vO=UAV)f`hG&-3ETUyh$jR<aW= zz6)r%#J|zg@36AB{N_FL|K0GjeC%WWc@4k%R@3<FK@VCFdbAxkm+($l@Q|~~XLXWV zuhl=HkCr`c*9~9ucO*F9_1*SwUiRKI=~=$L+q+n{rEX-O#FFOIJG;jIa1@W_^DM_n zc?veWrl)P;SyEm*X`ZQD)6u-cT}#8PlN;Ywet2kBdvD&wNG^^U^6hJs&vzwu#GQ0G zJtujFi+Nw)61Ocf4p|PXEWGYT@;c9pxM#>BA-m|ZS@ix_f(MtL3ZHD<zW2RMOUJg2 z))JqKV&zqIDi3_iU)<QT&HZubCNsmwsXKO8TbIsd+q;nEw&Vr=2b=o2pQgV&QLrJQ zuKLz({<yYN!MwNTEf&)_ciiyX%VOuGijU>?n>JRhZSpIdcbl)Tal6h^Z;7_qpQm1I z@nA3UXO^+^+W#$1a>2ovLe3)-B}AO2EdHo}MWP~7!jJ#4tDSVS56kOf(^+SB9K4c0 zYwok3hQ~CD`D*rutl&v<y=!$L>ForL-41?UeaA#kh7>)rD5;g2uV%UD?Crb_xzg8e zK3u-<@V$Q%ud@m*+I-+^M^}r7<c^e#N#?$B0Y0JYk9JjBS-t-|W7GAS_L*U?%O}2@ zJ!uou?GF#`UfWRHet*4ak;lyXIqw~R>s<L!a{FxgoyR8*d-GY};Ipo<kKSI{?R!b4 z?#D#YvZr6S--`XNyD|3J*^T1*b|>_9zKSyCz4>x!d+RQ?xs%?!En|ugNel@KzqRkT z-mm%G_4Nn$_wC=WHqYMN4RoEf`MS%&a!<eSt3P+WzU-ZT-N(<L&+X4Sd+TfamXj9W zyB18j$~}Gh>M2VX9h)uDl6WNI$RfvgWqanT7&(T|mfjnYB%{?P^iZ?Mv~70o?^!Ni z9$cteVHGGRX0XBR*2<cdJ=blw-^-bOZOx>Vl-~X4J~AAxF4x_D+eJx&|LS!sU#p%C z+C4wL+8=fWZM896+icsnqf^Oa%Qj)3x0lv;v3;MjETie#gaeD3w(e~fR<-A|bw4uM zvv`v7(J2Rxxn)f{KXucO;P|zV9j{H1G0OSbaG3o~<7@qG*OsxlIw`#gKK!<5(aLSp zS_1?scLwxs>N0A77kjejppXjhp$WE|Y@Sb8l&5q~?rN<2mb=-qdo}+)=-xZyUDLns zF#(S%zsoF@(Gt-Nzp&Bg`LUlL6fWtA`|)V<1+KT_%~JgObV}mOIloGKqg+-=O9{O6 z5-i`{a&kHMq4gJba%+4o)Gbg_Vza2@N;zqnr1UM~nPJy~pH}{J&F$_g7?}1o)+sV_ zJ1KPLo8M7Ydd9f!v+p8L0k%a+|KtL?7F9d&P3l|e&9dto-<KVk%vuX2T<`Bx?fNlw z-^s$pDKDz$?y+@`Eby!7eamEh`OJ~mJKGh++MeVnh`IdM*wX5#Kas7vZ;#B0;;CPD zTsO3GpTE<GKkr1&uekna-qZcMzHhs?^Gev--?P|u9GfU=!L`7_j{kDaGrO)6wwBRx z&)7c+)ZQ_CHSdx@4BvBx=M4v!9Aa*iU*CAWGIVwSA4T;!Z*G_0E&lYq?u^67oo30u zOrm#|Ek03mYP0s$i@HB*&fenvcDh?{d-&XfExvP&Zce>4MQ?Lx_O;vhxXZU^b*gPG z+qV0W^rUU9kG5R+&=zuV&d*@^>c6w^mE3Z-|2UC-{^8U2xqn?y=lNdz=hObbviWxx z21oo^>0kHlN_5`tx2tu1bvN%$;W6O&+Z7WvOL}X-g?;`$aXlQ|Q^hX(sA_kwUY%NE zm3jEa3L}aBG?BX;pID95#ott2(|K{lAlb)8oac=glbBZH*1U2KmamzGceWMI&5ha~ zRZv>u|4D;&#^e*Ox0kGBW1Du=Yh`%2)a%6R4c&?6llLDv@M3f7B!AUIYM*q13{7&y z4EN~Nn5>#n_^R-oLxM|}YhP35?bWVa7FRDbYrgLgOy}YHV*d5Y)2^&pv&y5^%CHw5 zJ=?XTasA7?yxkH%#N2BCB}}(1I4l~t-!JY~|Ku25UI&fo+EbR5ZuMOiem~9e*@?0$ zuCR<2Gl_|2W-j(M>w{AcURx$M@%Sy*H?OzNZL+wX64H5~^V$Vl{b}>Q|KZ;kcTD{8 zf|z~hwsK`$wcey@KkEnAQ=>SSDJEwZ+*vu}l3C*Q<^#8_)_Zm-S@K0(uC=;hR49;j zXTqryTr)MMrL2{g^Jv`0f3ar^OQW{n=I@1<C9I0)Oq=d-+Gx*)hl(>M{u8+LW`pH( z4$J;I=5sGJ{1A27J-OZT$dB@ucdSa^T8rks&w0n8C~fIG*XYirwm{99s{~z^Eq->_ zd+Qzd1FZ|nEmqEH32zY6&{F@kY>KYCpR7!i<C74}ynPz;4sl$c))B4i{XA^?jgr{e znoa$;U#>mt`LN^Vk3F`!&%J)NiA*?`dwf-?)w8R1={wI|d7r!^ap`Y~o&86@cI+yb zlaW8C@%W_J-izFJF+Y~|6;#;nU#Gm*_P0r2bw^3rg^l{$aZNpc7RY#fJNozNcE{dX z7ax?XE6ChgnYFy~*vj>RQ7f*j+u^4vQ)rbDa!Kzk<2%O-^Cuk&YJcddKjGVowHoqP zUp_eR|Mofl|0Cma+midmHBYM(<^Q!jteY3}e|^o@Zt)i(dKIT%{{Qq=H`=T|<MXe# zMm)WFOKkP$Dy<0c4_+)Naa~jDi7ij{%pOHHDI=e2yLYY1nsj!q`SojSDy}T+{4#a* z(J595Vv1rl+iZRG-yiXMKYio-Nee%m&}hieT(MAKT2!UbN}-p6jXR#~y!Tx-I8ZN8 z;YCr`3$@j66Xt(&eJ3syxzZ}il6mIeSLK3d9k(11+`8dMkxt3nSAkP5uI3Pap3>vO zro%JmRJq$4zm|DkQzzs`{NC|2yz8!Z>6&A?vKLcW3MGxEyzxGNa%!^8o^B!aw*@-f z=1Y`yUs(Omy<MhteT7uQBF!n!Y<48E+-b7D;;kpb&a61$+PZ*`O(xIxZr_`#VZ*R% zudB0wQhDF<fDgqxWu|y`Jqoy{^*QcMQAbLTqx-3;(eBQ3&nLuqN?zDBl~qpp^uNSo zm(MII`)9IR*TK2&NS0Rj)j6)yM4KOk<SCu*;aqEYtyEfJ*Oi}BUP&}e-T7j!(sR@9 z#=A>Oe56y;oUC_!3ARsPcXp1gch1M?w=K&2n`T{d+MPT(<dMeyB4_O+xw-47wB-j+ zO`3d+XIbsMfab6Lx*Kcz=B1imHNCc{aPyU0LD#i8QqIggU@%8OJ@|D8<NBvnk3}o1 zV}w4P{gZY_Mr@kY>>!@cVrRC`*~%aN_s+|0vpXis#=hMabe-$?>XvWIr7j2XFX0I| z*Z%zY;`OG-uI|2FxK}g#aaG1W$2rPHZd}_Uk}s?NV>s9IS$)T=U$M(h%-eZ>>%v33 z95Mv&YfnxJ+<$__*Gtmj(rm@vdI8p~tFfK_?^_?suC;yWBBH2z+V}XK3+rW9`Bb>L zY(2`Z7j$#}y57}4Ue3E9b71Sq%YS3mW^=zfQeCZc<LRdBdp`2YTYqMLzj))tBabcZ zn1tJYTh=koule!(|EE3t^`Bqg|Mha~^|<e^7hO73d+Uf^sYZ~%5_dg;2^}&Sr50;i zXNpaTTA;9V!f&<oJ8M^{r}!7YEnRPaRcd8=?wzFFXJ@7LcfY)I<(9}q7H+MxT1*eh ze#|)P>KNlNQDK_Sw!8y2Yd)W^Sn}%4M~zIbMZ&8B0<*-972YsYsMTED*%i6Mhn498 z&liz{lQ!F?{oS{+v;ET|qYqo|w|M%mlT#8kJ;?VYYqNyFnHLk?<uaqMTv@n%>&<Pv zPi}UZN{d)NTd{hQ*Y${uud+SsxBK`Q6u7*pv0jv<WW2odH-`&X(w5@s=Pc}AGYfNX zntbz%t=Qu!n;z5{ypX%QYf9FErJ`D@*_pLd-7Ah3E%Ok(;=!;i=6v>*sO~wr^Cd2X zuKIgdukT<(!bRt@`I*sH?II_&l9sw}=G(J!<=t7KerB#k^UUw>JL8oa@Z4wZ_C(h| zm$R>2T)WPxE%J0jPxv~q>ZlVBBNU@wr`E4{cG3GTvzMguR3*_<0Vd|FYv0&<ubsHX zxjQag;^(95bCdY>;#aaM&i&R{zW3_2b@x)f=k5%DE`42UvfGur>pb?jEPVd$SXuP% z1Gz~-^A(bB<<1VbOVh9WxjN_bCU+UF<1-691*MKue0hJg<)nuDTeIY-MKM1F_U@Lw zI+5{8dW>$Y-=%}?a%q=C7u~pdJ;#0D*R|V1&&Jn(yt@9@HQBRHl`p0(`>2|Aec!K! zQ%`+FfBrnpc<H{xJ0HFq&kX~MQ~uw*n7GE^*cnN$UlnI9g@45^`q=NL`-|sIA$v%R zhp&*9<Lj8HCyP!j7g{${eVtg3{}SEf9^aGNt1`>0U#+^o?M=p(*rQtYIX@rgbzEGu ze9DJD_GuO~KU`q`9@;#~?e>ySTVtP}*>X0ze8=RQx>xOGPd`}gSMzlFdE5Wb@9+56 z7d=0H^<D1oC2Bn1KYzGY|K+iK<g&|AUoQ67ym*^^ea+wbzR^<L+w$+Pl#aWgBDZ6a zVg8*7J-QQFj%|!eQdDi4Wo;es=+#!&-*Oqh-)^5j_xoh|$iv&tZu4~eeY0xE!g@F9 z?iI^IxgUntRm_vEJ`fjXm$^&-2}hqxp7o~#f4<cn`=t}`y~OcWwQRwL*us;oW*4sI zTwfcP8XbM>&`*hSpNDxZ!9x8NVt&pOmK{ntet5A_d+EjpHF`W>Z>S&Jc4XV8zpk~v zZ!jNOxOnf?eWm9r&2o>)+)lj|qCL5ArRb5l`e8Q(4q2K!o4`1;^nv5I>W#fu-%On4 zP+fAkEPHAJ&j+oYmvoKd?0>)A`fb^DnU@zn`AyvaOlHf8Z83%2TXTYQzn4i}V995+ zFb&T&FZ7!5|4k@g^NFjU@3U0@S{WcR*Zp+xl<O%Ct3`9g!Zk(rB*d?tx4--Dm%sA2 zrTcG&A4~48{d=c7_vW&>eCowbimRpD*0{t4_O5w)SNr<SnMMD^bnPyz+x4Z&`mOEz z?d{+1pO*`lubghzdbiJgNxQY9gkO++71tJ@&q6NA9~LSZ@vo4%_eF*Cx=iVvkJrAu z*jrT9_V$r|OrHI|Csw!BwtZW$Z?fR8P1y%sxx4NQ%lntF>)YR!{P~4`t@Sg5bJ368 z?bGJlz2>=FKlPgC;=5Nay$Li|+4Ho2{kFX-yEa{y+kLCqd)iIrUzHJVG8?Dueph=z zE`IO5wkc9p4k~66&$r*(9+LBMu37D~Gw$|3CT{k#f6e^9{)MJr_M@fGKXCX+ynFuP z=<n?Ie`oV+pQqpd`E7gtzF)Im>j}A3GgRuI(28^S`L5}HFJ;TuJ&{ccTa4EP^=%5a zyq+g`>zQXx3v0r4+izQT?tYWkp5fRt$8bkhlU}e0Ps@voYqB-npZK;got|}cR_j#N zp65C{B2#)3nJ0bur0UfqbIR}Z^2wDqLVs<N_MN`vLyO_DmCmX0tFQL|zP9xB+a-_F zI87OXdSVvkOqe|5MV;scTY;rFb0*eSvAhl1XR5<=Uokjsm*K;QUw0<({@N}7)#TN| zt-iaWb{_rKesA%Tlc~;)uN3cb`h7RDd{A@nZPyRWoO9YyCPqnxb`#q=a(DVlsW$bx zzL~Uc>u&j|Tx02~ocFcgHV5$r_1+O!&-g6HWPz#i@~G9fR_N9KNR$rIK4E%$d&Lop ze+T3C)!&nUv+=4l>r=6tf0O?1|JvYst@d?nQZcg?Go!nt=wUmZv!dxc9v2wc8{B$% z#dGqOMfcyG@O`t?V}t(IN8EA6i(<=Ozui`NS#0-{S#!&NPddJ4^1*-E{ibQ=dw<?7 zyVK2Q=*Y7z>*e2XmxBE_t1V62<Jp~jzb8;4txq%Slk9=QANQWxN`_xz7kIRztSWcX zsTC(wpNn{ltSH$x)nn_s*!8u&&KIWq-zw;Pdg9V~w=OEAf8V@xN&CA#hbyhsl}Rx= z`~UTs^;#93S#P57GFM~vy$S40v+C9FY@fj%c=4f4sciOgfi=hF;}f6%f1>_v9e>S{ zTUOR<c6u^73F%1*Oxmz{<H>hZS6rCrF5`0|@4J3w$S&5m_bS?o^YgMc{r!IPbf5h% zgWWH`vFFU5@lwD3sds(FMR`5DV7K4vV;eia&u<1V5Nj5Hn{WAqzxK!B*I$1!-~V-O zd;O<<)p9>heVDMhb<Z8nNum2bEql^*`*w8B=VgNHW!KG)(e7Ax{N3*7dZwx?w#Js< zw>{dvFQ!k=DN<*m>D!L-<5PEi(2Y+%zF+K^dH14C#UH=wMK7MbP{Md}a{8R0jr$l5 zU74%$RFkW~JoiQdYwg=}3)s_IpZcV@rLTTb{phI8x+z!pluphKz5D$k`@8447J;nZ zqBf3;l3#v%uQ=<V`C-Y2UmN~3Uzpl@YvWrBf4hhG6BGUV+Pm9Tyr0i+K6$)JPWnsj z^PTC;KRxD)O6F&$&%aynow@9L?Dvk^yK0AK7ftIb*(=$$Plc6t_5Iqm*j<^kd9~*I z8~12UWvevlis;R^J`z7+aqRAGo>ezgx23!+dR=$YF=)%`jd7e`D(VZ(?<B@8YSHdV zT)_HrlJM0-8shDYw!bbMx>lVP5fl{oqRD*itqV?_Z@;W6`OxuLykcK{NuEk`n_c+} zPL+Be|AtaUp|GpxwuD+oz1fgyyvFay!7|I#DYsJH^quuLdE9RIQSYjMkd+~0J#ovv z#t5JNRa^A;zD>LRcfrwX>tDxMaEho&yq{(Iv65$H{A>sRKi@5mt9bo8_U!(P^h;m+ zwr_fWjK`z3!QUaOVs7^Pn0Axvg?ZeepF%^8PsV9Q{NBj^F0l0AhPQV%Iu{+$E!y&e zb-kN@k<4_vU5BFU<w{>TZu`Hl`nH;-N5=i&kB0T{a@L>U|Lj`z)ZclLKc}v*`x*QH z*S+%lW@T4|&(F(OHjukpxo__6BR_32S@!)oy8g`mH(lE2Z*NPz-CZ@6z05aXSASl; z>+Glxl^YjL-gV3B{B=_kh509pEbg`RtxZbYVf=Zn<NoCJe_pamuyd+cSiD*g`CzhO zvGUAqYtC=jv9YB8nqL3!+t&G=rq=oYYHq)OaMY~&AXD_}6HkA6>lNAN&3LTWHqnM@ z+o|$7FP6ww{hN5=?soaR>pQO4s_QXxeLUf6XE5cQT;B^$woQvU_dGj(xca7s=JE5d zjVx-~^H*$0|MJ69Y*CfE;m5^uxsHB4dPnle6W7!Q+UdSqUpez_S$3-`dvf5M-v{nq ztNb3M&RFFYb$xZxKatyIhgRntPgoeh7{pkZC%IGqbBo5*qI(VfhdbWd?YXS=uVCh< z-zD72(|y;O&3L##-sN82l*^Wi0%|MYC-`Ms#|BBf7P@;^`N5W(r(AbO{H*KVQ`7(O ztip4hLthlX?|R?y!nSCc$XU;fL_WhsCg&ple_-DB^x#rM{kuQCe?NNhbtdDYti8q# z_hj0eL^|9bU)+DkoA;|T-|f!STkaydZYl4W%rooH?YvN2&K4vh`}50<@NaVSpGz!G zG3=i6c*n7GUp)h=XI-B8_~GLDv21gvn|C;V+p^AY({lD(c3$^4>^)sqzi@3`%}#5D z8oSpL*O%Kb^O^Z-!cUW_4LgHo-@CtM?ZIib+fIGEnf^XLw(@Ff{>+FU^ZtVilK<C# z_@DdWyL`^Kh1KtO|JRPaYwNl<X!4@6*&XU)Cnwl_{UlrYr}>_of#Vhbt|{}iisbei z^K^W7^XuQJCeOGt`IXJ2)ZKYDhG`4k=L+84^sR4CTVn4EOP(CDqXDznLO2)Cc`+?7 zT&GOpWRkcO=i!%MpY0P!YcmSj`Qs#yc{*Rm%bYJMTkZx}Uyyq|!L~o}6p!^W+c|t3 zp*e>+^ZbkKD$aYimdGslB%|zn@T04q+^66T%N+}}U#V*@3f(#Vg!|78|3mxVlpg-2 zr=)vy^6E7XFL}*gJoa7HwBj#kxmlRz%*5FKx~T_vOHX8I7xFe<nCiJS?9h!JAD<aZ z6u+AOS8L)qj;ULWp2}MsOWSy8ai{kNhK8Ao-=<93cr;SNw9fF|L@`O@Lr=~cJ~(j8 z@5kX4uWs!WS?y<J@_x(LE&2L^%CeKQwm$w_5Z3U^GN{LjO_tfCQX$3S{(9**Gr045 zF5l<zPE&Y%<5<tGdcCI=fA(AoIi~qQkj<|7^6^FG*K_^-g3@;XHB0#aa#xC<KA&8Q z#i`$1CiR6Xg>hAu?x&0<E1$GUs_)ZTz_CJOkAsKs*(9y(Z1ep;x0u)d+Q0A9($Db? zr*Cq9nxfA0o%_?K*|qPj@2~!KRR7%mgmmY_r!}^}3hnGMf9i1Z^z>I9%EuI*H1HT( ziMh>ay_M``z9{lbt0wohifb||GkaJjwog2>=}F!`<pZV7Z~B_0_iQlbQ&w+&%U1Tq zI56)So4I7^gNzvu<T#Um*sS9G>1lrFm(Fp~?!>e`nlCw<Pk-xZ+B1j!@$8<G4VMg; z1zwxH_xN)oX4&HtWUCX{<YLti&)Iu?Uo2Cw`m?txmt|+nH9jtVpZ9U}gVK{)_CX@^ z;vHnS_er0g*JB=gV9JNGn{OoM6h1yDp_bfO*tcPtv8Vi$r)QoV*=xej?6-1%9ouBZ z^F5Ul_A|}WyH*%*$@TAE=`Uw)sH&e;z7^;!d*1fcF@aqZRfYW8A73mwGryxHm}O16 z9P97>7X11eEy@q)_r78_|0iM6v-SM$3cD4;AOF7C{N%~a`Q~cH&9i0Q%Xk)UYKwfn z_e_KP7TM3U5>K-<+01=VuU@ZVdwx;=y7}2_itoHTbM)tLo9~7Rap}iw1?Dv^sXRBe zkWumc*7nVkFZ?X7+U3Xg9J~Ln?&Qbg_5Yi^_5QT@U+6r}od((*!2K-9{%hyI(<_(P zf9SiN_y1QwemUdZj$N*|x>S|LT*Q3M?K1E32l*N8dHFTxbdB25EO-0)FH#rRf0pcL z3)Xlvcik6tZXy1Dm&iGj9M36DIkTZsS9`wy@u@dg>nO?pee34G)32_hz;M^&bIly= z9k&&;7Rk;_4w#?N^Z4(@6SrkqCBK*OBsLs>@TY*mh*>Vsq>ttJ!$*qmbQq?pA7@<N za^mKBbDph-zn+-uCKdC7{g{xcZmrwZD2bf^b3go@6S$*clFIg5oSVzLr|GFEFUy`8 zDfJ*ZeUYkn+eNpRu7PHa+HQ01cf7XjdH40(#+^Fia%_4^U(R&wWb`|hV{+(QrAS-0 z$h>RW^PK%Zw{qAo__Oi+$GWs9$3A~@7ExQZ>u$g+XStu%YfCqrTzR#e`P}=IC(SA| zl<M}ra=SCP+k(G;&RvK0<O2^YRNnpWeBP(<qJAI0-Gp<xi~bopze^UqY<VpA%Fm9< zx8FUh?Cr!)OnxobvpeTzdgaCE8`kBPrtXaRJ8A9ORXbm8Dc}3K_I>65nXfM|Q>)wC z0Gf-~-=OzxzV+4j|E^zO_V3;G{X3IBALC{JcIk=Y?*yZDninKhMN+$k<WF;$`z$#l z$8M=E_UO&mh<T4DO1|Sc*Bf>H&EAwhU((sS*==MkGtGN4_sdysj;#|um?UzSL+!=I zUY%1>5)UQ>q`LAk&+S>U&spyl@Amh_JipE*<eTsMw{zp$-y46_9Z$&nzfSs|!8g9c zyC3pRvrV2PnZ{#wpIz_##D(APTj=JkNZz2b;HmnF`$4w7&mTN7SSs51ySQCBVQYUC z!^T9p$SrTLv3vJC^kj>c*kmuh`4;c4HR1)^7ha!aRk({$ooV^OS!RY}6OUUg5)dmW zI@P<ok<aHC?@Z~h4VRpQOnWNQHW>f7$y;EwD3Y&I=ebRl*1n}@6i+B6yjNL%Sn*Vu z@|%fOU0c4|EK2UF*l@`3*T2Y~{8cB93#3n4pX_GidOz>N<gi`y!xeaD7M^eDIisFr zZF6UXI`cX0d44C(SgucJyJJ7^-JCB`ZCVr4x-7+7-2FD}S+(lri}3kh9<KlUfqlQv z_RB}si$4JMsl*?+{x4qs=iK!@|2CK3FZ(S1OXZqVa_5_gzLRv!-%NCmnqnk<Fn#lj zTi4eWb_Z-TaoyZuup!b!a6|Da=VXhUd~Vvg=M_`U??k4|Qi`gt=b6<PQ}JYa>}i?B zzCS~hCQMZSI!WLBj^?Fn>9Xg(J?3<_{x#?Nodjnl|J%?0rmUE}_e+MA@ioTYc45I| z*3It>PY4F4x83xfExGuQNd%`-I>R5+dsmLxE;<(AY&ThGy3p*zEk7@Q7Ub~yb@utn z!{0VOQ#e)~p69vYmXWO1&chwMH>!C(EltSj+~HAlR{5jg%BvrL3Qk{fxq8b2zr<9w zwVP}8r=M3S6M10pNh0UJ)Xq-^0f|$B*KR#O*Px9tdik9V_VTBd``zAie(kgrzkk{z zEmGt?n`Nz@wl2@(u8HS9J>MuFSDgHAX}91)_L}*UKVPVbrxx6-erVA0Eq(#(l#8q; zavg!+Y?QbDtSmfpGNIq<@V}@zuYb7DVtsh0?`N!?x?``wqs!$tzg{z+`|+Kyf9?Hh z>v=!kcJ7bM05uchGs6F@pYy)H{*N$we96bw=_Yyi&6JNztGcLI+;d2di417qw|zfT zY<7;3>z@g(TQ@q3-PUP3r^NN?f<(NXJe#3pPXCm{KMuU<V=&>#JmI;lX7k~@A8XqW z89q75@macTyZhx6Wo|c&xx#;!*VK3Jn8s7oX7kyK?Y3fe?X>5~$HkxbA9hq>N$g2p za;p2e%Xx{c9^;=G>JOIg+46k(<I{DU@=|L5T*|h2YRa=kDT`+dSJ~l$&oN7rELS~U zw&rYPR>I3a%cj}<mE}sRl23ld=JfyYs$CbKv1^OC-MSfV<Gy3|w$&~VBns;;ubLXA zy<U9rCx_WeM&hr#*A?YmF}(NWSmRaMB>B^`-TzrDh4gQ^`{U@F6H0G%*4x~ZlsPN= zyId)W|FgvB6WcAbY&OsN65%4RnydNht23YSo3lALpRL#^XMATK(<5t_H!uJ8$hf!2 z{pRhkY2Ifn6yx%9X0uS+&G+2pQHM^XU)<*J{8xYWZ@yo<ou$_wzSF-#);%cQPq(_z z^ZrEr>Zi-?{-2JoQ&&5E<Z&x_u(j2WdETQx?|<F<-mSmu&87Rg)gSH&zvKvQU@HsS z+m&kGBk7gml0Q#>$;)FIQw}oOvX!>?cCDQDv}f_@h&MJ0?^r@#3m>?4)T4IUwq8HJ z;u+>e6LdB(+8!^vo3Q-t(QQFj*2+$hUh+6}Ax9{yQsG06io1F_8T@veZ`hqSPwwC> zx;kf3LmIE<cb|aOe}#8i7p!|<^;s?Ao~Ha;H>u{gKBf<HZFp+uorv^xE?QzfS9{`Y zo2eUC_D*}cN_<DYi&vTQFUhc*(>H&pZTM)kMgC-W(u%(emIO^xmW-I&^S@_9^1SNR zI(1)czqwyG5ubGNaAZP`G4F$nwbSD!3v_1fz9Q@9V=VbX@ZYk{5`x?3{l0JXpw7@z zMNeY(p#tSEPVYa-9o_Kfnps7y#Iae@pHB4dKC}AYvywf+F-8S9-|LjiUCgw|IQQgP zNzwsbf6=s^tIE%@7Cwl1n#1GueE0fj*=xU6K3*nf>k|GW>zInXX<Ocu%`#;??q=bS zU+w-qL29kT8ELV=VBh?b9S5cQo133V?3Aog;1tjF`Tg|3msb**nqKB+=NJ|2II0VE zZ@O8mFf{L6;9dImw70jb#gx7#wiVI2=C_xq-d9fV^l3eP_SM&wo1g1cKGj?<`*BtM zZ}X2o)a8VgC%ik_**HU@ak*6ERQn(AZ!P_P|7Yj4ecQ@I&&>#W+;+`bFKlYUyyqE- z@*;aH7OcJ;b){fY?Qy@--LEd)>ff?r+FB9I3O(~Pv72-gL)<<eJGtiYt!3YKZCiCB z?XBf)E!BTP4of^)R{mPPuZ`{YzZ+^RmmaL+f1Y?H;j?7CL^B7Qwe;THl`X5TMQbGs zX=}#rnBEbarLj=sSns41*Xpn}7s{+tN`iXL+;+R9hHZYOQ-9qyC82w<vgk$Iz~|Gh zn(fG&?7nbbwcpQ-o)zvVB(h(2Jb%GZ^kVrMR;%T^?tCiM`x*Q^(*I}4>r*SYe7jd; zZc(9s^jA*m%L!ATeUCcnu{z|!wi^ZWF9d8n?51(+nfvV$<+%qRz2TmGxUxE<f1_S# zi+$|Yi<9q)^j1Yg_`Pk9`rGlg!vB10<8z*J&0F^r9^VydyTfZbEquOHwKRMCWS!Ml z&&Txc?rT2CuKs-cF~xAf>U|}QMNv{~>o2=W-`RH6&B|n%(K?qmd^<lYL>-^T+B?UQ zS9?}ZncKP(M=w4Mxmu_j-s@fUYFTuC=-#cTwVa)j?}bLJ5A~R_Ea7$9>&Tt=Zk2mo z-|fFhyYuC{7V}(j<#RTL5%UhqZnuwHzGrRS_m$Ju@5*p@UZE|1bdS4l$Tt1x)$^{M z63(bl_to8=S$%H%p<7zg)7Dw@U0jgjwms|q>#&?nW=kbIUToHwyZO`{<}WW5oQ$?F zzZQP8>92UyOqbqYUfNf@!ftWyI_J9TRYu&$9c$xu9opvIE;DiV-*46*W|hZO-8`)x zwxUz8;uD9D%N_j>mK$Hz*G*Z>7u|jJ`0tFrdP0ewtKWJY_wX+-{@HVD_rDqOpBBx2 zU-jX6s*#LDpuYYgoeGuN=}(P(u6A)PfA#%IjO3NCuXA5F_eUK57Iw0gX+E2#hVi97 zj^v__u9LFDN0z*pd16P<!52;9?{oRj+`b%^lXvyIQ_AA#z`J>uwcakZzJBxC?dchf z(+Z~qp8RzBoSVAB;R5A=MIJjH?0=><ok{oKx=z?{<9)r%PaSI}e4DZ=@cHKDZ&zBq zjIPUf&f4`bMM3fbljO}~M~~mm4`1=Hqi33XUDui0SIvKKNiN%Xvp*)Anb)X<Yxmyc zJEU`YR@+5SQhHRxQ?~T!72j=#URFms-%r{7`XBGN8(pPRvt{p{5_0EYXa9LRs5EZ% z>iJ34Z+Fg?t+-G#J7)2@fV;0#b8Z=0Ce8_NEkDw+#Bh^JQ_{gZNmm)qZ!mq${&v;r z^+68nze}d)*DaKLeKgBw(ccRvd2(~2mXvj#HgKQ2*{|*^<Eec61)tx4+pRc*gLB@o zhUX%Y@%QY?-kr}|CORwryUv30FV1|dTya|`ugY0}clphp8cX^9`+3bln~k>`9Bt@- zdO5i6?nDNK@;NOjCtMj$I7+VDb*rmv^1Yu+Sj+Z5J20)+I_J5WX-nYeUcbz><|~ZD z0zFrrofDb=`;FP<zIm~kU$f;m`bqBnH_h>?<KlPICY}&_aX_PLiLAF=+f<|7n$@p& zz1g*0_wK!iwwv0Y_$2;Wer4*-)z;f@Jd>6WJ)%GNN4Va$``e#%vK^Sw_DkCI@$nM} zb@o1zivE0q@8xmlN!$T8r*|4pirJZD$?^G#!WG&2IksyO>jJpSUSG=zS)#ku-qQYS zaoX+EaYY+sBcro!zuyymNM~yJ`TMo+ub=<<W%;8;J~nD@33oVrJm%T?FLyq?w0_3o zvf143Z0xJu*x0(-*{?EX7i{pTf6hHgS5{7H&6KMV1{byzPgJ_l+8ia2IZ<-W<Av)c z{=4_oZ2iB3)pAk)KFa_9vfM0~E6(-6md*#R62S}hd#4JVN-bHn<;FG5tjHY+%Va;c z#paw}8nnOahhgw__X!F5pHK0ayfE1L@K4Hxy>C2kYwO5uJZa1-FJHK$_V;Y@h~>MK zrk+;VAY^7{di#mx<~J|+=VTOb_t>_XlPUC6zVJ`Av~A97{62h|db3FTDp&D2p4%}I zx%NLVUSI3?x4TgzbNY_ZyHncE*R<EZFkQcOp7pxzf~B!d3}G6{*W&E&pZovj|K_N# zMS7D%GPd{JU$yr3o0jDL>D=FL-_2RvBg8J2^kQQAH0H+zWv;EgAtBLmQ%x?M7Qb0) zzHS3|-B0G*yDFQ%A6RzZqI>7&^^(ksDr@WCF5X%8K6m>qRig*$``>LXJH+W8{V$+- z*IZNgC2xx6O7vPd8vW{gxGeXC!F1p4ytDsh)bDsO-E8eXzxApwgBN-9wD%~zd{sBs zdw<W%S-!L1HYoRRyFRyQ)3()*Rw`b&(KB~K)*%BM)>&G6gWr7L|7&aLX-O?nu13E- z&c`O)2vA!*dD@at?<Ifh?s%@>R=(#ikM^Cy&Aho$+K<=16<VlW{%!%U+wA8qKP<}j z9DCLhAmTGSjrlX*=Im)^x8>{0SC@Kko6=_fwrLW3$VY~(hGn(!#glC}<gLA1{kr3C z-7_BRx4i2&O!kXSIl8Ow?`+klw^VoR(m!>3&V^@!c6LrhLJo~wOYF?oUz3}9=9Q>; z+<MEHhqlMIXRSMHonUYMcFW?NW6J#}3dAG!Kl}E+?q{?mTW;7=6ZhTcN>_h*nEwB| z_?xN4*=wtl7nfdQJuBPN@U*t<mDAzs89TjupYDCL^xNs`@Y~l)U+*<{2rgbdXSrPd z<XuU3t#-e=7X5a{;<%jowa=sdZf{-vlVA4q_0WuB;kMtEyWH$2U!G-f=X}bSf1dky zKMddh?^;3m`IAARvy3lYpRc`G_e9XoV6VMf4)9%;aTZ)2c2_~+qF+$A<^IJv87q7| zk2Dwmw)*eQR;aIG92*sL;&r9u1pT@R8?GE(WgNd(@zz?;wf54|(o4(toqZRc|N8p= z3VZ7<M#s0^-FnDsm#AXa-EUpXQX-54Mc4aZ+qNQBZ;i~RUCm|NSGNe+?@C#Dby}!K zzo)T?q>O7-zixbD`S$&{;&e|GJqavz530JR7~5`fnV(T~XPT4Kr@d2`P74lxcEPka zc$@eCT~W5PE`DbF^#A91y$#O%KljL1{b0Pd|5c%+fa@x5mbqd+pT2edz0~vU^INMv zJ4t~(O><V7N-Y;-y|d<&5!Zy{8TFcr*M5sM3tIN?lxx$}&*HcG|Nl<<{q_90sr(D` z;+%A=szg@`re<6JJteGM`D%i_lJtqWrzEo`2mbo@Tz=zI@3`#rx)*=Lf}++sOg}OE z(}JF+=hM_5r2Syrd1|KiD>b1vS-G3%cD<0T`ta|p%EObU-7j2T`^A3udl{2|W82+t zi|cIGyG-~~a`4%O<BI<?bLOlU_?l4pv*`i*Rkx7q3mlIv+oU71kLk&?7lG#89-DV= zJ-YAfQT<!fj?MihKfikZ)3Cd0%B!w4J?oe6{x-LH<FoB0=VWK4+g&`or*7NUsc*9F zZQoZ#S6z?2m%TgKZGNHrg*itPE-SF8w~KJ@;gXY<i_V<?uYc;d8Bv{eZ+c&CDE+>4 z*R<EV`+bY$jwfvi)4sbwM&t1EJC*-Lwwk79n7ZY@%{s8ScFTzw=bZJ*PpPb)$HcYZ zvsNg7b?tgrw%J=eC)-_Ktzvh5&7O5fvQAIk9=1fjr)1V#mPkIA6}!~VYxP;3*;jU1 z==PSZt@rhHbKkC;*>I!FeBnajS?kV!y&j(*z0Gt^{ki(OnoouIe|*?{z3=_}lC`re z*6hz`QRDf3-#qXCmitlF_w?_pa#y#tC~F&Dka(l$sj=(gwMQ#o+^%oiD$%yEEk?!p z+@V*mgsS2nI;~ribS~li>di4;_ZKX<JH_nn<@6ZSvz&<zCygF7#YU%ycza8&-CH?n z?%E8!=U0^9esGoDmb=pA{O^>QEtT*4dpEWjzOKxaVc_sMQGRNLj?E3de^=+uJ6<9r zD7#(gd{)5mikH6MZ+7Ne9w{<kzxkn!##xp{x4QDVxmUD`C2J^K9(r#ixrOU(G>^KE z3UBDIEpKb)CO3+m{<h4``uFbr8~2{8oIka1#oNr?=XP%i`|bYJ<yC^z?7n$6x|@u$ z@)kF+rTj=;P@CH3weD??hsa^;*&6vXXWRQ;e0=ZQ-Tc3Y&i#MLe<$Jj$qnDLF1pvx zUMBDIN9T^gz0+MR#itX*U$aZhy1O9l`{Uws+t!{E|NngY{)DBjU2N@DhaUB)T^Eey zREu$W7`b;#N9e8N8;WjReCYG|iC6i-cD;*rvr>0dKlOd+VDVdFyU)bU=T3^o6>y|% zSoyW+lGyx(w{LDx@-37yVKYg48Tv~}<WR}mEoYUUK9YQF^mX39`S0f@cZ<tssqg*c z@cLq@l;q1R%QS?R=iQm>ta8ZdoX@<ldB^rFe<Sewn)tb`?eF(FXY?rKTlz^{Vk=!; zY$Q<}9?!T|bK1i83mki5wL(%Ho`2q(UmxH0S?Bj1$>q@x&+gyU7&^OkQO10}<Hmb! z|M*pw&MjT}tZmVoi86}1e6{@?T+64f{Qga-G9Y=;yr(;ho+W&CwtIcG_JXm3^1H7w zF`A0*MFOk4TvA&24|MFj=;k+V%B2my_j7l}>OU`ix%c~SqlbL1Z|@ex>@d4B>9g*f z%LNZU<^J5HYMK7`_w{#spYM79ZsU*mb5%*Zx7XjAn*Qj(KXdnlLk0iy`@a1@wC~iZ z(`vjW-$TB289Zx?o;Y1PNAgvoE9bJ-^cyn|NAZ8T<K4JLVOMTTiCeW_`v%dQ6@2D= zvsl~TximM~{0<2J{7m`diOEyM+m<_Y`}J?Ty7q4fSD)SUrrEg%Z^z|KUb6Y_#<ll9 ziEdJGdvxYaPp$70W<?*f#TnmpqN5|S%kLF#e_p%z@6xgda?L%>J-6PL-%HQF_swYb za=o<L+UVxeDV5@So^BrUOY~hl7v*SO@s8<e?#qzk<`HY-yYcH>bl#@;xSAbvzqTD- zTmJX1BTKNjj@XqtS?9n>O}!k!{Tt+LK3cuHp}t=5m3U;}O}(;*OUrN6pZ*Ybsw451 zm5JH{F$;^mT`Hebc(kS@y|`Rq-g%`pP)A!Muy22eTj0(N$yL+dmHqyERQy(Ee*J9O z9q)OT%CyYd^;u+%h0@Ct3z!yWGZZeH^iZMv-uZ32cVAt;JNW$ZYxO=ZALb{oa8PeL zyRJAP#_en1PZyqb-49e=`bwP7HM*sHD{p(ryPK0N?wjr0<h8OvNnMZc)z|p{zovid zn*J~1_I#e32cOzE&yt_`$Kznbyh-YUmFu55SX!Fj&<&4U7UH(?#;xWo#apWlUrd{P zQE##362B-Z`BFz_&di*<FI(1kO)^@2!On6Um*nT-eYM-p&aymvul5S3*`>;jyzerE zAIo~k8O4>&v*@)*Xq@!q+3A%>GqT?q9pAk1V@b<4&dMZ<`0Ikl-PNrZ6dx=+d+ezB z(#sOp=9D#x{b7E_cG>AFkLBgpZyuUPUw!Mt*KzOV#K*T!?l4?Fwe98AISJX1xBmZr zBQ@@P%SE}^B(-@q;G=y$=XgC46SZHKvDLZTxAl-$|BBkgzFVsOdy<YSZue;EE&O6} zP?<%YC-5HgwznENHS;>$(|ji6uK!gw{ib)n-J!*|&)%M$^Yqo$Yj;+}tP!)g)xsz6 zG_&y5&y3xFA2mjPJK4&;W_9Asrk^T`t2l1wI#*RJ)vJ8Jv-(Eq_qCheCUJ#}P2Ksh zOl*VF%oWqmZC)mO`^_x&Yq!|b-lx?zJ?*?F!+C56du{}`nt{a=bxD)=KTm9$A$EJp z<0VthDl45?5Oz;~-e+g)nvdUe{;%9!b(l9?>|(RwsY{D&3fCD;T-=dW$JaEW_IF&r z?uuxGPrrO^zxA%KJ$tcR(b7cX%{9BHMpt(g9y??CZQAAkNBu1RMXU}LH|u#I_VnEP z-QS{ie<&Bf5%%?po}SJ`!IzU0*Kb;1|J%Ckz@nR7cHyrgf{x79x~=@YS82{H-=2_H zf3@QOI65@M|86*P)n!@K-Q{t`pI#qPoG{TV*Hl*X;#S)y7mix-bH3v-J8tvgg#I2= zbLW5NZrZbA4CE~A-#QiUN~!U)c=*&T_ZUxg$xWlB=5pISf0ZnhnW1F3e!5;{Qm^&x zwd)qS%oJb87+_O;*79ClP<x<`&g@iv+e?Z2f8IPl=i~i_`);~?x_#tV{?!?8Hy*!N zc5L^()OOjj4WUy+qo#YEe^;N-`S*#seW?B?_B$QZF1F9@%h|Q;{*PbfZ%-Vx-@sb@ z{C2?SNh&^*pSgQ|uGrJVymF^27h_8Mb|+t5TQ}A(vFrvsyN*qJo}AfKV!g8?K*8hT z<-*SmuU=HUE^Rt4eTS3Nkonp54R7~n=>I;~em|*v{f&(HAMfL%mlr)#FwU=jJ^TIt zFP_Ku{&>x;7XJ3r+4);~?`jI4S94Qv18to+pVoBa>}e5Io$!|zlBP-XFe@_1ZYdIZ z=-{x~=2RU=sj}5s$5)fKvMJC1bR%-6pP7wIi@~JGJ<G58Z#%#L?Nl?@%8zoAGeetQ zzct@K{UN3#aLO-%+=>Fzr11NnChUE>COq=!65eZ<Ef(yGJ~+Wjt|_D{V0ZL^F3m&! z&!@z`<+uO6bbZ$j&b?Oa@+55*y;rhiaab%dS$p07yMF&KbQ<xkYRqN+^gPDtLrTm2 zSCe0IYdfhM1sv9Ol6m#;&!T6lCrUT?{}ykyc$#`r-#qVjQvC00JImgc+o!1RJvF~v zwKS_}ug)_Iy)`EmFr0Gi?=XF@U9)Jb^O{XkbNf%V>h1X<6}|hD;cTtL+?lJL1?}8^ zzex7mu)gl={oMI?wNo{2m)^1dD|RROACL9B75%sO@A-Q6+spGc=hp3ir!_mq{_4KJ zbMtR!$M4+!wdBr{?8QgwBdq?Ww3!wkDUs&Cn(-$4?hmHNN;Z#8FG?N0`#mD#zUA}X zalX&&qMS4=zBtBSURSnM_E&3MkHAIsr4su;Sg=~HKjbOZEOnmeLn@Em?1tFCE6@M2 zxBjKt-X)^`=w9LR$j85US4AGrdm52lyxH``!qxiI55Bv$ldntp!6SV`^^00(HK#R) z#c3~pDs+2e>FUX{j@-LiMH08f|63K_z2b-K>|ky6b)~%%7V~ZV%ANE7`n$CCHV^l| zHU3|>?eD+s`!@zjz6+ZB;DN`=+(4<P>d)ho<1I_&WuF%nD!TM7Hj_O#<IJm~w}uOB zy?$q$tNMLjr|TRW$H_3x%R64l3L0ffU$52u@cV#o<)>Ghrme^+-eMN3SiWxCT=gwW z0|Kh2%j~Q<>;A3Pc}tw_*6VBT=cVucR3NRncH@7m-|pZ3mG4>k|IFd<mATh-&EMYJ zyt)0&Z_o<$wHMDHd+8(bE<IV~f9JNq@0*0L<?Q}*DplxJ#G9qjE*B1pT%Q%AA=KmH zxaz1X(|O6TBg;6{le^LlR=dB{Gj*FH<dziiA)(|qQ(DNIy{U`0+J9-_^(aXGZh85w zb^4xLt;Tx$ekiSXJX^HtwR!&5-P_A=c4qnCynW|^=?3Q~-!IiMZtUK&e$~v)Z~C4& zx@Nwz^xf_BspZL~#t7T_>yocBigEhIefl6&z2fK8Z;w_*N#EGz`CNeK`J48~#VcYq zyfG*}m3u`*J9mM=&hW<*mKVPgzIykzT2_2($LWlR``^vVe$#Zif7ACln^yC_pOAPo z<M$^WCc*iwZ%j3mH@L2O%F7#gswIDcO?h9!otmfF(b;ToUaelgRp`^bUwPXfT<_bb z7ro_$!|#7L=Wo5K+8_P>)76FC@5%y>uPf`bWHsGZ@JsL8V)>eb`#wySG-}e{7%m%` zY@4kwnzi8TZGCrvn+4n4f^4_jv-@gZG5mV{<crP|uDPar7<(O8F1TkVc|rc~1NKMt zf`#rX9Fq=hdv-29f&Hz$Yu}u{liueoRFx_n;{Q%ll$V^h=<!|mGBJsW_0_kO;tPIu z<cjRB`#Njow-0~$qx6<0@qOlAcKtcmSIMGp*EEV|&A8$f<i79b>rGo^IU<9zbKUc{ z-z|FFTUYmHYovzb?z(T*4-~AQ&z`?IQ~7)3^|}2wJSOKz#4yWAy+65G{D%4e`_^0k zn|^z+xBT{-SytNNS&Nph_qhH*>i3D)aVeo%(lVLqp+{oAy`0^8+US(gu~YLuw{<h7 zT5ZvsC-*Y_U5C8Wt+q{O&z9UPKDwpk@1s72SpU8`MV@~IW#-LjZa#DSn3#3K_1HHy z-+y0lbFQ}WH+{7B+r!QEd9gy$6}M07Z~gmhrObt2;U#w~PIp(|W{bKyW3Q=S*&{<k zCVv^wK69Hnf=X$*A9f|hyBgf+Dq_7UWcsXPwfbLOrz!4_tMs4fuS}d~sJ^MB!sft% zHxKI{a;W@$?|5)(ZPMFsTTV%639UN4^O)U-Wx{W-+270a?X`CL>B(I<U+I~u^tRip zpKJb-5!}LinP(IK>7_m9g$0b9PFF9*)jk)x`l?LJUn}G4L+__I4ZY+nU)>Pqxue_m zU9{XjOFvGf?5DD{>pt#ifn&M{pZ(x#QvIBGW_!|(<_4F;6Ybv1u00WQY<Gi)_p#eo zZ<g3RuX)b?ZPMX=tN&*CoJehwd$HMNro=iK$terZ-p&npYQK0(;+I3-Q=f-xUisA< z{bu9wu#V+wOu{TCH}3v=$9~T0@Ut&=8F#<mQ8e3nET+wTy;F<j)a6enWb0;ZZ9Mlj zEZp+wzOOH*d%anDwe8xyjGw3K`y5PySKcb%=gPL=elbaX%aPgLCjuNcP5N=FgCl1p z)9u$+(|zV8eeL?Qe(xKhdRgaF5lJ!ToT(OXRwTcDP<ub!GWxpqHf1ff^Suu}A9w!n z?v0zyz$IeZcB6Oyyz8N%w^jFB-p||l%ggn;Z`k7VV%M(S@blU}C3t-(Z*}g}8$#aG zZ(TT5nz*BJ$=@WwJKYn^gYvXznXQsaTs+l!ePV=@3F|e*#ozZC-_JC*nil!|?e$w5 zE^!`iy5MXt`mgEO_lu=rwI18|zL#BoOY-~u*Di-@_Qoka-kW*2DthnQt9*fZRV#eg zh1W}5-PjQw9N%&x@#);VmS4-(G1Yzft8+y5rI6ry=62uf^Rk~6E56yk_-^Jt-c{Q* zrU;%tk&<trw66A5g|+#+kiFmMm0f83ePi$UJMWX-trj|bcbu)oVE66m`<vhT>VALl z=HIw3I`7?!_iw_Zf5vFudeY~uVaqSRsx$c4Zg9uuuJiZvzg?$VmF~*hy54A&G~27A zFR~7vlNGDvc-*77MDI3dLellB%o$U*xMgou-fp{ZxtU~~nE9u<%^Mm!Jz{SKy?J9Q zowJ>JSMK?}-!|FbYkD~CVyWgT!RY;KPyYHgN3nXXN7O|_L6fW)Kbgx+@jWkG&g$&` zG>iL>wZnBs2B}TKai6oE{@eBD)$6=ThM_5ISjBE$n(Z2NyXHmqTE7cf@$AnXT4b-c zWE{V|wSiNCy~(n8kFwi~C{e9LFI#Qb^M5^Ep?t(pDf!@xwQ-v-?fbKJ{;iqsD<>~k z?v!c%ds<41S-T~1hpSu2o8sk+0;>!)g3fJv=yZF_-lJ72%2A4wB$My0uRR~K?&}5H ztTq4ZIQQn<dbl)W=kE83*30E{_9hioubZ3Uzw_%vu@%g_;+lgNZDdxdTy<&Vr<&EP zGPfO4HNR1C_*_D2a$D{FU-OO`mQUjOv*m5l;pRR8$w`57+lmzLT8Ajl*_l*l>)6ri zuqO9T+HYO4@P+FyyP0+T+#h+>y=#_j>!VGJZ?$*CTN=B}yOrC$uJc6nEOS<=Zl~T* z*UXu3BX(b#Rl?J}DaIn?;$>T>=ugilFFAE>drIq-D<yX}<t*_(RKQ&{U8B=ie#6zE zuGc{;<0^N~_*~V$>)Fc7%Wo@w&R+9<+v=QzmtN9&u1C-6CvKYaEA~R--B|P6jK}vK ze6`$fv)$ErVbkxgBpkD+X$jefJlVQX&N6e7Tj~A2=%$?upL=W&(^fUQB>n4?g_`Y@ z<*EF(Zv&UaJ>bgE>$GKkxaDZdR$1mozk~hOW;N3kea@T4KdrvG<Z1uS`h8Dbtdmcd zUHzP2CdY9uVPTJX>DTyw&&rRAS8lF-cO`u9(wraD4)*n)J$mbC%bAz<?~Q)fSEUHI z{r+F_<G-Qx^u&zvy;=N*OI9rnRb}6{<I@J0od&74&*y&HF2nlfl~1%~gq7gSK3gTP zE)Ek(4>7Gp_O7DLu~8SMPMU3*n^kizd{aa7?%k}GVu3|R)E4WUTo_f$=6PvV?YB+Z z*8`aM9b7!&p9)Lxk`pg`CdZ{%Z!`5e@<gotPvb@H(0`i?-&XC;4DOz5R@=q<=7tip zbf4R`yO+LRv<%>%V&V71@#1E+__Y~wDo*u}IRx%L7b<;eePH+WIG+-!Gs)*AmkU38 zzs7XM^G~kZK7XB)7iYA=@@ML`3tCQ6x7EF_KYz(=>*}`DN$}4FzNs#n>9fK^v+f#y z+i?E>54PL;R^B{Wx9`H{2g0_=u3y+QoY$XPe=FpB^|9)ES?kx$&Aq$YjLX*J8vEf{ zPj8g|vz%)bbLyj&anv<V_7!WRH>_Kf5x}-y+>fpOdETNQ{~BZ_uGKZ$;(Gu4N3UtU z-!(r<X>ObN^6fmM6Aio#-{dB)HL&6<bdGAyUAO=CRH+s7jqcw2JMH?-6SdcGJ*cuQ znyX;ldG_41OwOo|V>@qrKAS7Ia5wLfsLmPN6N>hRe)0NMe734Ldi|2pM1@xuf^Kd< z{-;6ZaBtYH4JTizU%xp^mRGAZIC9?n#~V88f=<m2Ta^)Ug8#SQXR(0B_rVGlI?ldX z?NWv7jQ4acSY*gIv1_{g)5p*3&uHs6E(w!<Fvsx9YnP|D+7}0%DK!6(_&#uFcKr2} zZnd==-`9QG`|aQQzuR+fZ#nrqfn$robM`lT;^*a`eH$xY^L1{%%|4s=+wS%Ct~Fc< zn&bYkL=beZ_i@dM)3=|T9p0nD$mhCo-fcIvkexBJ#GiPWo^mx1NvxhXdsceZ#K<`f z$%gL^ysiIqV%ociFSVLwzx|GA?9H9p*lTy`*YRg3_;)*ADlbxWs9c=Bw0!lFn|n{k zmEF|O_j(xe!j@m_kzK<5zd7q8FXx2C_MV+<efyf$s`u9`r)DfXeO0UGYHa^4>9}pn zpV}>|ie*jFobiQqdb{=}(bo?w`1}8DX0`bAueB)U-jBB6H<!HsKX8(tlJRrV>W@F) zwu=Ay#`QtRsQK;knTrC{_boL(TN1|lQ+(Hzj9dK27rf^SsMk4Rw%m(Jv*}#1OTy+? znM!K8TXeOrMf_djnYZMm=W=Ix*+Y2;pJZ>#+jxD;oSe$tA=T3j3?i?~o?jz=z31SW zPuDa5f8bd0yzOtVVg0K1`qmK6oyqs}HY_%lkXRHi@i`;m<j)G5wfq66%ygdj7}+lP zer;c#>zcnsA<J%W-~ZLrTA_S$scpslb-mBTlS~`Ue)n73EHKm3J#!?6P4lX9?!%Q* zGETD7J8Cr+EZjGJjl#Oc?%OQp?J-|7!A$&J6OYyjj&n2P>v^>2A3R?4SbDd+C$B7{ zzKuuDr?`+iCR?6-U_RgR_{)8}a~7?A=0Ew5*aY#}Jn?&_Dzom(!6Wh#ZPpL(U;N0w zs_fsytz{aj+4F5K+i5)B8~TT#$6VLVSpDNC`<S8?GV5mV|9LJrF3PCj^`E8hYurCB znm=dvQ%(JQN4oWIfD_4KZ++&Sf!e{d!zO9zvmXBNVK!?kn}kGx=7Orbh4XkAwyu&W zOi0~3t$E`2Cg!5Kj~C}n)0wicZO(?b1#6!l6}`K1^0f^KC)J)>ZQiQ4$l6NLbK4c= zsM>4FxetO|Ray^+8P-p;wF*irzgw8D)8x|iVXKJc*R7?u)%X9kmYuaovDB|A<mjPW zkFRb}F1vrY|5lf<`0YcQPn#-tFMjCpgKg90i=kX?#d)nP!2vv<S7<8a+Y8Iy%Z~dj zwR-ZgZ`;rP+jsce9Qy)W!ITZ>oXsXDe>0suZB|h7>9tpmy_|GZW5M0GKVQkLJ{#&d zg|Df@EdI9U)Pwgnl=bGm*WKz_{Vq>gnl;*gb+}*5(u7T-w@u@mjimI_9$yq^lW}fX zA(2{Iav<ol;ML!&EaE2YaB=K%t~kcqHGj>7=3QQ!Kh0`U68P)+ooAzX?e>_WEx+II z-~T*jGyC<ag?ID!|4osJW<7aYGUyc3(v2ExAK%%U>2>1O(*h2$;}0rZr_@!MhRrov zb>*G)=Q)o>ZDN;u{QMI?H^2S-jl|gLv5ybguY0=g^@Dv!H3SyxzxX<FqMW7Pl#PnV zyB5jB-U<13{Yr{#k&X7!@AJa1s2!F)(RbeRFVlyFGoOxJySLIXdqP=_;mR3-AqS_# zPY?TZAnd;Sx&sy0kKPsj9+2cRXN5(cZi3vQ?t&(z;%g`SF5W%8Q*7~kRj%jvlIlLk zIVJwFo^r>v#E-AmW66bYOZ#sN{+{*s(dP79%j;?u-mSm?x3Obseb29@(_?Bb)K$Ox z_hI+9``@$w*4H?saQ%M!xnSlji>2uXplz#?JooJ1h8Gu`XBJ-Uni_1HwZ-s2MB5wl zYZqJHRQ4Tu#I)%hx0!09%PWWJ{wB9>{$%?9>{5Vp(fmrG87HnUicvXyF)S{<e{GB` zo5jJYHuEiOH;HooE4ejg{oaQjB2%74ot(%0c2>3g)_3Q=MeORx*>b^m+P(7V<jH>n zc`YLnZ^mUdwpa=s@vjru_T{Q}`He-k&muD)2i2-Q$ZJaBpQ6btoT=kpdPHvJGJ%_| zu|ZctmL>nVz<xjF`u&R8wwvBeRCt$Y^Y!tqw=Ovw`aWh_*d6@7GuTUY^2%MAQ4wm7 zXGUvoieD+^=@WRl^Hb5&ox88_g+5moNp8RKCH(G}3A$C^In4s<Hup{mUn$wivxg^h zzS6a|vbuFS5=vfoPJNxL^mhIfNA))U$A-0SGwx2ER6jTNy{b=MzJXegaZTH;tfw+x zBugbeXE7zz<xckay(2k3&HnGp?;+l659kUfJ*-~ke*UGf%f7F9CwGK#ADUjwVD{#^ zZKTNr@mTxdokD{89vqSr<Sa#3bZAcdzEP)X?)t9AbLad{KG0HiNPk&0_p-{w_bQyP zd1?%@+)HklOKg!*k$h+S{M?2~n~L<!U9QhIys;|kU#hiL&cS=XqyC>$GyJcruq4Lh zvXJ{J(H~rFYg690mVIV>8yvJIwP@7?Web+IhPR9V$w<e2n=!}Y)0JO)&U>@z%`xkL zeRA!KlEMj}G8RpK*0EdHX|c@KK>2evXO-9S_j&a=?_j+6NA+yxwim_HW_3#vn@+Uf z6%&q62>E!Z^_u3xxvsIi-!Av>J8k##bJgx=vsTye9G6or`}baNR_Ue0`Tx@@W3RTJ zw)@f8TRp$_T<rfXug@N7{JXyYfD7N#`q~r!KU&YJIr1<z${|cm$5d!P-{Yl6=M{;b zIv8>1XJM=1jC;R$RCE^wM;0yW_;}j0?8$`N8T~WYdu&@0=j)bs?Z%SnGP&1nw%rU{ zKjq$b`$w}SUi>Yeoojh1O)l(;Y^ukGrmY=Ur$)Wra`(+C>3rXIv74@o=Fgow$t(2s zF|~=)%Cy|~1?S}Tm|f&tm3y-=_Ve-fHMQIKu2~_c$iH@Ll+5RjO`Y4mmiz7e7U|c2 z!cg9nk#XOPBAv@>UvKRHd;9nrkJL!LUypX=xP&D#Eao{Oe!a$$@$#}2cb7z5%hH=@ zAO6<<`HF?@R-wG%BD=D#$5p>qc3x0qtfX1H-$^xR|CERmbG23ScU^z2oBzp4a<W!9 zllFy(;7P}JOz?X#>40zh5nls?Ir-bS8GABm?bex*>ntR{F*a@HtM@wT{X3^ApDmkw zS?TohUF#yP{P)gN|5mq3|6D`)qEbKm@_;8>|6Mh@_UmQ*;`yOnze1(gmbAXLx}2k* zn=PMvxnAtZ`9qdwM%n9>@=xxV<aR;gK)k}HvphDInSG*awe#0qw{+6qrOm&orq}u2 zx=Xe5*Bf4nczQO_D<Nv?Q{PY#+tB^XLr*K7*c_WS{l>c8Z`Ii9`VT)*Jux$j;oQ%c z`D+s&3Wn94Ss1n>KsPR3eD&p7w~|*?txeg*&~dnIqkFmS1-<<b>sE`sZ#*&0#`-h! zj=KKHRrd04rd_i(V)WRXRsKu!;>%z8rdu6l4dU|y9=U$sl5^~_z*DVR`uf+uui{?2 zeu0mRGpE4Px4-u~$;~b-aEgB<ZIFJbueyZqOu&Mex~nmkRmb<7(9>P9UEg-Y)mdui zx4euFyLI!u^;tigk4x+$MXs%hOg(LGE+%#*<n7wZ@-v_O>)qsTA4yJPNn%k`diVUL z&k22<J+9gRFLv$Il6|+heM7_^X9=ZGGaS0&<lOqKlyZ-+*z3~sL3&fvfqMVC3Rl0o zCfc@X%UTY1t#MY8s=sk3C;sQP>!JsiTiyP$^yJsCWiQUGyjDGZ#z7?&*ARcs8y%r< zwspsD-+K4jnm&!Y&4se!7kL<^*1NbYey_q|!t^a;?TO^4r$Woxy)MP={q6I*DrfHn zrW>z*@m$c!$zFTGa>Mk$HjiQ!Sy{_TeB9So`mJm6w+-fdf0q3IxznEO(X2)4-wr-H z{gI`i;b9ny)z-M|ZL3N>=BTZZI&BdXoH=!B<+oSi^Ha+2)^&SFi!n~u7J74Q=ViOk z2m5a>xBo9+*25Dxb;`rKPm_z63SE2F?s|Blw%-0b`@Z(B*QgdWsGV@;iq)qZk8@v5 z$&wCo7GJ%-ui1~!bq1%*`jb}veXDH`?kqgD=eDByitt;nm0O!$O=aUeWA%gcr=?Qe z*OL|edDl({r4>J`?b+!5Zs!6~qg&3eoZqf&o1*^Ba!RuL-e)4a-|f;a{bO*Jd##gJ z;`X~m&9Q6Sq}JQNWAW9_4L+N`Vt<+0p3`rIYMp;x?^|^`C&+X4-hZX)x1P)Gxo*Ys zc6z3tuiolS?eD8E*nK-X|MqjcuY9+2&)4Qwyj^T|MT1Fp%}>wEIVV4a{66>7+(X_W zqqk3dt6g1%%<6A5gF|mzT_3h|r>NHcOEujY^R+r8oGvKwn8zOcrQ&>h^(&4Oowkz_ z?`}+P|9ahTYZvqP?RR#q+_rCaH;Yn3W`9ZGymynmDj5$qT@jqjxx$9c_DP0ls<+Ov zm>WNwRkwb-9X&0g*m<_?j+~Y8=l%C(=&#PdpC?~^U$X46uX(59eM2+-Qu(|oAs-$F zd#(D^%_aU^>`C!tABSg)mA@RSGfLbsfBE(JwHo=dr}TGR=3<L8Ymw-vyP%^Ue_YB~ zr}^=D*3Ep`hOaI^I(I)$AfiIRG4bQcLzfF5U)i$xs@<o>-D_i*G)&&ySk<O<I$WoC z+qcQ`>n(l-%)Y9*^Y}5nx8mKadROO{H{Qzad$Vi#--nB=LsmJPn!h%j@=!fbvFMV2 zoiBI!E1sj}`ad5FRUg$BkG%J+w<-8?`f<ruH!|3oHf6LwEQ|IjxqElj{NHba<tta; zEqyNg?MJeafX*4di|r!IjJqbXFASaXX|IX?$7hjmj;B8OqI^HYgDYkEo_ABr{^_6J z>@GiXM$d;pnQ2bCpL%DT-we0=EV=vVip6g)DEDu<x%s)onV)Z01@8NNZT1@>&GS<; zK5(;6{jPE8T^Qfakl$8+zg%AW@t$1l%{$79y@F>woP6dLhW1&z2W*$-zfk<?O_9`; zxQP8#OKV@+|3A#j`^@TG^w0dO(eJA-94veFx__JE%S!%e?)OXl4dN_(6^uo1t<w^^ zvtoCoKbzKZzuL>0etNrqEV{qzh0ns%XZbW=*&Xk*ekLBa>e~wEp2GC)=6webp47Y= zR&nmz1LiGjwwuo@*%SL=_TMWBj}u>B)9zjL(|mK*q`T#xbHA;-D*Yx^eeWSY%MAO~ zbJn`4=dRtB6T0|r{rR=m_S7yve=zUMe$k)8x#3r@+`4_gV9(Rsy|yZatfjvbn-^T> z^}SH}!_KPzpWJNg_2-^DZ{OFyneBA--cxt>eVG0F4e#+iH=>qC7Cby^enTZwzQp_0 zG!e$f0bzl8!J&!<4#`sX?^ke0JZ|NQdg;jh_Rcez-Cx6|emc4GuBPhFzG-Q{@AaFS zslMN~nE&4Wyq$05W-qBU(r~jo7iDJe-J-<7I>R_5;>w)pm|Y(#cZK-Qxpv<W)QWsB zvE})p@RR_#i(H>}yg9HjFL%z?sR~8v3pn2$Q<!Khwo%8uJ1DPDWSLOSyIc3xwf<e6 zVCn0Yx9@9zeW}E=Gqbb*SG`$yt^U5OlkmYT<)-tY&V52peXl>go^f&4TmNmvPbTVb zWahhJ{q*E<rMjlu(fK>?%1tV|_2c;4@;m9$ezvEcY3bj)y?O=fRGkDy!7FaNww}m( z=<1VNv*c~t>_4VPbI$gjTKsN9<Zs_i=WCuV{`RhX|M_1Hs~uG|K6_ez<XF1p*J|OZ zuhxh(E@XZmW_0EBmB&>MTq&2Ao!{7B`{wbtcja>xU+j*r*~TQPujHt?dZq6R&;e_! z<)YWg?08}u>VH?UDeCgKx2q(lsi+lfmRTUzGht4<`Mj!KvOgEOUb|h_-8a31XR)kb zi?#B*h(g7}Sxwt`56{k+zehJo#kDKo{XWB24}NMGm<KJ-4z0VcXL-(i@5iTk3rd;t zeBAe{vuj@YWc-$UN!ujN`Jx|Ww(QglUUuX6c`NUz*Wo8ueDzM=cVku8>9-5n-vu^L zk$y8b|IYbcv&~n?FWWKc-p5{<hI5Y3Uv2PO7sM64?N-mOt>0Gq*Pgidb=`N%h3mF# zxS{x2$<omGw%Kh}`~R(XKeS7&p0vWda;gkx?e^sK#Y#71v!ri7RZYoQ@wwuB^|=ks z>ZMWFWlujnaWeD4ln;)7$`$N5!zNsOyW#HEy(fd0M=V~)`26VY3Bv!Mt3SWl8-8!a zmv*T=9DM5a@7^!}^KFi0ac)@W4vyR>UtTgypLoM0ea|DOpH)leeB$<gtGDrW_e0$b zYnjybt0e6H$3MSOdF#E;$=hLG9qH{+i_-dx&bpTg2AN*k<9qVcpOZ=sekGj0S8Jc+ ze$EV9ZdkQ;HGizljX%e&%`%_niZG`C>Nr)X@%|HsOWQ1|^!28`JH39XxSOo`Hut2% zL5F&--ET|J*S`%6H9ooT&%yE=Z*rxN2rM(-GUH^PZr~cJO_N%yZ*Aq*yME~QhZf&Z z|5-Wle~whYJ@9a?-inC_pC9<4dU^THsqFfjg8l3-pI*3$z1KajqGa~o@_TyMcE4p@ z@A%y+n`v#$$q610&wifZ|50L6-`9fKGww>8MfyMg`fZi+y@cg+K1I2n+20ja(h?PP z?#ANmMeYYz9Dcp@E$@@p=L8<JsmAbKTw?Y*H20IIzU?`=-#66Xtd9S=Y2T&SKd;vr z{t(p24F3Ds@2kH0_dD8$?`c1_by=S|ck+K-W&W7@3ySTxm)rjpJehYdQ+ciSo|04S zE-I^dCVdT_bWmd9(iZ`<kF~yc+qE$GXVIL7v(o0BAycC^yefA%l{Nk5)maLK9?4zX zen;P3vGZQFm;a0>9=4~%ryQ)9@K|;3qqX{_zHCc>*FEXx3z+vU<@eeAI?YQ_^W5+L z{3KETYx4XXtK%!@g^GI3-dnuZCB(`9$Z6iaKe^|=+_E=q>cp>iQr1V+EUNu=-!66j z|9<@yZZV4teuZoO*c-8u&8nPN>+Xenw_eSCQ6Se*muY-!*~hm__wSKgzUQUyw}Zm` zTkg%SU%abC(n)jv&ZQ;)-J(@uomCgbDSwj7c(oz+xAfa5!u}iNwYkpq7(IWl(fQ4N zuT^T^1lF7W-)084FoonrX7ld4_wI+)WSJ{kGD~C(Rd!#?*<`-wm%#3*B$M)cWv5^8 z@GM+t^Ho28yWT=UU9HUKAJgv^u<OU=R9_8`{Qv9fqS;fXbp(HU5WoAm+P(URJqKDI z*4f3so;dMs7l%1#-<)^cTrDQ*nXV$dM<m%C*yhOHt>V2jOZ*texw1vKA`blC;-2-d zDfZ3j`4*@9-ehjsCOZ3xf`&g=*K5m5g4%2JHhs(d{C3snx-aUtZ9c6~&i#Hc?DntS z_oJTst!#W5u+Zh;kF_F;e=QKc|K!Q~RB!pZL*@FrAL>=#{vE%t;fLbnf9w)v0xc;C zT;*P$u1G%cx03vKOkqv_7DvbRhof(;-SJ=R_lw(po2;)ymCQZ0LuQ{pzkfP+lx&dg z&jnUimA;dtbNPMmE>NnS6}<Z@SJ~~f`4*3#R(%!zwl=@^wsJ+(qHkGic87FbS8|-# z#OLCx@c5|RkGYbqN89(_sQd6Y|Hc=alLzdyN}T6^b(4G-)4Et7eQ|Pt?Jtf~nX1uy zFN@c%R*dr1(k*Yku9X!3<j~5@XX-rq{O40&TPyn(xy*8ndpu{()OY(?{vVE*o*W=| z>uqxp58KMq*S399yry~S{LA_)_ddT1o-2Fz)-9a_&U}jk8kc&@ZMYv-vUl(MtGjO} z9G5lQ65GdmKUGd;n&s2<KekJj>9*>M--uM-<M{c>=5JHi*Bzb}l6gV#aoD04vzHmL zoRv84!^669ir%j?uce-z5ZL$gOYmFo{MxCa_bVoT)r((x@6|1S-2=t}P0JMD%v=2Z z<hsC%r6+d2miztTwEtFj`P&KQ|2|$bSv5y{O`Ykbk0E?>np-4ZtPejGSb4f}cjR+X zaqq_~g6cGLJl-u$n7Vsk<F|{-soP#1m)m&0{z2@wb-K|xb3M{+ni4v1oaxx|#&r3g zsw1_Xm#eSspObcU(vr8+J|)(r{@iuv(W7WL^+!i0i~j-b4}JboBw)$kjs<(KMtMB* z+;Tf|rDW0!-CL4fGn79~kY;+dlksOr(UVtU2ZesG=AUsfBY6L#r}|sJ?|Y;%du#68 zt)2x*I~<n!XB~Pt!A4uME#$+4y}h<&|L?x4{oCT+xA)r)<u$MGRp)$tRi<0jwR)0* zN8^IO|L@<Me&A&2)SLBpW2@gsTm7ELpeVrfh{NNCqu>Nt7S<~b$~}Gc2L(&gM9N*$ zT^wXw14NFpmK2o8II1LadW%h(F!zmT{>#0)cJG?@?%({+cfaqlvM@g6F=^eZ^*=;I zW52%ITYY}*m7Vv?_I<jiHq-ibs^$OK=YJ#%_2V~sg?*c&|Jf^hX)eFl9EUq=O!+qn zKeO9m6ukF^^1k{<GP?s<BbE1whh3FBXRNsL+w;`06+wA_PyBwGpZ{;ot{Z=)b@f=B z9B-YSbc?GyKw2-GY2UrAD_M4$-cX!*)>r7(me{<#4{RbW{`>8GeC~JZ&!Q`DnsQ#8 zdUp0^$M5^6v{yZSmA!6i^uKpmnJ;4XI#s<>c8JbnpR`S_`(abh%GXI%(t=(q`j~%S zOPt*DMBB`?a<BPZrd<d476o55h`Bb)!7b^lx#gV~ybUdBW&MZF3-X-a-qj^2cVnAV z-&~_ey}e(YBG%qNUZ?i@?hfhLllQj1h?_Z~u}N}|zVn*A&uioDf)<IMKJ=MqYtHn9 z$IPEL8tYH|`TeeD{LgFOpB{Za-Er>Q`q};y&&;acQNy$AS-4E6&ZqnK8gnlgod5D+ z_vyRs+Nw`XFZ;YZ&@0$nx5s_Eee|L>v!hGxzF7Y}*E{{B{nhKIlK=mkv2OBh7e~8N zlNmQEVry=SemZ(I+~Z{M{^=F+QcFXo?Yv=DD)?uD$kEIXmXnIluPd`ma_YAEaCZHv z-1whrCfqR<9nZg;XZ=$>=08U#{>K;f6v33d-`h(Z&hL|&v^}-oKkkoX-Q>4v92!jj z*{e@YIIYTJHNWy3bH~*<9`5HX8cVKj_<Y?!XTM_F_n`T6)>=7caH=f7$R)Mxl=z({ z=Ymi-_0ZFs3ySR+V++nYJr_TA+AQqef<GErOIBYzlJsmzXMkn)gpU(e`YbdrUc|XB zT&-xOkYuX4ZMNXGz?VHAKk000nqO16)mp#TX3qL`>%!JW8^lJ{|5@<n9-~oeJ>TC+ zRziJK#ZI5ud82;8)yK`+W~=XQ`^5cto5GLJ{WDdA=l_~)lItQY@ZR03<=4%Rla++_ z32Z$x+iEGhVg4_#or)a`|GeI{Sl#1G`2I=j(smsQTrMp)DN9Cv?*pcv54XkL+_gP6 zdHR-Di!|=<dbmR~=;!JAryXWz3wyoOaa<|bY0W!PpjSy_rn3jj%`*o*p9b-LoV?Gn z`^m}h+fU2ArzZw)a*h)4U%Gnw;q?r4!j1QvSh=5^`s_b(an{Gh``&SSu5~Z&<1_O( z=()4;;Zd8%aj_fi8aJQhG+L~jk+gB)CySl$CqCVvQ|r3h{=fRVmzfnam6Vsy{Z+Oz zLC;Lz|DTJ|g~;o#1%f8csuEoA&y+9rhM$%HzK^rlUb@(+liNQbV*S5|-hNX$v;RAv zep2RV8@KQC?CB3K9$$9;ccrG=pZ}|h{U`p^|L0^CAJct;IeVAwr)8z*YnfuNs~A-^ zEYjG&ir4GveHs1E#r{+6^X{wv-}yx~<HTXrUV)<wLf<s1qnWqve5uiB{kUcOiJhO* zJ?>t6dTHC6%9nX>CjYbWnE7e3&GLWqBOlxhFyHU}A@6ndD}#f{J4zzd&Pb|@KA)rQ ze{ko=6O&I*Sh7RXlJkbi!_89#HqJCHUbg4=-1L)`p9AFoT{7}KAbNg@ZA#7Sa`(x1 zw`lg=zkd63M&V)chP*#(JSVw0Jv)3}XZrE^F-p73-c7N)^1J=PPKoxI#_fsc-dlh7 znR$_YJ*(8`DK4v30wO<3Pf3rneYi?{v*z=iUzk&pZ522q3grbNj-T_io*&)z<-@`6 zhbCDu7d~WFcoUg0eMVRJ21S;WvtGp%9DS9ol4rxGn3<{3Ds_X?G~;;8>zFscy5AnL zeX;4vbCt?F?22uZa$dJAWj@{iX<C%}ySgJ9yeD0>)gwFSdmjl%Ug6%?lO4gC^h2ud zufUP1^A_&gw`!kmwB7yfyT7jSoxQy`-$h(c$f#Z<a+)Yx;MHmDDVN@S3@U$O(-~GV zjjwc5;?%AAH#K{+w|V-{xi%@fnc>6&p2$<e&&*D=u(~h!CX*G_!<l?WG9`5Tn!74* z*Kb?UJySYLVE+@t3GQ!?7_E%8@Nd#cPyWy_uia5a@#~sMeOqg5fqAS86I1qG^wul+ z6(0A^%2JHU)bR?Jdmwj=)yAl#&CeG6tDg47;o+KU1E!CnYct%H!UV0ddA)BkSheKF z_R7DN)d+k&C8S^2y3lCxy{#2-ch6Qljp9*dc;+Btc(aY`inV-i)bqmuD*mieYZzyG zPQF>7I%!Fjz?7|;XVoM-4y#<-qcQVXny32Ail={73^;kOKb*s)QOV`3qFQ$4q|(xy zI;Ph`dY=<_{Qtdir^f=7ezEkFXFQ!}ETfWl?`czuT3BCZZ?t81_}c0J{OYbdEYdld z<T>4aS<bhEz0xN`O-nv}l+Y7yUE%+==E{rnGgS8ma(rSaKKAUQmG>!yo6&u<J}$a@ zdui@nwU>w7Hj01Dc{OQy%;OIeXKUXtdVYO&-1Vh*e%d#v9?)zuU6J2$q9@p|WzU<K zmj}M@uy+bIPkFw0+3s0)pG`P&W547)m3Ox__MX1vS$F-VoO)(<n7!%8kNGErH$QC4 zo^jT@LDKly;$St;MXTbhHh%O;So34nihp&ykDed)^<A;)faYnf+svX*@3*XaD9bAz z_u;-}`muBUJ-tsBC?_1Ly`X4sBL1f0S>%<cJbOj;4jlf#ZN?e)W647wsh69YOPyc( zY}mhEpJneW0gq_Uxpwi>`d7YLd@Zfo=fo0~KLV@~=e@e`{x^Kmzcg+2?n%n}OIGcl zBoZRIamU2?p6q>1=amYqzqBuMxVWn_{$JJYjF7m!f4^zeeM!D;mba(o?5nHyU%Y(T zzv_t!-y{AE(K{WCudF{$+QU>g@ur4S=f4Y?e+pLXncwhT{L`ZC?>5iA#6Je@iFt*8 z=J>HC`+cgY>3bJ&e^>j&PWeIs#WiUy{c}V6liMH0J^g8{@%v-vl(!D1TVC!6$)Bfu zyZa=QHqR24PwP&^H@)CG$E)vZ&=s*`oB7qojL+g_hQa<E9c#_|&bFqTt~&FgW1gw) zla%cDyW&=B&(ji0R+i*pDh}DMn|<-4`g5_a4>bqc^YXtw3`*pA(polEvaG`UqVc1n z^`-~ja`au=xQdDG?56_Or@k{MxM@o&GOJ88RQItz|5rk++14)RU5l{SX_W~j?a7lA zV&$ekjMD7fHLIZS?8-NmNvbWsd>4PweCGH^S)y9xk+EvX+QsbchE)+?-yFI&zoAKb z6~~Mf?}WF-Z+f=t!p@yP_FnyJr5tZ|B~n?xabY*3K(@2<(kr3v7gbUjo<0qnX;t0V z^6J6Eg=_TPkL^`AlRO&mUGvd_4Kq`l=4J7I2wa;x>w|~O6}`;3xK?$mBL#xy$5PT> zsV~^MXIkbb<3!&b$$c(4{ASbl>vy&63;f?#Y$i7=o_qJJ2=@aW)oa#YV3dmgJ%8E( zZ{N_~g<caX3hVuCY)m@h*DG#mI>pn+UU~h&^>uPC_U!fYjq<V{&AhH3%}q4Cx*pzh z&d&d~P=%N0u;&@E7T4b&w6FE-U%CEHhx}QwJ$-*x_}F*MezJ$%E$wvT_B(&3U%s@r za(}_?+^zolwV(d&wJwic5PqmXhDB&rst1$yLFK1c*%LL5Zd=N=-%+=7KN;eia;ezj z&~yLwSu?B4|97w7yY1)UbIP{QO6~V=nC5xv$9jor)4V%^qJ!_Qu8BSWTyLQ?$MchA z>EB{E{IY&GvAUt<Rr`ue)yqQ6(X0gqp?h~EF36CL%5UB=H~Y?gkr#0%K5o5yPfh;f z%ZFzt=Wf0^G4#8?j^?w2dH;=qcw3+3q~u#CN57X_t({-B<n3hj=L^`B?fj2(_9sf( zojRl_a>&Ta|6oY%9p$5$QkR!rv^(+dT}8LbS>8!e*DW~t%cVZ>`TyN<?$G8Pd#A0D zN)PwhnOR_A@xCqW^6Tm<zj?D;R;=Io`NxsB_Qmhh?w7wciJfj`Ccf~ieQ8kdnMS6& zZNAn^S5+-KW1n^~!QfCx?K$blPd5r%1)>g$-+z1IhDp10sO*fi$>{~{Jkg#~*UF0& zX6m#p=R6bF^QiYxSw-cw#}BstDA4|Q@<MK7!ykhwxeM+^31v9?{`fR0pn_Gb(EF^X z`i$1K+L_z`b22LD{m$Ey$FlAJmvlyf3eGielOi~dDwKyz&g|CEn!H49&-1S9(@%ce zwSI=}hxY4xzTZ7>|MyDy?_a-<|1A8Lq0{p#{14luF6T<Y@3L#2`mXvkQ#mr|We4jT zm($m$EVI3oYAyQx{DF&GcE5aXEBh+xt=iML>%EQTd8(!V@~Y=6pL{UAs%4Ap&d(L< zPhVB;nA%g}`#rL1zPG}bAf2mM!VaF?ZhDx@jafKqo!{$Qz1J^JRW_VAUFCE!%Yh$? zC615T8dR1%PETQ8b3*G)UBtUPnj6i_7s=OOe)WvUbCrmSWa`gfKiRw{)ESANn|r8Y z#S}5!^wk#~OJs|)iuTAXjSaoxZtn2zS7usQb){fkbcp)>M|-66!ro=vfAp+)d;5n+ zZ|)VVw>-XZeaDvXnYR6Yhn4H{8^4(5>)bh#y64+$mkB%CCusV2UQ?NRA)!#d>;})u zmTNUO^SsW^+Wp{unta)j{h2RSKHb}pJ-cTvv&wVjy$d~d2%g{VaOCfXb(c$=GlHTF zt@c|#QtMoPGt7LVOoN=@?w=x!C%S`!&sklb&Q=t!vRjg=o|Vb%PCaYIw~NjF2mV`s z{2~AD*5=PrYF7+bTQYgC*v5A2`VYsx#mlB2lGC~GnVoY-IVx&pg`dzD&MW!<9;~># zTyXxI&F}K=zxv#NGU`g?Bz42z(ya@^mn~iL?(SiO$XJGh6TiMFc1=8MdL>}X5{bfd zN;kV_eZRY7wQKLjmD=~DmD8V;FJH9$;C7Y620Y#ifBKrG^UR!PZ7!bk$SM5~Lse0* z(h?D|{{nYzzl}YSqi&awvvtGNn$0S&ysxeZl0M&@rkQev#YsbDm(U#bJ{9{aOOIQ( zrp`Lzd+4c}gKl=$)*XEJ&Z)kOycr|>KFY>C{dx4Ans*^DHqQL8Env=Wdp@B}x7Y0W z`l;~CkEr9XwwdJ_FX+El8N(|3;W%IOt|vZSJq!7Nz4_U$STn)F^~e<aIe)gf%18b9 zE`PW1!~UyfuFem76%&s9J@#SK;^PcV+xLIBeZKF<qvHGWFZ_GtTa3hxresNFT})xQ zd-y?mpYv6n)}Gv`nmVRQ@3mAv{+y=8xwNHr=GTkL6aID_R4x$O_t+qx`GMTu+a0^_ z+*kNuv8y8U;m3>J+dp62e&{Dh`u-`$m4bSI<m%okUB-TC6YtDZZ;IEltlj!z-<K8T zxp#SfTrU@^<f(d-+VT5!O+xHu!CL|xdqi5~m}Y)I9QCfDRPv~_@WRr4mFz7(zgC=i zHfwo`Zrt-{-#DkItZU(xQRY~ruEEp%F(i5MmG&P+d*q)MXNB&bq#Z9%dW3ad*!uTU z;Q?P*?T@`tc>42h+o{}1G8g-&aKBKTw_fpe&4+DKM-sOr-`V`+>ydkDJm(KzVOY`P zqdRZ=_VR48A4^tFUb1G<l$*~#2K(D3e+-TPbLsr?1L3#Z5;*qgvGnYS7xyW<5aIG* zk+A=d)X(4EPT%ls+N`HfL#GA>M|)nIbZ;KZmK}joET?0H7ux*J`C?Nu`^@X`Wmg`i z%T>!fo@!^QRPaAS=I)Lg#wV}ZD<@sOw_ol4Dz%jpcEs+vo67$=*k=uQ!x7~Z&$RTr zJ>Rxibvk_7^z&-$r8b}P-q%&nm45zyES)KM@^#hq{!J!aEH1*<Zz7-jyb5}o6Y-h( zgOdTHVyDVR4yK327gnxaximKJ?mZ4ugYbOcPpLk41b3{?|F$;9SLN^x=PPTEFA&o3 z)n-3-HDkpl;a7#6%Ula|c0DYdWpZn~wEl<9douOr)PMI)`uA3F_x-jj3pfAIz4A~w zzo$!X$JP(`E?VsQWcv7?gz+=^W~*49tL%~;7rq?-Jy9Y;k9V@Vm!#G0#0RU_?Rj<U z^0{5_ZoRu6bM2oA%P|usw>!yIl{p3VoQ?bUetI=KOsD!=yfJg<0|uk@OeZd^k`7mX zx}ulQfn&+et=wT@?P^9VPv0zd%np+J7tr+S&MLY5-Xp=aK^Hcu*%z$R-*v>~Ud^RK z&-`;v>Wpjx%B7O;OHNO6?p`8dm-9^E^In#qb=nR~LQ?}Z-PgaZn=;Gv?G5go!4bE8 zID(y&GOfSw*md&fs&d|a=Xo7Ub<`$rOjOh~UMJ%eDY$uRbKsRli_cZvUY2{|=sR~` zgV|FKe{#A1u5DLV<kqTYlb{=|dzacy*qNDlC*tvCImK1;rl&I=U%)rbYr!Q3vDZ3N zKASF1St~xRye*W&!tL&Rxph(d`_Bgn_E_EbYrAT>Zt9DxVPzbz-&{#5pRsFA{dFNz z?@Q-aecvnnYVPwWt)JDZ758ks1lFxsy?*-4&FP-TE~(!f&(E1Xzff51(O0RS;FNzC zx%Ykgx%>UDxB9jF-_$xM=qM!|u@wtHdhAP^K*fjK_d9JX?$_?myS4ZC8pbQEf!=$i zwmyF>{mSvli$dN<QZHU#eV6*?=TVkzCapFfPRqL}cXN33g;}4p<vqQZ=bFBB!v;l{ zrmj?<vc*=CDW;+3v%_podT6$*CSCY<tn{XY63g~C40pbSC?s>AFyNZBT1(sULgLJZ zH^x!xbmtakzU^{ezSmdn+O)+o78=!3-#z({tqi)pculo^@m;~4^CRDK=yxSAKlnAa zJtEgNlr`yApt)Vitgc1HSC=UFO}KCSYetFLHm%IIz}vC0@#^jJrAyx2+!!2Jk*E61 z{if0Rt8WF(Ij?@V$=JJjU*GGEX_8A$?YmOSE1<n{MZ*!zU8gp_lYhQE<XuO8^WL?E zYo6&os!82YrMxut-0X(MRlnGm?6&SR(ibsgu&+|kdQkgd>n-bD4{qtPuj^R3*;KpC zD6@jkBw3a{rQmPUl;l9~nBOxGZ}JQFW=Jg!6-Z0``ABC=&)tu&%p$ix6OCCM(l?`g zhjyY4UryEcqvEmu_VLH=f5uyT@=bzs0*_+C5!*Jg!)>3gD;B&}4Zrj0OtAO61){#% z6S_ipg{7A8tx9UH&FEe!b!&>M>sh^+y(($1Hu}#s6#aTAV11M6G$;R*Q%l3HhAOJX z=&XO|y^Bpe<BZ^e%EcS3*e~>UeYY^W*{mVh<-DiOFn(F4?i_pmrOv5B?#q|Io0m7? z3Dc4F*(rZliC^qoB|CSMRZ4mA>{a^?dMiv#J(2eA-DEeD*$SOj-uEIGW)-g5+RtKm z-g?0!bBm@W5skdZdrp=Hu}{)Fnx@>mE+*rDhlJjyx7ylEvSQ}``FFowd+*(V&4<}q zo~9P3`MNq?3w)7qO~L->$MY$l-ApznREJO68nj0H?xjy!@w)uyW4!|_cmsOoIRzyc za%^3;jj!~p;N1lq?4%>F3mtpbI)B+M8QG7D6-=)dB}Q&2Xq2ft6YY5K>88@tRvHW6 zI;2_MJ~J)j@dQl))s+hpc#rL1?oD6x;^RI3?KSFF4I6X%w*GM5QOC6Jhft0Xlfoa3 zXYqk?iz~i<bCP3_-o$XNf_uvEUAuOt#s_bfDZNt|6c(;N``Vg`%Ka997P8lW{80UW zSN_b}TLKneK*JipOg9Mb>EyWcRlnSC-~WB`e^z9kpBMbHPPZ}I>XcG?#FaHi*REW7 z>DEhwx-XMYI4oa!#_mbtg)o-9bgix5FUk7&mLBVn+{`-Ju-lg9qL8YEfU>S<RK=D} zFWJ(9`-84b^IvpHYF3g-c}dfSh3S3Ye_dpovczbekyd8OEU&DX9TCf}ggZW6EADbn zDYoFV^{p?bj(NDpow;@M`nzY3p8JKQX*n^4hNcRwZTc;~NI~#OuJ%JS{pQxlJ|oMr znrg<Pt!p>Dxw*MY;^tdX51rZ8<;!A<Ub=qzvuXO1eedrq*NWHUdOzvn7dP$O#m?3B zudEZl-O)SvXKOV3i@B}O72<a-zxlQ&FE5Y5B0lQ)5zB_}T7kv!eEkmcN3yFF*3V`u z6VXe|Q081HuXU}E+0kbw<Acf-s`DK^4u&sY9D4q`2Gij)WiL2isP#O4;HKD6D)*!+ zX|ZYDr<BUqACD`4G3Zzq<NdhX&+g&p`+HuWv%Ys^{j9mC1T0cO;coQe?ICud#?R;X zzIc4z_V=B&oi6dVtQM8shoVwA1KgH6D5h{tU$ts|<Bmxi8rnbF#U4^=k+^e8M^fs@ z#wj_v7uhsbgam{*+&U+;@J_c{`y^B0p;pBC+p}&>ED2MwRY~7*&9kj!?()Qq(;Jsu zy5VqP@9CUR0zS|0{=Ri_1=BqS{bkmZ_N^1!uCMs`#GJge(451cxn3;uZ`p0dQ(h`) zrXpJ4I{lz%Y?$0+fn7~!=UIAtO}hK()2XYQ>X=g!CNlbMoG4Twrgkm-^w#(L{kA@| zuYH}nX)dqZp5ot!H2&TCVR}jL`RS!U0yodSyTj?mffmPU0(^lyH~!DgN<1^~`MV}J zEAMYNlJD$18_Oi)ESZyea@TVP8@V;p({-)#kJ#~W&wakwd)`8xq{F$cnn~YGH_WT9 z{*~}GS=m+6DyDtiHw_#4$H)37TbQw4UgmRI;N(5q>Z<PUwz|@ns^YazHl5br%(8{~ zC;z!~wE=<#kL*?y+&;>u#$><af4i%{{pUBVd+*+Td}(FK4Bx<ny9X!eX?pVV9c5!T zPMjdfyo52LLowp|#)D@9BE7R;cg~f4JK6ci$MW7iEArTwu3M>_Wfs<Mt>kWuXi`|1 zC7^bCtyEy%kxl8LJj|<AB7^<@me=TUWt$#7Vk+a$l>Dq%>hIpnxm7#!;+&=}|J?hz zf5LX5g^L6C#!2eDUX^v^g7U1Hah)>?LVaalO<a8;&A2nWHRb#~+fD12`dSILziW=( z#sApj;8mO2nASO^*Capnb?Z65zOeg=c>f=%^wK7+bvE7pCdy~4--YF>2=ZU&Ke$@p z*xa9tOLH<ir42%ZuGv)dOrN33Ch%VU<D?z7rDp024qw-3KDF<jz}kazrB&3nZVbB< zc|YJtvrUGprPUe7BPs$Kl3i1$CEa9O$Rr}c!`3w8YysPIKUXC|8>i`_PoHr}o46lZ zn6AI)!yo<l(y!Iu@;S>5_BWL2IzM1gOgK{8(6IILGc%^;bBlgW|F`AI$>@`DN8>h& zY*o@^el<}e{Y6U9->4LO{abt8E|se6_@7(SRP{~fziph}<|>nk!M|;EO1C~v=xv*5 z+n=Ukn!2jgmQi-uGGDjPU1lX=&bGgwg>U!PpLD>ZsYJ3|sd%na`Qz26Qy)FyEc*J0 z|Kz*3(NFu<*E`>``j+`@tG7bAJ-6SptLs~?hi~Fz{BLo7?)s%Ei;edF-DKH&{kN~* zo?@%?|NnMa_-tDLTi4;7-S0W?>)yQo|L^hheXr-P-yfctSN}EVOWT2XmjmI=f4bRk zF}67<Dl%O9cg6nSWBapfSFO5tY}&k@Oygs__Pcsr*B6bi<u0vn`4RW+8F$UD^F3;M z?i2b{zSpOSZQZ@@zuf%xhx5{H;)JhGP&u}L^}}2IjtWaN(<hgdfAbLcda$GSh1;Ha zz9zc@F8d{=uvOa&U5$FU=>Dd{<~aqIlx7y+c(_aPV&sln>jP)A&iAQZ^!53x-s{ry zlfPWNwoCi6RG`xL=P%ZMN<Z?ppy;|n=JjjW-tKywU9R)%uzcNrMdi0nzow@b*V=MO z6z-Rs@@7Vp%LDHCAAeTI#?IX=rfc<dwO-QeiI=l4e8|ajk6E0dsoiBYYoEK;boah< zby@YZzW@Jp^2+u{i#G;ET+FCp6w-5z4C&cez2j7*)6tDCr?eJiv85WT-2a#*D<GHH z6w5R7hK;-aqr0|$Jyn+LUKUz++23CHRrU#w_SAC{oBbD@^L=mqG-g}%w`bQA`_&%4 zd3Hqhxvc%E9oO2l7oT6e_WYfVe$}}i_v$X4<lnY^yYKHK_IH~2ipq>xcp9%OB^=4U z&*}U?UtvSZ%SqAppJ$#ww`$$Gdz<EqS~~egIu(D}w!idMchRpa(?wr?Q9jxC>95O% zH_P`<GMNAW1KUYcsij+c#g;2PN;-1(wBwVd9_Mad=3E&baUgiP|MZ*ga-Dj~%pM-z zyHyMXisJPr?V8ZCTuJ-Hv3IZDioV!)dS?1u-OI}szh2GuB{TQ8-oL+|l_|;#{cA2x z)>*h)=ZB8>Z{NT_=PmjFWK0a|zhj!2D^U1r)v{>&%G;^uZGL~*`faHR3s2*JNzkZE znFP~%=EmFk|KEH&ckbLy^?4OS-d#4YZ>uZD2bg+C*JV$*sA4l~&i8Wh-|nf={;RTP z&ENP;P}S4ArzbBrwX?-++Ai0CU!p75P3<gxcJj?({^`437N>mvRl2G2^Xe1-+8j7f z1g(v!nfCL=8+ln5vkI;wce$0~|NSX8V(dy%*SEUqeDLVA$fBp}t1Tzrcq=DknI3xH z?Y#19$qz|Sly_9=6)bvo^pCrlW|X#_PJaFGllE0#F1oANKV2RF@9FCZKI<a_8W}7- zJGiTU=6=c-X?#Af`kTDnzmK!~HMO<xzZP1tiLc~7=NtE|xgF25V-ENIbBn!pUF!47 zx-DwE<m1bZcs||cl`@GvF#g@6dxtw%ub;M<(t6hZSH#XYpH_z~?LC!TUH*2Oiu4AB z$#K?I8_#fU{9wQm98$n~<o?Zz%Gu^QM?U5jU7MNiU0ZwDLuP(8+f+GOPnBw4qnjO1 z=gjSQJ8nAjoUecSyU3gGSo64QK9z6Gd9dUCwrKm(m&WI9YR^ih&#|-8e9)`cE1S<D z!o%cthjsH6vy0~3jrBjL=dXGBw%6b8-HpflUY~pUy}#^<*{wpmU3|Ber<^bQ+GcFk z_9mY>PTIfh`O;&SowH3(ZP|9yVez6xGI}3bo;dGbx_7DMw2Jjw+cvJNR$__LS}1jV zR_V2glTGGkaAvIz^zIYV%2@LK#IEqTX|2cQ)Q`(-4w!r;qWkTpleSFv&VRaZuQS2+ znBZ3bn~`hW<=;PZ-EL86`D+F1{>mTA`ThTY3g7qT#O$qRWpd671OyBo>9vGzvy>BH z30o8MapCN|U%P{oHb!`x9n9Hc`nKane#OhlJN)1Ez1YNS<mNu*uhC{5!$tcfOD{JI zm?VlDtU9=|m3#G$-P}ufS6ALY=ew!;v)Yt8Uhm4%sV#x`WnDf=i9UL<a9IH7(FBis zHukK3yB6O0#&qW?W5m<v^UC*SZP{H_C?3DO^xv&6vvkwn*S=~b$!RJVzu!IEy5H`w zgvYIk9$Q|&&--=4H2d1ReGm40zJImeLF~9+7RM7qCbv74dv=&@W$r&<`~A+|E&KP^ z|2fpkz5jW}siQfvA1mKI3Y@m$I(N2;;MwJ6&kf|K7QQ>)boEBs+p++qhcnbB__mxl z)#-kA;>oFoC)PM=%LwJHxH4^PcKo#70MEmYo7S%l4qJbhsk~x)aCP$y?oKHulUp9G z<#GL`ccZuGx%$*Jr%gXU&p4d3?1=S)s}pzge9qCir~XK=>e}`a?T4?nRr0Ck%s+US zE$!Z(pZjZHENoZ1S9?Cz-s;2Z<ZuI)Pr{7K@BYMu&%WyDmT+}dsQI0W$G+)@X1zHv z>1OuhL;tK7bLN)F+}vwF>(vkQwQ)k`#)mIo_^Q{qy5>$xREf0qbPf({nG+tHcKb># z?7w&MF8|A`L81wXY?b~tdRq&ohdUgfv*di5W{Ae+6jPr5YZdxgd(78FD?dKoKi&A8 z#bxQn_-MN-zMB&*o6a@8iN3n{_2s`W?APX~9Od2fe;0qu{<^=~&tr>D9_?)2V^e17 ztgv3d;L*9&Pq&<u@nYHc_ign*3xf$OVmBll^mjW^z29hk&dKZlKIZw_p1!qt-qKg< z<%XKQLW^_!B^{SluwDCf%yf2Y_GLRy2VPx<>p!NQy`B30+FYYlqgit@w(EstELO2@ zW!Y*VRdeN<!ZqIQR@wVkPL*T%*?xg(ifU@l-28i6<Swmv`{`WyobHtEAF~!(ufC;T zApZHD{>?MD({@~+Gu3vJ>A`NlIcXlt{AX``@^1ILSsxGZzuW&lU|oOgZGjWwEIm6u zr>f@4C9^eNT^%0(cVd6dmp>P;eSdMVQZU}VN5%QQul=*RSGmGheK9(uJnQ4xWzuJa z-Z%e><Y>9w`lGBq-F%7ncaL!Y{XXv9L9bR^KGplZO!IQkhul{!RV&*Zy1R`xAD(uZ zZMmGq`Q6pe^(r6UT>kV!<>!=p6F<9q+|a-O>F&MAqH|)qQcqf0d&lixqGC{R(RF%F z&hc|^m)HF`#&6y~lXX+01e0Z7gJ5}|{sP|m9HoNmvG;%RN8SJYO!nssj*Tm&cKlX< z{(S!KFDCKDX9c%b-;dl?GTHsY>{($(k1xJx(XHOio+3Zxd|N?=<fM~q4~6buzM*yX zYw0bKrOcC-|LwHfaZvGq(S_wgD_%Bk30at5Zq@tmQO2K%4r*0gdEXiL+`HJC{BdXa z_BGe<-AbQRCbdpnCR1xtZ|Hx^$lW_FJ45Q<+>z*!w}1F_eeK)q_W!TK`|ntqg`aRs z<#?jU<aTH0?lQAaG7brUf0a&;ssGFSo|DzNaP8}`xNoa=fA_v8<@$Wy2~PgL7Vo9o zHgRQT7GyU29DZ};=$e8fdv-hQ`u!_-k`~{i_YFPkSGyJ6QtMc)kk>2sV2_v9(Xx4( znQd<}x2)oNGXEl9oKH~lrdtL&j}2m;WlpHf4xhed+t!ns%jdC8{~dBZ_8f1^<*@U| zwz#LC+r74Zz9HWwIlI4GjQ8ETb7#wkXS4118M9A2(U!sSM25-jj^*|gvj;KG5329~ zes}nVd~D$nL3ca1>=Kt9M^{fh*R`c*U9+6q`BzC-74^Ft*E~G8PNUn)w^Xvq|8OiH zle@on=Bu95&tj{$*jH$?gnl!7e|eYo7Jb=F5vRzIZ)ftdv)f(YRi$mds`mKCFAn3q z{9=FfcAO5^t9M-HH(T+zT>T#Q;%k%6X{~%aKlU8+OR4oMR^0iz(!ciC5B2|F+{;2Y z&sI#}kWpai*}*Tcp)AVz!B&o(8ynu;mH%_#(dh@@!d~CLdE;E5-7d3R{o3tKft(7O zy7N4;{of13K7J7$+b*;rDB^+Y4~_qf<xP8<H_UqZYuN@bDKXRhlFgs*sC+b8^Nu6w z@gBLmPeoD^`E!nKzueJzIaTh!O|$&F8q6nKqV6tTni|=8De!6B;^(f}b7l*6Z2z-j z`SR*p)AxNjD!T1cTZ3Xj0;q4a;m56;yp4Yae*F9U{qLuF)$dl$Gpv2~c(H4A%(rdp zpT14Hop@y1;SE!aqxKzD+03K!xFuwYTWXN6Do0houLnZ%4$mssu6^EjPVdMz_6KV3 zFZVK7cLWyi;Xmtg;M%Gk&t7f(JA3nonTdVP7fVz$Z*P0+ka@$(^5v4rPdQAqZtgc- zc{^)I#I|6E=BDWTU%T^nJb5}jJT}=omqUVyot;tnU32s1*rNgxjt|<T*U8`6mwfx? z^!T!)zndEq^24?q-FeaT#X*Hr`!BGrVF@b|m{!<Pn7?C-vxnR11%I;d?=veXWD8ne z`10+`z{tyaSCX|4t_ICd{S$W!p7?8*m*#pMXI%@AC{OXuybWh&hKMz@#s>;s-p?-Z z`rf9}=4&PM>t3ylvVV7K*PeM#l+UxLURt7gIzT+`+uq;%tS2?3pUwffQjYPT_BL>2 zGqKeD>z@CYVfx>LfuH;L<)6Q2tFE{#mW6wp%EkFJVq;{Qw#qiScK>>JMIq+div4Lx zQdv88KXSgH{C;X&=|X2t-tQ_#r++78wqIyyS@%IP;&BG|vX6O_^zQdJemOlc((k(E z<V!PFxLux8?_QACwaI6t?&MVt>q|<voj9pJPs9G_$BHlS-=%uql6$o^VNbI~xs+ES zzrwV?z0M4?V=oD4RDfD*|FjbrWU^SU?c0?0@r7Yb#X;5oyHZXX%P-z-J<;KgRR2<i zYa%l?uU+oHyR5Y2yQfs*CmxUL0uHGsfB)WkWz5+<!=<OhaP9qX$u~H!R8I|a+1sUi z?8?G(Os8jWz4P~k4?hcgN=)w3gv$!n+ult2#i^Zouu%Qv&E<2I-tYKusB(I2*~zwx z$t;=jSvTJNYI8WKl(6noQ*71j9}%t(TE*jcZCbSGP-bUy&COYpS#PO4`%)lyYIi`` zGRDFQdGYI~)f#^6S@%&ux1`QPy2WC9g_fzpLJyy;W4;UKbT98(m%lPAifLL^diC@z zTgtp-Qj_oQ$dB3`boZ^hT=^Q4ce!)y!ZvOylw@k{Xb>z{T(|3N<r$@d&&U5i<l@Pz zQIVRas4|7s@yHZQ)z0M$i>|SA+uXBn*p;g?uQ8H6^p?oa2Rk;O;jSxGFYi(@QQHyt z&xG}RRsJ4#HQzZbH$%*{8sjX5?#>XL=Qw9hYU0ZfshcnFUb=Bj*;(PUhR_3{lX@yE zWR<<A+5O#U$UTGijDUs%C^`x*=AKFxZ&a77f7F(BWMTWIW}^dqaSGx8lzkP7_lPf< z+jd2hb7s(^=8FC!GRvx@bP9Iu4c>5S>&k6WuWMTDEIsDR9-0vt$KyRm%(5hC%MqTh zPrV-eiac`gc3{-DO!vuea`Gon%?>}YCUWz}LXNqAp9uR;>x;dTlhWppsF-jhHsW>e zX4%6WHXjb~Ki^`ub&i~?+II#I6J{g7i>KHkk2~Hv$J&>&na4v+%xI}Mdtm=rpW>){ zXa2br&Au!tpLzV{u8P*hfm^pMt_WFcoYwx>cqY#}<{){OMN(E33-6ojzTc5^XHWFJ z>Z+MvO3F_pUeJ%<SM>Dvaf1>w6XyjBK#kWGPq&@yOJ%A1+3lXU=uo8in%9gkdZxR1 zJ8nr7DE6?f+*rchYrW-(HgnV2h6AyS1=4kc+2^vHd;CJ{`NlnunT;48y?^m$N<^gO z3ELIxz6zW=@<%T<<-5T;XYPIb%@x<4mA!QLj?(J*8n=7j%+*h>3eC1NnYMBBMoFgD z7EmHsyX|bLkMf41qo=P=ig+yGqgbe(5NOPq%Tbt-)_B?V9E<6sHLrRXzsW9;xb=9$ zu8S8~j!0i=F+H~Ht6ycPXqn`sXUo(w^Kyzl7JYlP?2YC>=iKS;Uo^N6e`RBvr1k02 z&Az_m-@BgL%hd<1H=S|rOuKabrx|P)*wQ&fI6z&FO&840ZtOjvp11R>)`r|rLysBj z@{TR`+!f;Dz4@uQ_oj~ro+;FRj4RFGY-b&C=$LZgRD-9=ckilH{@wFx;%=2K`|inI zNh^2yFVm#wk#m{FR5YP*({h#iToERv^9tN^7wPTZW`1g#u64@eW4segY~7~mRX)>B zmUfk%s~8}`AyFuP%<8tzaSNu?)Am*f3ZJvuU9H0TNM+@&yreUH`hl#*QOBd^uMOL} zd0FJAqjGmsV&x9MDOg_Zx9s^6$;V}TxBpgHawz9x#+oat>ng8VoPT~|-lkQ4m!_;M znbvjj@4rv0M2*VtO}upFPSGog_KR)l93m_rPj5V9c5-9ifp2eb`>V}#IvcV!?rH3m zoX!3oo}5`5A6lskPd?&#!fTI3ht*@(KQbM5QmN<j(p@KC(e(B+T6Xm8{+qdLM4l!D zMm+nqt82@FLv35nT8rM8qspHs{>N8QT<v7;ogI?vK1~r}KRkI})vK4B$+F(k^A#t& z=a49T{+sLepJO&m-|y7E-*K+5k1gtGUqayYwcnN2-d#3pruKCwpJ?wr9<O|SP9F$8 zr?Mp}J@oLcG@Dz-TVu<1%Dui-e$3&`)Qt>VP9Bc?pL1;gUh9lGOL&il-ZlA9DKxuP z<k7vHluwVmPpAI+BKhgdrRDk3pBrv5@HX1GALy_?FMea0`8UCcy;WyBqt3N1+;uDa z#vvb$%hr$2pELC{-<CDu@v_)`4!bT&oZfRMd(G2pa<@f7AJ@wjf4-5Rp^!Skcdb+J zj~#_ul|8e2<{EeQ8ooF2I(*`5PSBxS`MXZeTr<sUS?bYKQ>E<dGmoy~K4!Pb%*k0{ zzo5aRbML=yz4?@ZsrGMe&eq;FA3D<dHc#P>E7HH`W3<fLda>>Hxzcy8CS;dcdf4__ zuPwe-Hu=rmnQOnSdvflRVIISyy|qRi)3?a<DCx~>J)iv3GOqpR%P9GGs#`yPUYX)H z>zkRUyF2@xk4rDt{r_!m@`PcHnTxYRKFH$ROSg7D<znKu{qo?v^TP*a*Fv(LBu?C1 zzfq3q;iQz<wjIG<+$>I6il3i7x>!<pc<Z_SlJd*fp5bNK-5l7#`v0RunaFE)L-xq^ zywi7VzB6;rvtQYlox)$wRnnJRxw*YuLhswFTUseI@+Y31ZKf2Ndv#IF!E47dIi4sp zx!w7>W0l$RInECz&)@U($eDyy%}?G4o34Eza%#WFy?wJ|CZBM)<+Vel>c}C_YhSv8 z--RS!yLCA_@}{@b<M_iywTCQL_D<cs#C+E++0xa~cLjHJPd8@lJEVK7J-YP#OcwDe zy0gt4JD$2us;fT7n8R$w@`-~{`JGLa&up)EN*`X<{|Wi*YhL>zL!fw0%V{Cqt7@ve z%?{l+0$H~AsIBC!Seh`)Y~8HKDp9)Pi?d_wpQ|pNIL&e2$`q$<Z!@Po`^KlqdogRd ziI(Z<znhFEm>FLy3|=UHmq#Iy_uY4vS+m~U+v;wX8==2k$Li_v`9F^6`ajdVWLD&? z@EsKBe@(YYKH+5AUjNRxT0Fk~t|4=$oyirwGO0&VyVusd5xSDlIyu4fag<b>^ywW= zj_ToDx1L!m>lMUbn)2lSom-04QM*+wS;B3WgjNbo+J0H@d(Z__y*}d#G0V+Yb}tOy zmwuhE^0@W6J=rHO+3(f&f3Pi6g2}SGL9qOs-dtWAdBGizU&r4qdt3UxRy(?Il4ES{ zR`K&;=DU=$OY;vK@f~PgTePB}@N-1eX}z?!C$9G=PM+Q!$R8IM$oYM@aG9d}=fL@o zkNGmGhMLZvD`u`+dScZ#=N(Vmr0psmC-?vTwfJYp&a)>4PMEUv>?qDXnzN^}|A6iN zec5NXUXS~0rq&h6+spFy&T|dk%bRp3Sk16F@jc`%&v91oD^kzTu3VP-_*&nLcGZa< zD_qZ2l(NJgnzL$_a;0dF;>7CfTuxq7RkIcbEO=Wy|MwZq`}@AXtNtukF?)gH1Z7as zal+}Q0XKJJ{qJ{s^<zq}iZ0*8J!AFRvZ_aYGh%IK&3t}EPrY#Sv03X%eSIzq8SFS4 zdHwCzXKIeC6SzApWjHfm&b;;Z*5%u&n^y0RdHnL|q?V<z(a~Gqt=ql7@=5OeU8R|c z3-dRdvK%vGa=VjUU7J(F+H>G9|DEli*$g{v#&A>5nUj`^xN){FTD4BBu_iOKGUV}H zl_IrufhI@w8863t3Otpu<wSGE?mb&Xj`T`w4`*8TG`Vh?C5PR_7n3!E)ol0G9-sE} zeeL_JYgzZOn3Xyw_<*L*)utb1OXaX&c~}3S+CQe`<Im}neVi9|?AjE0z}37gGBRY< zDs9u9J%*XndNa>N*>lDgzuy`E%C&KtV#JHd(yu}`$5fZT-g!goit6sK&T*v=H*(8W zq~2Y%IhU7*(K#UpWQE!Fqi(4jJqjN#x7UB_{(QdrIs2|%))OP9xyYKo-ny`8nupTu z>h)=pf8RZ@Vv^h3;xdWA>*lXFn<k$9`blm{woRCt;;JnVi>H`BO}tgh!<CahzxLPL z^S0Z+FthDfOyKB=W$D>*{N1e^CwLkKS?Yei(3i9LJ?FB$On>>pb-VmyA2nyFPLuIa zH0<5==!{PCcZ2oDGlI46uh;2W8hiF_tPo?SGH2}FcYAhzo9o)tvZK5H_wM6%*&C#p z+78@sJJ3;`v%bIgoPdPm1M~eqzrU|}By6s4^Yg9xo#^1;w;^X8uH;-knNl!4+AX(u zx%Ip21=go;AKh(jZFTjOUengI;xq5CF;4$+|K5%tE&27&-^EMbX=_k4_$FxZNbYxb zin0ldo4}7-vhlS)PcHvg@%YhEd7FFT9?81qvwMFCEidWa{Kk9rp&1j;wW;U@^S=Aa zlJxj#P;BgB@g<8E<(z+R_y2tU??>YH-}f8@bwzeIHhi9X^Q?dYOA%LNfXW;tOXFu} zKdn>INzWBsv~0U@{KD09%#ZC4Js9JC%E+ktT25wO=CrFBSATxZuSxxPR6PF5+~CRE z4@xny_BBM_Vg1Lt;pKBRrn6^tKi{mI?CX&cnf_&><WoQ0vsY8B1E&TiExUC8`tnEG zyrrc<fpPbem&~30I)AZV4$GNGdT+jNzxiB)>0`xvpK0|Ir_B^RcVzRL2V5(oL{H3Z zpR=yW?y&dAitTT1Y>Pd0TKnQUW3kg0U*6up+t}oGK<8akT;1%NbxId5Ui>O{{oLi$ z{^fy--<EPq8gBf1OtFqT!0uA$zPh{GK`pw~YfOYH-rY?7COu(wJd<?!L8XNM8Qf(r zb06*Oad3A({&0%3s^#P@f1lr4b$RxT^|PM6?!P?soX?kS-@;zLd^s`2NHsP#cI(cb z=H9yk8ZMv)dEwREbC&%M<{Z<{Iz{jui`bSmsru8hE7IzXpP!YpFV>pX-Pn9>VWr&r zms9uct9$v{KjfK>gc+mrf&-w|>;~5DFQ2h9y)0ondfUS_*>+pF__JLNnd|-5J}g`E zF6oZl#B>31d589mZEYVlI9E@Sy<ILdUB2Un4o~AD#{(U^3$EQto8`{ou-fL>m(39- zY7+wjVxOsGeS7+C>&dw%=jNI?iKWNP+4XF)y8ooi%gau_ySv-}jB-SdR-1#PLc)<) zfzvsYH1{rl|BED)oa6lSUWj`7H<N@Y#!b!qSO%w#`KzP=}1^9<AL*}Pt-PM=P_ z7IUq5yHw%x%hL}(3lade2#*-uR{6}?`0d-bPE`%Y#Ys^nQj(c>U+!wEbWMmly!M%y z%9&W(?e~vOzV#$EHTA{zSjE`6bAvx~O3&_A4B+61kS$kSv+1nidV!3boO$kQ*VL3| zL~6|qIl3k1Y+2bZKhxYTyJJ!q4(T$M2ynX}x^(w)@ci%xH&S>SnH&!2ykm+;nVnRp zcwt-q{WJI8>FF|RH(u>kQ_M>LZ60r$`{jO=n%j5Ff7#i&lh56AyScf1`jP72U2^q* z`X~NzI+2#l@x&Zd_3zzhw%f*K!P1?n=M<(~+VWdm?xy?h9VbrfeUE)IZ?=v1J(WE5 z=395J=tys0<0dnwMgP*pdlx6P8{C}2)40d=K!<hy^lNI<)^ohczHL5PM#dp2iZkZP z%_S!5^Q49K(>!OakF;BLlf(G@ZtLBtPd|N~=ksd9o4dQq6Za*hel}wHB*>`zt|lgQ zc5s~XhWz{c4ttz=xzI%B{scqUZx*@*_qr6eEUJ9E;$_%HQU3~7|0PRQ7OW36)U};3 zv5=QH$b222R@TR#mAo^2&k39`X3??KJuh};+2sEmM;_Y-YsPwYTT5^q2=%+POk2kE zPMqy_u5}G-m=&_cIz^r5%sIbQgLUtxEh>(8E~}lLw)1nEM|%48=uh&dvll8(u;-X@ zbgq4Nrm>~~i_y%583K#6x6Jc=uup5&ec7JOtY22IcD>Z&XK|WUd+vIS&~1Yye!mkp z9$zY<Us_szUQggf&a5_vIE92GbHz_*Ox6%#k*j@j{gtY=qwY2{3D3=Q)st`g8TM{h zR9jd1@vV>AQo{oGXB9F|f|7O{(yzzu-Tub4t#Y}kl;)K8{b!BsLF3W=rCTCJIGE0! zJ$qR*TZ+r5F1E!@u~uu{q9to}ckJC{Ahh#ZnfOVCQwL%!C6pfdosuzpC$g($tG9xT z+Zk&~ErB2CE{ckdPUlr&3vp3py5y@md4`os*cP6il(SDvK5Z|atiAB?sc)QnIZ~5F z@-nmEPkMM}L(lw}<Hbk0SnX#oSDe5Ps^$-C-IC#AYrMB_->ed=)+d{$un0VVRy@@- zRcvQk-({ia#qJM&$>|i|zfzW!?Rtsd+ty;jG)dvtGw!4@>9Bt0-PHMv8I%M!beXj` zIV#+{9BbV1N&nmZG|mVq$ww+#`&oJ%3^ILpHz`W`KE4$<KTk9vP_LXbOZ!^><aO8b zH2d39pPrijcKd>aeXeE~W84p%I#^W8n)`>fl_B(8MriwC!2;tu_ez>qd(V+8T+*R! zzPVO?ezi;Qb3L|sZ!g=LOquxXTG>sBZm%VKf`mF*?mpei%DT+=n!t%bmYnHx7jvf{ z*7IQrT3Is1N$U-dSf`sT$2`}!ucz`azWdx`l2mS?e&N~kR?pqpB2V}JsL-<2I2j@p zduW#yw{YO>t%?(>K`E#@J55<HfkjJ8+v>FTDb+AB=NjvmI@$K2GCNjWU3>Fs<b*Gp zJNI;0Wxt!|HZvlAPxvF-!XvwX&s-p;mk^Qrs?EVqG2zJE;M1wix+N@H+S;?bR|fXE zY-u!M4eb)RTvqbNT<~LM^y!0cJI{DNI~=#xeD4dN9PRZh0=8Fc&E0mt$?1R5%|FF# zjKx!*p9#9@z{@ys)22_c6Fo#yd?kZ#T{`1b+?k>0cy?;r-fzdADgByvY<IV+1dsEI zqel<5D|X$wp8YWQcbz2D&ZY*z@^x#b^j;QVVB!{&`O3umrmM?n<+`<#3LmR`s60Bg zAvDF6^G@rIzt4Y}XWm`^`dG2rj)@Pft#2*ax>PkbIDGeY1~V3(#ybuNI;_pFopj6O z&|rGM^VO*e9jVw`7cVMretu@c%+1SIeqE!Quy5&Emtz0Pced}lI`iGpLoc)1n`1lo z)x|WQnQ8mnUVq<<yR~c^6%#m~uz?2SH~N`*IVZ3*9_?Pgn=Ne9n%KRPye@|}>`>k@ zeHC|%@tLdDe!ib{GD<o>`>o!+WQNsqXQ4i~kjA%fHlO>E-h3U@0ssx3-ig$fUa7c% z<4(op_VRttPn{OazrV}3?EM|(saK~8akYM3w<>eX@<5|!r}l3uTJD#~d+Vt{swU?Y z4-+Zp?DHqf<Ldvihe>Z~YfzkE&GF-^;!fiv>6MBJ92!jOdvY(X58uD%+uhC2&a|Xe zdd-?0tuobXMbxa|U}@3kYMsBUo>j!f+s8eVGfO`!?EfdP@n9y01k=vehR8cRx5k-8 zfxMS`UVra~O}mo(AJ22^T(oZYmMuPq7HSBck2&psuZHP4-`)DSXmh`;tX03)#n;^J zWLpjjAURL~ZBH{x0-4}n_vzW?-|W9q-oLvW6dc~{vQ?nN`o+EPF^^T=C>_}<$-I8W zil(ix>eJ&3Us|u*@u|q$WApn-iU}MNOrR0)4T3vft@?g9Naf%|&&g?g{`2d86y$zA z@^I6oR}Vdw_`JWEVfjw<aB8aQVdHdJ%bK^Q-TC%6lDE8;1nCAFazKMcOs4jZyjPd= zVdHc;JDcoh6Ayna4Q|su^}22G#3I%AmoBY(D7m>$!tUvn;%QO^puoJ%F=MsO_Uq@} z@;Nk^;(vX5eqK{ocj~lfYE#-;1zz)6#ulwtjtC81+tVI#x>tVRKbht;peU7QRDO3S z&R%-2;sTB}k)KZ$ro0N#((LW64t&?jV!FrgtBKm0qZ4*qyM9?YJf<-7kb*G_52Nz| z0RtAEM(2(L?siq5uZlkXdibCN%l8Wf8WOHHyQ?f@^kn-K_t{o{n)8tJ@$$!eUwl~P zy4<#cqdjXnC~=!JGH%{+pGDxUNZWyhE(?}#|Gf5M#7eFWJbY<e`mCqQT+sQHvBYN* zGv~`US<O0G8*TP}nfZP1@22j31scb*uY-)(&&R0zZa<&>?=6Z2Cj?ilT{~YaVYR=% zZtsz^(($Jkye}&+mzJ9x5UkC(v;E2bf3NxH|GC&Nx60-T^L9oFrnUp1O)BsH3+H@O zbWV7qU@$?#LTj$y>aA;Y?F8?tC8`VUy>$Kl;`N)i%@#91X+8BE%QT(ZU#m76GfQ_W zCUEQ#Wa-&)pChVljiLdYpu`J*KdH4n&raOFyJEqybBRY?-^jI<%@avFSZ}>O-+bj| z!yVJiRGc4tRY*AUw<=&$GEbvnk3(#2twj%CqI2_`f2>nY*1z9YtrI3*r4yz$HT3E& zrYYawt($i;xx&lL#QA{0k9YxtN88r7D^57fVY0Pkny5Jc!pGrWk8k8$_tc)<-`w0h zYlWG`jJ78$PxQ<TPQ5h6(<4HAYGX=P4WIw*wmc3I(0Xy!y?@Mp#<)Fbx3AIImUQ%! zzumXj_fPG+7N(kcJtieYId5*l#3O-+_f}qBy(!^fV$q@7{nPi|`<J=Xrd)crV!#Pd zJMPn~+jokk8lNpYCj9R2x4r*wT)M<`$W7b7v|D*z?~HBljh?fZo|Z{`-{=w)S5>!l z&hK;Or_S6oo^dkG-1&gO2}e->y5M5Yi8cnoh<!CzC8e+ByG*MHVobbdvH3W2<Ah1u zH}A21ExoRI+lzN^-b@qKzJBOc+!t%-i=dPWnjF6qV=lc_QQ_nh2VbL^mm<mxg)U@- zP2O_&;SBA+pLFt_T={pscZ=Vd#G1WlHm?)NPG6QE>+j})GDtIr$aE2Y)nC6^MR<#M zvn-KyX`VP^!?Nm(jEK#rWi$DAs+jKO_pFYd{pQxr!<$YO7o5!nIn?0Mw)c&S6Bct^ z2@Bu4#5i+he#V4Nn^uH`gn5LA&o?nQ+o(As>gKuBcSrYleymVt)vi6<)@xi`a?32o zdBFoggGYKl);BOtSk1AZZg-*6VT+jtsf&&{F`jf#T)TUP{JKvYcz9YaYMwD=N?s(D z9}=8wVk5xgxkua2Z98cG=ZON7*yD2tT{kOAGr2t2v0di-=}zI-OLc^%q|`gzind;A zE_XfRo4`BQtXyl(kga<@n)J?kx9?xvOoNpVQ!&DAdVF2x^Cc@U*KJzA*?rr)j497* zWmi1Un>KHr-<OAOl@h|I9Isu`QlHu09OyAm?Dc(aak;-Ojv0`G4OBF-OE#){PZN`^ z{qk|`o8z&OhIu<o!c1lOre^u)-D6f=nD}DyV)62d9ecK<SxBvvnP>d_Ln?daj513| zi2*7&J_!D}_kG{~ghM}Go-9~VBa-PpWeu~c<9oTJRkuFu_~kjf{@3OCuDrGg9TqJd zHos1+&+41AJt21@i{pjHhm$55bXYT8;@hl#qd@T8aoOrWhxz|MN%Z!xZF!wC-HhcP z56h;%|L^r|zG=zB==@-U(ucLy@1uS^@;-e&c6;96o4wW2%lUZump(r;@9%MLJ&X6z z+wXll$=hC1P*#Yr*Z^MCfgC={0~PuM6cUZsI}iM4*Ss&KylulWIR*v>22WQ%mvv4F FO#mQa9?$>) literal 0 HcmV?d00001 diff --git a/src/main/resources/close50.png b/src/main/resources/close50.png new file mode 100644 index 0000000000000000000000000000000000000000..b67e064ac48a2664ef898d4e5f31b691e6fea43d GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0y~yU@!t<4mJh`208nVjSLJ7oCO|{#S9GG!XV7ZFl&wk z0|TS8r;B4q#hkY@9rF$u2)O>wT@jGa)ZwhSL~entU*qKk8*&c+D}T%zcKF6gp5#L| zFTHbQ{!T9xTEyTe(38sjfaL*K!?~SI7ECv;c-5E$%wxWJ-KVKHJyxkGYk@|qjF-zV zwyvNP`JEi|Rg~_rN-9a-OP^&pv1j_+6XFedP7C#94~IT6UK`mr<>jTQCCL}PpD;bJ zT^r3{(I4|WZ09tw=<J>|A)HYiS59SkT<}^F;^y5nO=(ikGM2TjZ7Ew+e{f9vvu)Rz zI{(UNA1*5WOfgY+%%6DFxT~c2M%46ry*HZw8D1zBy??hvS2;;BQBgTbb)l|ulIB89 z<s{vOs>+`x>4(iZy;@IJ`BCfy#Yqoqmq`kroN?CW7n@hm3IEO$8ygpie2P`tl(|5o zbxpvDeT|!BPVh}#bNTvZv2`=;a+g2yWN~be{>N~(IMpxE&!wJ$fq}u()z4*}Q$iB} D)hweq literal 0 HcmV?d00001 diff --git a/src/main/resources/close_red.png b/src/main/resources/close_red.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd34bf5cb66e30c6795972c26827b2cad79f378 GIT binary patch literal 570 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?F<YIoCO|{#S9GG!XV7ZFl&wk z0|Vn5PZ!6KiaBp*-t{_cAaeY3fLh&M)620dI3BJ2A)uwfr`DlV@vxU)q2ovAy^eCL z`-c^s^UYQ_nMtpm>Kb)@<IXZO-^nEt?C0#B`nTRv{rM7JhN!5hsF`81izAa3RG)Te zNpMMRdHQ!cqjza?M%(E<trz=rE~{{{9bWrHd;JZYO!hfxY#&akIWv^MVUUQDWcuO5 zu;7--D=uD#MPcgpZk~A+4#pGYm)|$Pe#O={sci$dcHIi*jG4=y?UvUO`1VU^Y3Srj zx3ssKU%SGvBmH>pXU7^@xj)<&&E##uyV)mNIV30cnaQ8B75Hm(G5KB&qe%GGH;iH& za-UsNq<fhUX3y)G$NX2}%^{=hl}gDITpce=H_!X*a!sYL<$;NRikxaq$En~9wKqw7 z=J|&({gB@FZTYii+rmS38#{d(F62!XViDjKxT-aK>hlnV29JiiTDwh0jhq+)84BA% zqy!vT7*4l5ZDq)0R<V>b5qqAw`Hw_h*U?FgcUE`jDTf+g<MxVBoAcL}Rn^4M>F(*z zF2dV{4|OKS-BFt-^VRs^r>q;1e&^nmy}94bI6=aJ`9b4phBN1uyE4~pV3ydh<c<X& z(>){Ris{_1dKce6u~2h@%e|*fS)Zphnlbk8InDb1_ntepjJoS{gx2qwHf@^Ngr)N5 Y0>tO(?{pGnU|?YIboFyt=akR{0PH2~egFUf literal 0 HcmV?d00001 diff --git a/src/main/resources/delete.png b/src/main/resources/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..6c2c83939ef3f91153c26678641209ec4ab86a2a GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0y~yU@!t<4mJh`208nVjSLJ7oCO|{#S9GG!XV7ZFl&wk z0|Uc7PZ!6KiaBp@`SLXx2(&$ntkn2e)fMM0^w{x2_MT;;!eTxXKA1PYk2G7FGNW#G zknv582Ml)_%>TwY%$&C|qe1&{td7*acuUKFhTDIX9$U1~@cN&lEqW{~Iu_sZQv9xI zHMut~<L&oFPRAT&3*TgAGx|R;EVFS^oLk)1w|%8Rzg5z$sF_BO0^NKhPfii+H%dC? zv8<<JieRvtQR<P!Ju{3ZX)4R59+@&R)Hta0?_mk6d&``2&adO!_`HGZ<$j)k8%_<u zpU+jDa=pBF;?_CK_Zb9lv)bHZB`WyoQE$Y4ewW1)`%mUhi(z13VDNPHb6Mw<&;$To CeR<aa literal 0 HcmV?d00001 diff --git a/src/main/resources/e.png b/src/main/resources/e.png new file mode 100644 index 0000000000000000000000000000000000000000..185adc25659b5a65f02b70f23de2f947ac9f655a GIT binary patch literal 15723 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 I>zopr0N4X80ssI2 literal 0 HcmV?d00001 diff --git a/src/main/resources/main.css b/src/main/resources/main.css new file mode 100644 index 0000000..c6c89ea --- /dev/null +++ b/src/main/resources/main.css @@ -0,0 +1,29 @@ + + + +.btn { + -fx-effect:null; +} +.btn { + /* Remove focus highlighting */ + -fx-focus-traversable: false; +} + + + +.btn:hover { + -fx-text-fill: #44c662; + -fx-border-color: #44c662; + + +} + +.btn:pressed { + -fx-scale-y: 0.9; + -fx-scale-x: 0.9; +} + +.button:pressed { + -fx-scale-y: 0.9; + -fx-scale-x: 0.9; +} \ No newline at end of file diff --git a/src/main/resources/main.fxml b/src/main/resources/main.fxml new file mode 100644 index 0000000..47c923b --- /dev/null +++ b/src/main/resources/main.fxml @@ -0,0 +1,343 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Copyright (c) 2015, 2019, Gluon and/or its affiliates. + All rights reserved. Use is subject to license terms. + + This file is available and licensed under the following license: + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the distribution. + - Neither the name of Oracle Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<?import javafx.geometry.Insets?> +<?import javafx.scene.Cursor?> +<?import javafx.scene.control.Button?> +<?import javafx.scene.control.ComboBox?> +<?import javafx.scene.control.TableColumn?> +<?import javafx.scene.control.TableView?> +<?import javafx.scene.control.TextField?> +<?import javafx.scene.image.Image?> +<?import javafx.scene.image.ImageView?> +<?import javafx.scene.layout.BorderPane?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.Pane?> +<?import javafx.scene.layout.VBox?> +<?import javafx.scene.text.Font?> +<?import javafx.scene.text.Text?> + +<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="784.0" prefWidth="1469.0" style="-fx-border-color: #999;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="MainController"> + <left> + <VBox prefHeight="596.0" prefWidth="204.0" style="-fx-background-color: #2d4059;" BorderPane.alignment="CENTER"> + <children> + <Pane prefHeight="108.0" prefWidth="185.0"> + <children> + <ImageView fitHeight="50.0" fitWidth="178.0" focusTraversable="true" layoutX="1.0" layoutY="16.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@e.png" /> + </image> + </ImageView> + </children> + </Pane> + <Button fx:id="allcontacts" alignment="BASELINE_LEFT" mnemonicParsing="false" onAction="#showAllcontacts" prefHeight="54.0" prefWidth="211.0" style="-fx-background-color: #2d4059;" styleClass="btn" text="ALL CONTACTS" textFill="WHITE"> + <opaqueInsets> + <Insets /> + </opaqueInsets> + <cursor> + <Cursor fx:constant="HAND" /> + </cursor> + <font> + <Font size="12.0" /> + </font> + <padding> + <Insets left="15.0" /> + </padding> + </Button> + <Button fx:id="familyContacts" alignment="BASELINE_LEFT" mnemonicParsing="false" onAction="#showFamilyContacts" prefHeight="54.0" prefWidth="210.0" style="-fx-background-color: #2d4059;" styleClass="btn" text="FAMILY CONTACTS" textFill="WHITE"> + <cursor> + <Cursor fx:constant="HAND" /> + </cursor> + <font> + <Font size="12.0" /> + </font> + <padding> + <Insets left="15.0" /> + </padding> + </Button> + <Button fx:id="friendsContacts" alignment="BASELINE_LEFT" mnemonicParsing="false" onAction="#showFriendsContacts" prefHeight="55.0" prefWidth="228.0" style="-fx-background-color: #2d4059;" styleClass="btn" text="FRIENDS CONTACTS" textFill="WHITE"> + <cursor> + <Cursor fx:constant="HAND" /> + </cursor> + <font> + <Font size="12.0" /> + </font> + <padding> + <Insets left="15.0" /> + </padding> + </Button> + <Button fx:id="professionalContacts" alignment="BASELINE_LEFT" mnemonicParsing="false" onAction="#showProfessionalContacts" prefHeight="55.0" prefWidth="222.0" style="-fx-background-color: #2d4059;" styleClass="btn" text="PROFESSIONAL CONTACTS" textFill="WHITE"> + <cursor> + <Cursor fx:constant="HAND" /> + </cursor> + <font> + <Font size="12.0" /> + </font> + <padding> + <Insets left="15.0" /> + </padding> + </Button> + <Pane prefHeight="124.0" prefWidth="204.0" /> + <Pane prefHeight="335.0" prefWidth="204.0"> + <children> + <Text fill="#f95959" layoutX="40.0" layoutY="311.0" strokeType="OUTSIDE" strokeWidth="0.0" text="HEPIA, POO 2023" /> + </children></Pane> + </children> + <padding> + <Insets left="10.0" right="10.0" /> + </padding> + </VBox> + </left> + <center> + <HBox prefHeight="782.0" prefWidth="1307.0" style="-fx-background-color: #fff;" BorderPane.alignment="CENTER"> + <children> + <VBox prefHeight="782.0" prefWidth="1266.0"> + <children> + <VBox alignment="TOP_CENTER" prefHeight="400.0" prefWidth="1125.0"> + <children> + <Pane prefHeight="44.0" prefWidth="1118.0"> + <children> + <Button layoutX="1213.0" layoutY="3.0" mnemonicParsing="false" onAction="#exitApplication" style="-fx-background-color: transparent;"> + <cursor> + <Cursor fx:constant="HAND" /> + </cursor> + <graphic> + <ImageView fitHeight="29.0" fitWidth="37.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@close_red.png" /> + </image> + <cursor> + <Cursor fx:constant="HAND" /> + </cursor> + </ImageView> + </graphic> + </Button> + </children> + </Pane> + <HBox prefHeight="275.0" prefWidth="1072.0"> + <children> + <VBox prefHeight="275.0" prefWidth="882.0"> + <children> + <HBox alignment="CENTER_LEFT" prefHeight="43.0" prefWidth="300.0" spacing="17.0"> + <children> + <Pane prefHeight="43.0" prefWidth="300.0"> + <children> + <Text layoutX="4.0" layoutY="26.0" strokeType="OUTSIDE" strokeWidth="0.0" text="name" wrappingWidth="58.8671875" /> + <TextField fx:id="name" layoutX="78.0" layoutY="10.0" prefHeight="24.0" prefWidth="227.0" promptText="your name" /> + </children> + </Pane> + <Pane prefHeight="43.0" prefWidth="364.0"> + <children> + <Text layoutX="14.0" layoutY="26.0" strokeType="OUTSIDE" strokeWidth="0.0" text="last name" wrappingWidth="94.8671875" /> + <TextField fx:id="lastName" layoutX="133.0" layoutY="10.0" prefHeight="24.0" prefWidth="217.0" promptText="lastname" /> + </children> + </Pane> + </children> + <padding> + <Insets left="17.0" /> + </padding> + </HBox> + <HBox alignment="CENTER_LEFT" prefHeight="43.0" prefWidth="300.0" spacing="17.0"> + <padding> + <Insets left="17.0" /> + </padding> + <children> + <Pane prefHeight="43.0" prefWidth="312.0"> + <children> + <Text layoutX="4.0" layoutY="26.0" strokeType="OUTSIDE" strokeWidth="0.0" text="address" wrappingWidth="58.8671875" /> + <TextField fx:id="address" layoutX="78.0" layoutY="10.0" prefHeight="24.0" prefWidth="226.0" promptText="your address" /> + </children> + </Pane> + <Pane prefHeight="43.0" prefWidth="346.0"> + <children> + <Text layoutY="27.0" strokeType="OUTSIDE" strokeWidth="0.0" text="telephone" wrappingWidth="94.8671875" /> + <TextField fx:id="telephone" layoutX="120.0" layoutY="10.0" prefHeight="24.0" prefWidth="220.0" promptText="+418888888" /> + </children> + </Pane> + </children> + </HBox> + <HBox alignment="CENTER_LEFT" prefHeight="43.0" prefWidth="300.0" spacing="17.0"> + <padding> + <Insets left="17.0" /> + </padding> + <children> + <Pane prefHeight="43.0" prefWidth="312.0"> + <children> + <Text layoutX="4.0" layoutY="26.0" strokeType="OUTSIDE" strokeWidth="0.0" text="email" wrappingWidth="58.8671875" /> + <TextField fx:id="email" layoutX="78.0" layoutY="10.0" prefHeight="24.0" prefWidth="226.0" promptText="you@demo.com" /> + </children> + </Pane> + <Pane prefHeight="43.0" prefWidth="346.0"> + <children> + <Text layoutY="27.0" strokeType="OUTSIDE" strokeWidth="0.0" text="social acount" wrappingWidth="94.8671875" /> + <TextField fx:id="socialAcount" layoutX="120.0" layoutY="10.0" prefHeight="24.0" prefWidth="220.0" promptText="https://" /> + </children> + </Pane> + </children> + </HBox> + <HBox alignment="CENTER_LEFT" prefHeight="43.0" prefWidth="300.0" spacing="17.0"> + <padding> + <Insets left="17.0" /> + </padding> + <children> + <Pane prefHeight="43.0" prefWidth="322.0"> + <children> + <Text layoutY="25.0" strokeType="OUTSIDE" strokeWidth="0.0" text="profession" wrappingWidth="67.8671875" /> + <TextField fx:id="profession" layoutX="78.0" layoutY="10.0" prefHeight="24.0" prefWidth="226.0" promptText="student" /> + </children> + </Pane> + <Pane prefHeight="40.0" prefWidth="341.0"> + <children> + <Text layoutX="-2.0" layoutY="25.0" strokeType="OUTSIDE" strokeWidth="0.0" text="type" wrappingWidth="67.8671875" /> + <ComboBox fx:id="comboType" layoutX="110.0" layoutY="7.0" onAction="#changeComboType" prefHeight="24.0" prefWidth="220.0" promptText="Type" /> + </children> + </Pane> + </children> + </HBox> + <HBox alignment="CENTER_LEFT" prefHeight="59.0" prefWidth="669.0" spacing="50.0"> + <padding> + <Insets left="17.0" /> + </padding> + <children> + <Pane prefHeight="40.0" prefWidth="341.0"> + <children> + <Text layoutX="-1.0" layoutY="29.0" strokeType="OUTSIDE" strokeWidth="0.0" text="relation" wrappingWidth="67.8671875" /> + <ComboBox fx:id="comboRelation" layoutX="75.0" layoutY="15.0" prefHeight="24.0" prefWidth="226.0" promptText="relation" /> + </children> + </Pane> + <Pane prefHeight="40.0" prefWidth="341.0"> + <children> + <Button fx:id="add" layoutX="67.0" layoutY="15.0" mnemonicParsing="false" onAction="#addNewConact" prefHeight="33.0" prefWidth="220.0" style="-fx-background-color: #88a9f7;" text="ADD new contact" textFill="WHITE"> + <cursor> + <Cursor fx:constant="HAND" /> + </cursor> + </Button> + <ImageView fitHeight="21.0" fitWidth="26.0" layoutX="86.0" layoutY="22.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@add.png" /> + </image> + </ImageView> + </children> + </Pane> + </children> + </HBox> + <Pane prefHeight="60.0" prefWidth="728.0"> + <children> + <Button fx:id="update" layoutX="9.0" layoutY="11.0" mnemonicParsing="false" onAction="#updateConact" prefHeight="33.0" prefWidth="165.0" style="-fx-background-color: #44c662;" text="update contact" textFill="WHITE"> + <cursor> + <Cursor fx:constant="HAND" /> + </cursor> + <graphic> + <ImageView fitHeight="21.0" fitWidth="26.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@update1.png" /> + </image> + </ImageView> + </graphic> + </Button> + <Button fx:id="search" layoutX="187.0" layoutY="11.0" mnemonicParsing="false" onAction="#searchContact" prefHeight="33.0" prefWidth="144.0" style="-fx-background-color: #7986c7;" text="search contact" textFill="WHITE"> + <cursor> + <Cursor fx:constant="HAND" /> + </cursor> + <graphic> + <ImageView fitHeight="21.0" fitWidth="26.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@search.png" /> + </image> + </ImageView> + </graphic> + </Button> + <Button fx:id="delete" layoutX="537.0" layoutY="10.0" mnemonicParsing="false" onAction="#deleteContact" prefHeight="33.0" prefWidth="149.0" style="-fx-background-color: #f95959;" text="delete contact" textFill="WHITE"> + <cursor> + <Cursor fx:constant="HAND" /> + </cursor> + <graphic> + <ImageView fitHeight="21.0" fitWidth="26.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@delete.png" /> + </image> + </ImageView> + </graphic> + </Button> + <Button fx:id="clearFormBtn" layoutX="344.0" layoutY="10.0" mnemonicParsing="false" onAction="#clearForm" prefHeight="33.0" prefWidth="174.0" style="-fx-background-color: #00bbf0;" text="clear Form" textFill="WHITE"> + <cursor> + <Cursor fx:constant="HAND" /> + </cursor> + <graphic> + <ImageView fitHeight="21.0" fitWidth="26.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@refresh.png" /> + </image> + </ImageView> + </graphic> + </Button> + </children> + </Pane> + </children> + </VBox> + <Pane prefHeight="275.0" prefWidth="689.0"> + <children> + <Pane layoutX="156.0" layoutY="14.0" prefHeight="158.0" prefWidth="151.0" style="-fx-border-color: #999;"> + <children> + <ImageView fx:id="profilImage" fitHeight="158.0" fitWidth="154.0" layoutX="-2.0" pickOnBounds="true" preserveRatio="true" /> + </children> + </Pane> + <Text fx:id="profilName" layoutX="156.0" layoutY="189.0" strokeType="OUTSIDE" strokeWidth="0.0" wrappingWidth="150.7294921875" /> + </children></Pane> + </children> + </HBox> + </children> + </VBox> + <TableView fx:id="contactTable" fixedCellSize="0.0" onMouseClicked="#displayForUpdate" prefHeight="532.0" prefWidth="1263.0"> + <columns> + <TableColumn fx:id="colName" prefWidth="121.0" text="name" /> + <TableColumn fx:id="colLastName" editable="false" prefWidth="127.0" text="last name" /> + <TableColumn fx:id="colType" editable="false" prefWidth="125.0" text="contactType" /> + <TableColumn fx:id="colRelation" editable="false" prefWidth="157.0" text="relation" /> + <TableColumn fx:id="colAddress" editable="false" prefWidth="160.0" text="address" /> + <TableColumn fx:id="colTelephone" editable="false" prefWidth="138.0" text="telelphone" /> + <TableColumn fx:id="colEmail" editable="false" prefWidth="150.0" text="email" /> + <TableColumn fx:id="colSocialAcount" editable="false" minWidth="0.0" prefWidth="159.0" text="social acount" /> + <TableColumn fx:id="colProfession" editable="false" prefWidth="124.0" text="profession" /> + </columns> + <opaqueInsets> + <Insets /> + </opaqueInsets> + </TableView> + </children> + </VBox> + </children> + </HBox> + </center> +</BorderPane> diff --git a/src/main/resources/refresh.png b/src/main/resources/refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..9156d0f9c45b3bb30522812d63b442862bcaad89 GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04mJh`25W<Lix?OfI14-?iy0WWg+Z8+Vb&Z8 z1_nlUPZ!6KiaBqu+Ik&vkZJoUvM%h^t^~z-3EcciTOTOuu;lJ-+B#Q!<Hq1?{5KAH zedKBq%UUdEFKIN<)j(zDjAJ%m_k2$IcV^GYP4ni>dcYGMdHuxCBb?WEi;3Gj7U&Lb z^1gB0^xl@kvfEBCnY|;|Gt5`VK2ve;ahB7ai|e{BOHX0td$#28u0!&V_+^qqR11Wi zCoj9S<GkjvQl|BRG1YrKA22<i>s9@a>F3kEucCHI>A&-yd%?nHqRU4=k@&Dkn=Vy> zQw~if9qk(Tw4*ILOvPWlo6UA;YQ-fdtKVC#oF^W4%AYN1c52@y-@=STnG*Rg{geFm uHN@I1>)B-(aai!4wdnSrbE^KS$7>&&d-T=y&{PHn1_n=8KbLh*2~7a5v5xux literal 0 HcmV?d00001 diff --git a/src/main/resources/search.png b/src/main/resources/search.png new file mode 100644 index 0000000000000000000000000000000000000000..8212bbbc81088b4813beb428ac3cd10733f25a5e GIT binary patch literal 448 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04mJh`25W<Lix?OfI14-?iy0WWg+Z8+Vb&Z8 z1_s6=PZ!6KiaBqm9rSW?lxWqTnYXEob8pjEzMH$mB%f+`Bxc&W{*X$u^%BV4q@bF6 zKT3S-uSeU96T?oOiBUPh%q;$H&VT8&f7Q>_PI}e5IxwzaEI+_7BkM-7|9h@TXa5Gn zZd0aJkqp-x`htH*?qE4}pzWC61*Tu;_DFv|)?lsmh4spF(aTEGv#gts=jdx~dH-;= z#fQfe+@wy&@JD>vx#zvZz2gzZ=dS!-(;)L<k<@a#W7RYDY8LwSZp*s!Yet*VROJKL z-Y#qG&r}LFWZJV*YI17xcBcb}dA3#Qzs->k_Fopp@*~Q0m*V_j`$xr9p}ofU86;2M z;9xL+x>X?RyJ>jpwjZl2e(*KqSN7M4+fL4#DUxS6!~0o&{^iCxrll$_f9_dm${bCI zei(3N!@Ipj=S*6ceLnm^ZFj23kM1vwGE!$wzRIY$$8>*_ct!9DpREhlm9D?-G4oI@ zYmRlj+O`{WpX@*2eQuk*9`Bn2^BdZiHidgFk$>3q_3YH^23r{z7#KWV{an^LB{Ts5 Dw~WSs literal 0 HcmV?d00001 diff --git a/src/main/resources/sidebar.css b/src/main/resources/sidebar.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/update.png b/src/main/resources/update.png new file mode 100644 index 0000000000000000000000000000000000000000..956aafe614975b61df6517955bfb176bb239eabd GIT binary patch literal 913 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hE<t`_ZS!$I14-?iy0WWg+Z8+Vb&Z8 z1_owlPZ!6KiaBp*?amHy6lu4=xFVC~b3~%6qLY?<y>nNIR-mWCA`T}m<<5Sm2^onG zrFnnq>*)9_UKS)BAAO^f|4q$9<%=$!J)Jv^3YbnOzB`*{T>M_I+-`=_?38n7^3%@G zF-}(y;9y~DbU2_tyCE)tMS}SrgYW?z1LhjGxRdYKG1z{xFZC5RV6b6dq;<>YgMbBJ z&VoJ-ro#u`YpLgD+c$VSG)krM76{EKvM9W(cJx?QR!`Xj*Fy*XGy12B@-y6S>~&zi zps_ox{YR(t0pkS4h5L^?M4yTHa=&W1ci1tr3*Qe!CKQYQoyEz=D4+c6A6rR^uETr_ z?c6Wc1w0Y2547D>T%L01*17lx1z}8Ij^<pBcG%2b{VYPJ*HU-aWw8aPH+?GJ^lG2v zmK$atUDBhNwnXpyeEERfrR4oLbmR|<7cPrq&Dc=!d*>AO{U_{B`&B%NZZH;O&dm93 z;TIxcZLv6`^Igy3)3YvaVUY-v?Pu0a@z?%vbvuLaw5$HrufwJEss$4c2tC}%QS{2K zVbZHBE!&^CHZ*np@JZU-D#LkUwUtR^>^g}+rWsSr!h19seI#aS-_v9~lj^okBAjW) z42AGBT8x+M{xhFWm>adm{z;FRYQs*q)1uZ>8S+m`+IltYe$unri(&Gi=UtP84!r63 z<>x&8V3_9>vA6msQa$rnB!a%p-|@;~6*J?RpZ^bD?+p!MXX4Si9UN3s>NF)_^ZI2k zUd~Ee={l|d?JRHRK&Rc#-|mDZ&no%5M=fg6%ttO^FV@O?s@~MRDD-rBrRKC{XX7+a zPwii-q93}4D`1LK%Fp!6L94xsKV24^zvXQE#uJb3TI+si`5a{Lk$n60RCD|H-%<^_ zEbr|~j%)9!s(Kv0!D7$Rj`tdJokHinJAd*~-Sp()@~4%jy(0Bj+a+!^eqQ}4MBqWm zkv;bf-wGG(JN159=iBqDHj{q6EWSNG*t6xjn*a4lecq23<}<N3#tONZo{~+TTysrV zGuKnqY}>v)7JH^{;Ic^C=~{Nvr}dZ9+W0fun8cq(6q$aEKkzlGUTd`>|D4~A?1sya z2IV>i-Kv}3=^G~U<ae#)4*oqN?3T(OTRhX^n7<$K|FUD(8E~3b5Kw6Qe=@9l+NQR0 RP6h@B22WQ%mvv4FO#uG5mL>oI literal 0 HcmV?d00001 diff --git a/src/main/resources/update1.png b/src/main/resources/update1.png new file mode 100644 index 0000000000000000000000000000000000000000..f43ae47d7424fd65695878b1cb5b98a3856ed064 GIT binary patch literal 706 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?F<YIoCO|{#S9GG!XV7ZFl&wk z0|Qfur;B4q#hkY@&-;lu3bb3#TCl=U(DdGwBQAeFGpV&TRDa;T@PjF%hGFkRxt*)b z^V(iG3fHnSK2_3U6SmZ3*XQDAko#uLx^>y*FJ}zy+VVL+v-T@nT^AZ09UYtN<L&Kz zdLP3MhCA$W4D%aGAMkHrT=R0X<O8{adv919nh(f6uzfm{HIJG7l~BEKgyKAXhvf&t z&6j>~OqjLhON06W#rYLK9kf0!Z{)XhvSXTjK%#)tLTgcj@d1qw3^T$H+C6KSyzYkz z<BA{ok~gbad8ThDWv!SectWV)keIw|!?a%g&-WX%1<TwU<mGnT-(}y(=#ySDF*va8 z?6kLvx~pT7cK7=Kaai-i?ttKf*iQ^w&abaHrDpY6E<QMvMWH^(Z10R&=RaOvyQHOo z_4v8dR!6uOZtlJNtSU7s)$5~EN1^1I9I@9z`Yjd{R$fZGWWu@ac>HX`%PKeKJ<rvf zrN)?J#VE5nIyjl3&-&zT179YIGNvE7vsf;y+|(M*XZ>F}&8cU~!@x%j(`0@Nhq6t0 zcOZA$pSZF&r#Xt(tzwvz7RPYU!Y<91<G=N1rh>bV)9<tdDAZ}4$oP0E;p)fDGJAe# zaX9qVH*+54f8lj>?cWbSv&B_a*gr0GnK}RSje4o<9R*hxYEPVaVpjau8?hg9UnViV zc(v)|+w*_Jb-h=uR*io8y2t$Y)qCfbay*FNE_irXkfO4{&s-apycbp<H~4JamG&k> z$u7NS|NNg7AHx`|qn5t2l7Ifj-1&v)S@-F^$|l>-zh*MmpS?SE=eEo9zGOTQ`(UQ< z_)_Ju?A;Fv7|$`4H>U4O`@i(M_w1^pTULbo2v<MrTDf%T(xXQ{i3g<mSh_NAv|?aj OVDNPHb6Mw<&;$VWuskLJ literal 0 HcmV?d00001 diff --git a/src/test/java/MainTest.java b/src/test/java/MainTest.java index 1b3f79c..339f53c 100644 --- a/src/test/java/MainTest.java +++ b/src/test/java/MainTest.java @@ -1,12 +1,14 @@ import static org.junit.Assert.assertEquals; + import java.util.List; +import java.util.Optional; import org.junit.Test; import Application.Application; import Contacts.Contacts; -import Friends.Friends; +import Contacts.Friend; public class MainTest { @@ -26,16 +28,30 @@ public class MainTest { List<String> email = List.of("alex@gmail.com"); List<String> socialAcount = List.of("https://hello.com/?name=alex"); String profession = "student"; - String friendSince = "2022/02/02"; - Contacts contact = new Friends(name, lastName, address, email, telephoneNumber, socialAcount, profession, - friendSince); + String type = "Friend"; + String relation = "close friend"; + + Contacts contact = new Friend(name, lastName, type, relation, address, telephoneNumber, email, socialAcount, + profession); + + int sizeBeforeAdd = app.getContactList().size(); app.addToContactList(contact); - assertEquals(app.getContactList().size(), 1); - assertEquals(app.getContactList().get(0).getName(), name); - assertEquals(app.getContactList().get(0).getType(), contact.getType()); + // check size + 1 + assertEquals(app.getContactList().size(), 1 + sizeBeforeAdd); + + // check if present + Optional<Contacts> filtered = app.getContactList() + .stream() + .filter(e -> e.getLastname().get(0).equals(lastName.get(0))) + + .findFirst(); + assertEquals(filtered.isPresent(), Boolean.TRUE); + + // check type + assertEquals(filtered.get().getType(), contact.getType()); } @Test @@ -48,17 +64,20 @@ public class MainTest { List<String> email = List.of("alex@gmail.com"); List<String> socialAcount = List.of("https://hello.com/?name=alex"); String profession = "student"; - String friendSince = "2022/02/02"; - Contacts contact = new Friends(name, lastName, address, email, telephoneNumber, socialAcount, profession, - friendSince); + String type = "Friend"; + String relation = Friend.contactRelation.get(0); + Contacts contact = new Friend(name, lastName, type, relation, address, telephoneNumber, email, socialAcount, + profession); + int sizeBeforeAdd = app.getContactList().size(); app.addToContactList(contact); - app.delete(1); + // delete should return true if found + assertEquals(app.delete(name), Boolean.TRUE); + // the size should bee eqauls means delete works + assertEquals(app.getContactList().size(), sizeBeforeAdd); - // after delete size should be 0 - assertEquals(app.getContactList().size(), 0); } @Test @@ -71,16 +90,16 @@ public class MainTest { List<String> email = List.of("alex@gmail.com"); List<String> socialAcount = List.of("https://hello.com/?name=alex"); String profession = "student"; - String friendSince = "2022/02/02"; + String relation = "close freind"; - Contacts contact1 = new Friends(name, lastName, address, email, telephoneNumber, socialAcount, profession, - friendSince); + Contacts contact1 = new Friend(name, lastName, "Friend", relation, address, telephoneNumber, email, socialAcount, + profession); String name2 = "AAAAAA"; - List<String> lastName2 = List.of("BBBBBBBBBBBBBBB", "BOURRRRRIS"); + List<String> lastName2 = List.of("AAAAAA", "BBBBB"); - Contacts contact2 = new Friends(name2, lastName2, address, email, telephoneNumber, socialAcount, profession, - friendSince); + Contacts contact2 = new Friend(name2, lastName2, "Friend", relation, address, email, telephoneNumber, socialAcount, + profession); app.addToContactList(contact1); app.addToContactList(contact2); @@ -89,29 +108,4 @@ public class MainTest { assertEquals(app.getContactList().get(0).getName(), name2); } - - @Test - public void search() { - - String name = "nonexisting"; - List<String> lastName = List.of("kurteshi", "browman"); - String address = "rue du rhone 4, 1203 Genève"; - List<String> telephoneNumber = List.of("+41 77 444 33 22"); - List<String> email = List.of("alex@gmail.com"); - List<String> socialAcount = List.of("https://hello.com/?name=alex"); - String profession = "student"; - String friendSince = "2022/02/02"; - - Contacts contact = new Friends(name, lastName, address, email, telephoneNumber, socialAcount, profession, - friendSince); - - boolean findAlex = app.getContactList().stream().anyMatch(e -> e.getName().equals(name)); - - app.addToContactList(contact); - - boolean findagian = app.getContactList().stream().anyMatch(e -> e.getName().equals(name)); - - assertEquals(!findAlex, findagian); - - } } -- GitLab