diff options
author | kaiwu <kaiwu2004@gmail.com> | 2022-04-10 22:18:16 +0800 |
---|---|---|
committer | kaiwu <kaiwu2004@gmail.com> | 2022-04-10 22:18:16 +0800 |
commit | ac146284fd54e11c7657a39f45fe8cc0213ebeb7 (patch) | |
tree | a19d1cf2ba1d2b18955b0723c8b647a6be921d0b /src | |
parent | 7518edc86fc1d77e09a624c97e71e2c7d877b54d (diff) | |
download | advent-of-code-ac146284fd54e11c7657a39f45fe8cc0213ebeb7.tar.gz advent-of-code-ac146284fd54e11c7657a39f45fe8cc0213ebeb7.zip |
2018 day5 part1
Diffstat (limited to 'src')
-rw-r--r-- | src/2018/day5/README.md | 37 | ||||
-rw-r--r-- | src/2018/day5/aoc.cpp | 75 | ||||
-rw-r--r-- | src/2018/day5/aoc.h | 1 | ||||
-rw-r--r-- | src/2018/day5/input | 1 |
4 files changed, 114 insertions, 0 deletions
diff --git a/src/2018/day5/README.md b/src/2018/day5/README.md index e69de29..232af27 100644 --- a/src/2018/day5/README.md +++ b/src/2018/day5/README.md @@ -0,0 +1,37 @@ +--- Day 5: Alchemical Reduction --- +You've managed to sneak in to the prototype suit manufacturing lab. The Elves are making decent progress, but are still struggling with the suit's size reduction capabilities. + +While the very latest in 1518 alchemical technology might have solved their problem eventually, you can do better. You scan the chemical composition of the suit's material and discover that it is formed by extremely long polymers (one of which is available as your puzzle input). + +The polymer is formed by smaller units which, when triggered, react with each other such that two adjacent units of the same type and opposite polarity are destroyed. Units' types are represented by letters; units' polarity is represented by capitalization. For instance, r and R are units with the same type but opposite polarity, whereas r and s are entirely different types and do not react. + +For example: + +In aA, a and A react, leaving nothing behind. +In abBA, bB destroys itself, leaving aA. As above, this then destroys itself, leaving nothing. +In abAB, no two adjacent units are of the same type, and so nothing happens. +In aabAAB, even though aa and AA are of the same type, their polarities match, and so nothing happens. +Now, consider a larger example, dabAcCaCBAcCcaDA: + +dabAcCaCBAcCcaDA The first 'cC' is removed. +dabAaCBAcCcaDA This creates 'Aa', which is removed. +dabCBAcCcaDA Either 'cC' or 'Cc' are removed (the result is the same). +dabCBAcaDA No further actions can be taken. +After all possible reactions, the resulting polymer contains 10 units. + +How many units remain after fully reacting the polymer you scanned? (Note: in this puzzle and others, the input is large; if you copy/paste your input, make sure you get the whole thing.) + +--- Part Two --- +Time to improve the polymer. + +One of the unit types is causing problems; it's preventing the polymer from collapsing as much as it should. Your goal is to figure out which unit type is causing the most problems, remove all instances of it (regardless of polarity), fully react the remaining polymer, and measure its length. + +For example, again using the polymer dabAcCaCBAcCcaDA from above: + +Removing all A/a units produces dbcCCBcCcD. Fully reacting this polymer produces dbCBcD, which has length 6. +Removing all B/b units produces daAcCaCAcCcaDA. Fully reacting this polymer produces daCAcaDA, which has length 8. +Removing all C/c units produces dabAaBAaDA. Fully reacting this polymer produces daDA, which has length 4. +Removing all D/d units produces abAcCaCBAcCcaA. Fully reacting this polymer produces abCBAc, which has length 6. +In this example, removing all C/c units was best, producing the answer 4. + +What is the length of the shortest polymer you can produce by removing all units of exactly one type and fully reacting the result? diff --git a/src/2018/day5/aoc.cpp b/src/2018/day5/aoc.cpp index 585f144..5b6d3cb 100644 --- a/src/2018/day5/aoc.cpp +++ b/src/2018/day5/aoc.cpp @@ -1,5 +1,80 @@ #include "aoc.h" +#include <math.h> namespace aoc2018 { +void deduct(char** pp1, char** pp2, char* b, char* e) { + char* p1 = *pp1; + char* p2 = *pp2; + while (p1 >= b && p2 < e) { + bool stop = true; + if (std::abs(*p1 - *p2) == 32) { + *p1 = ' '; + *p2 = ' '; + p1--; + p2++; + stop = false; + } + if (*p1 == ' ') { + p1--; + stop = false; + } + if (*p2 == ' ') { + p2++; + stop = false; + } + if (stop) { + break; + } + } + *pp1 = p1; + *pp2 = p2; } + +int count(line_view lv) { + int total{0}; + auto is_az = [](char c) { return c >= 'a' && c <= 'z'; }; + auto is_AZ = [](char c) { return c >= 'A' && c <= 'Z'; }; + per_char(lv, [&total, &is_az, &is_AZ](char c) { + if (is_az(c) || is_AZ(c)) { + total += 1; + } + return true; + }); + return total; +} + +void deduct(char* p1, char* p2) { + char* p = p1; + while (p < p2) { + if (std::abs(*p - *(p + 1)) == 32) { + char* pa = p; + char* pb = p + 1; + deduct(&pa, &pb, p1, p2); + p = pb; + } else { + p++; + } + } +} + +void print(char* p1, char* p2) { + while (p1 < p2) { + if (*p1 != ' ') { + std::cout << *p1; + } + p1++; + } + printf("\n"); +} + +int day5(line_view file) { + char* p1 = (char*)malloc(file.length); + memcpy(p1, file.line, file.length); + char* p2 = p1 + file.length; + deduct(p1, p2); + // print(p1, p2); + return count({p1, p2}); +} + +} // namespace aoc2018 diff --git a/src/2018/day5/aoc.h b/src/2018/day5/aoc.h index 2b99a0b..a6d2d5c 100644 --- a/src/2018/day5/aoc.h +++ b/src/2018/day5/aoc.h @@ -4,4 +4,5 @@ namespace aoc2018 { +int day5(line_view); } diff --git a/src/2018/day5/input b/src/2018/day5/input index e69de29..ab145ca 100644 --- a/src/2018/day5/input +++ b/src/2018/day5/input @@ -0,0 +1 @@ +kLltgGTKFjdDpPkKcCJjJhHfmMAjJasSFfHEesYMmTtrRBjJmcCMbDdmMyOoUuGLrRlJeEMmxtTXjKzRroOmpjJqVvQPMZAXoOxeEZtTzLYyqQnNlMmafFLlRrkEeNkKtTngGlOoLXxtTLDdBblRCcqQrFfLQAaqeEZMgGbBOoFfyTtIizZuUsSYmbzTiItQqOouUGgZBCcsSHhxXIrOoRizlUuZjJefFCcEgGMmMmRrXlLyYcCxvVCcyYcCZhHzyYWwcXxlLCeECcOCcozHnYyNftTJjFSsrRTtqQSFfFfYxXysSsrMKkmeeEEdDRHhNCcgGnQqiIqQLlkKbPpBQOlDdLoqhjJtzZfFiIVvTMJjSgGsmyGPpgUhHuoIzZiOYkKPpUuqBbQcHhCTiZrRLJEkKuUejlTNiInNntdDxXzAauUOLkKloIdDzuUjJvpPViIbBiOGgoIJnNFfYyjbBZWwSsdDsSUuBUCnXxNgGcKJjkCcuUWwiIcCCcDdsSDUumMdSSuUPpyaUuqmMQAYkFfnNKMmsCgGVvyYJjcnNlLVeEvEesQqvVEMmeWMmwBbyvVYUuavJjVTtAJCczcCZgGcYyCjJEejuupPUStTsPphHgGafFAvVGgzWwAafiIygGUupsSPYfFFLlzrRZFaeEAWjJTXWwxFftcCjJfFkYyKwuUJKkfFBbMnNmIPlLZyYzzZpijnlLwWNLlfGUuTtglHFvVfHhhYywbBvVVLlsSvKeEoOkZzYyZzWGxXgzZBUgGaAvVuCwWNncjJbDdQqGgAatTFAaftLsLNnuJjUlfFSPpmMfFFflmlLMThFfXxHUuEcCrRXxezZrnNRsSWwWwZUuzFfTtiIaAvaOoAVGPpRdDrgWdDtSsGgaAfFopPhHVvOksBbSKOntTLlNjJKkhHGEeGgjtTaMyYmPpAJuUHhZGgzvVDdmMNnFCcfgzZgxXRHhrGzZOovVcLlCUuoCDdchHOuUsSvVNAanoTcCwUuchVIivHFcCuUHzZFfCcTCcthykKYXxUuzZOHhoIsSiVvDFXxIMmifmdDMdIbBNReEgGrrFRrcCfkKRnNnNgGnoOxyYRrXAjSsJoOgSsGgGAawWazyvrRtTVYvVLfFtEeSsiIHhiIqQTlzCcdDhHuUuUuUZRrZVDdWwQJAajqvHGoONnQqWyYLeENWcCwpPybByvxXVnNgGYYOoQBbqifFiIlLgGImsSIiMGgnjJVvGNEenIigeEnNvGgXgGhHKkXIiEhHvVeFfDdxxxXzGgZpCPpcXxCcGgRrliILZzBbCqQGgbBZOoYyiIhHUYyuLuUlGZzgzcPpPeRrEOoRryYbwWBYyrRlLbioOIeEBiZzaAaANsCcjJVvSEkAaEMaAAalCDdcuNnnpPWwNkaADdKCfJjFcpjJIiPWAGgawWAaVZzzlLXxZHhvxRrdcCRrYsSyjJmBbMufFdDWwLfFYyvVlInNpQgGZzqPyYifGggGFSvVTorROtEeDdajJJjNnAjBbiINncCuhHUxXJsHZzrROodCcDnNgQqGtBbThRhHrGBMmbrxKtTkswWSJntTNgGOHhouwWUzZjzugGdDzKkrKkRZtTgGhHUeEZerRmMFfZvVvVzJjdDWwjoOvVJEhHQqLljnNtXyYLlENnbBeyYTQqtmIiHKkhMMmpuQKaAkqbyYckMsSmuUMmxpPXOkKwWoQqYdrRvVDgGNnJOoVvkCcWwKXSuUdDsgGnNzZwWoOPpFzhEetFfvsSVdDMdBbtTDJjmiICTtcTITtpPVvcCiZwWFfnNlPpLFfCulLUcfFQwWwDdXxWKqlLaCcZMmzGgAUukzZRGgzZcCJjsSyWIioOwYCmMcrjFRrSsdDjPzZpJpPfJqQZzKRUZziIurcCsSaAeTttrRTEjJlOoLYmMuUPpZzyzWwZGGsSgvVxUuTyDdYtpPoOXeEMOomSsZLKsSklnNbAlLCcJiIjaBmMoOOodDHbRrocCOoOaiIABhLoBbOXxVvlgbLlBGtNnTExXWfFnNwbBecCELlhHkqjJVvqQQKezZxXzZUuaAzHhcCWwtvVhkKHQoOaAYbByXxMmdQqDdbBJjDXxjwWJlLxXhHiIALAKOokJjoOalZzcCvVIiawWKcCgGWUYHhyvVaNbIiBnAoOrRuVsSvbBJjdfFuYyFfUoOzWwjaAlLYyhHJZqQJoOjnNkKeRFfriTtIHhEVtTKZzhHEenNrRRrczZbBiIIieyYEecCEGgjJJjQSSssqCbBnNTtqQEEFFffkKPOHNnhDdofpPrRNnFfbBYgGxXytKaAkTVjPpqsShNnrRiIHJjQJMeQsSqEGqQwWgSsdDLlWwaAnNTtbzZBOoruVvRCcqQOGgoMyYmrjDdvVfvVFJoKkOwWeEFfeEzZCgGcuUtIiIiFfsSgGyYTDjgGzZPHhnNLlGgePpVvEHhpJdhUuBbJjHqQUqVpPvETsStSsZSszQSMmWwOmMnNhaAHDWwNneESsiYyIToOtddbieFfEIAJjhHcQvVqCjJRraBDLlIiJieEIjUuaiIAIiuUQqDdTtWwuUeTKktDddDKktTjJdDELXxlckKCBbwbaRrABSsWJthxXHTsSGgSXxsUzZBDaApPdbaAyYUsVvbdDBzZTtTtjyYJsSNmMVvTtnmMQSFfsqRrOouvILlitTaAKKkkYyeENnxwWXVJjoOuUEemMgGSTtsnNzPpNYynbBZGaZpPRrgGzZTtTtKkzqUuPpyYQbBTtZsSzGgAftTpPxwWAaXaFfAPptTqQjRrJCcFEekKyYDLldkzZKfFNjOoJpPEeFfpPnqQWpPMmUUnNuufCXxcZzjibBgGIJdDFvLmMAXxeEaFfmMHXXxxepPRrwsSWTtAaRTtrVvtSsQqTPoOIihPpHKkpYQVvqYsSVvQJjqFfqwWQyGgfFUzpPZyNndDwWtTiIDdYOoyYzZJtRryYxrRmMHhXlDdyYzSsZxgGXLiQqbuUBwWCccrRzZkwWfFWBDdboljJcChHVvLGgMmaAcCwWJMmaMMmmjzkKcYyJmMjWwmMbgGgGOxQqXnNMmoHhBXHhxCVvCmMNIiRidDIrXVvxeEtTtTyYnEeKkuUmJjmMOoGgiIMlgLlQqEMmexXGLclLyYfFQEeHhXgvlFfLdDwWnNMmvzZWCcgGwMmWODYydiIowvVbPpBEeIAFfnNMVvmadBbDiLlCyYaqvVQIiyYAqQtTiIcaAlLQRuUrhHYVvTUucCtyPpbBcmCcFfZzMpNFzCcUuaARrUqvVQuSsZwWcCsScrRCfrRVGgveYyESXxsMmWWwWlLIiwCtNnSsBbjJXxSsDSslLdmVxsSchHCXjlwWOQuUqXhHSssVAgGalLvSMAPpKkCcLlRramdnQqNCiIVvcgzZNnFDdkKMmzZfBbBbGuUmXukKUxIiaAGgAaWwcivrRVjJrjJQCCcLlEAWwaecaFfAtTWwqjNnLlJzZMsSmzltIiALlhHUuoGgOaZziJKkYyqQjfFgGCcIoIidDTtuhHiIZzlYyuMLlmUSsuvVbaIsrKmWwMkXCcOoxoOXCcoONngGVvTtSWRrkKmclLCNnxjJXMHiIfFkhHKerRMOomYTtyEhIiwosLgGEdDZzEeqQTtAaUUuurRcCMVvmepPzjtTvVJiIBjJyYbgdDSsGrRpPtgMmGTkJjhtTraARBbHhTzYyOlxOgGoXfFxXMmfFdVuUiIxPpKjJkKkWQqwtTkKZZznchHMqQmzZAFeEGgagGAfdDTbaDdGbBgJjcCHhABxXULegZzGEliILKkZzmMbBlOoJjIiubBamNnMWwVvxXhZpPuJjUCcPpzaPWwuAaUxXucjJCIgbrRBvVGgVnaASXxsNAaHhNnIiiIHBblLCtTuURKkCcGgAsSIxXVvimMueEbQqNvVnBifFILRjJUukKrZlLzfhHFWwVrRlLvxXuUMUuuUKiIkmZmEeMaAcClLETtdSlLxAaXsNxGzZDSIvRrVpPYyxrFfPpGXiItTzZxgKkKkoOJjmaAqBbNKJjkZnNoOjJnNzdDJjKHuUTVvLlthkMmMlrRLmmMQepYyIiZzvPpwAadDZzQqwWGwWgFjJfvVbpgaAGNVvndmMerQqIiREDzZFXxfOfFoJxXLljeESUuswWUuPNsSHhGgsSfeEFTiIKkOoRkKrGkpPnlwknNKxXkKAajEeJpeEESserDdEehHAPcCprmQquqQUMvVIxXiHhRXxEeaAajusSXxzZXxbRrnPpHCcNZUmMXxJjLlpPVoOLlhHbBIiGgvuGgcCcCRRrsBbLlMmWwWwvkHhKVSIhHuuICcpPiEeYjJcCZzDFfdynVvcCNLlEesSntTNHhpMxXiIwTtARraeEWLLllJWwhHQEgtTGebBPdWkHhKnNyYuUwDpsSnNwWHhmAaMHYGgVvSsyJjoOhgvVubAjgFTtFINVvAMmatTGgSsnwWpPGyiAZzeEditLlWwyfsSFSIisvVgGAyoOYyYkXxjciLldDIbBSsfFgGumMUxXZHhEetcCcCTzJiIYaveEtTVAIvqQfqbBFffFeEQEeFgtQKkhHfFAalFyYroOoORuUfAaXzZGgxfFlTtfFLuUurRUeExXaATxXzZIIVvYyCckpQqRrFfFfJKkINnIiWwijRrJJxjJWwXCGguAajJUlLcLlkKhzgGXxlRrxXXCcYAaqQtTyxZzLRrhDdHXxJjiHhINnaAgIioOypPYnNuULlkxXkKrUuhHRIiBbxLjJlLlXKvVLlSsFfsSpPCcfBbnzZSsAaUjJJjYyuNnNBcCbaArwWRLlUuzYyoTtEeoDdOoOKWulMmLUkKIiOPQqxXUjvKkVkrcCRKFlLruzZDdUPOopxgGWwvXxVvqQxXxpPXVsBbSXWxyYXJbmPpMBjsAaLYaQqtacCATAhYNnNMmdsSwWsWwseDdEIiJsSfFRrjzZdDKkbEedDJjcCSsGxewWEXqTpPtQIifFTeEtzZgAuKkUaSDWwdsYYyjhHzZJdDyTxXNtTeEIilLklLdDKnYyWaAdYhHaApyYPiIyrytTcCYQqpPPXxMmllLLpBbpPCKkcyHhFDdlLHhnbxXxXBNlKWwkKPKkzEexTtXZJsGgLOoJjyYIiTQqqQOotveExhHXPpGgVTzZrbBsSgauNnjdDIYyPpuUiLtAaCcTWwnNlrRwMmWZzYPpyJrRTtZzqIiQNOoDdmFUsqpMmPHhQSuSsvqZjaaAAeEJdDuUunRDdDHhseEdDMUrRuiImlfeEFSCcsWwYCPpcNnyQMmOoEehEiVpPnNlhHWwLRrwoOWpPGaAgVvXphHPlLhHkaAKxsSNnrgGzZYyRkKUuXfpPFoEtTeOcrRCMqXwWhHLaAAaFfsSdPpDHhKkLlSsOvVXGsSgxouUogUuPpQqbBDdXxcizZICGdqBbQqQJRrgGmMjbsSkKQqBeVvTsSgGtEqQCTtFfjJcqQMmAaRrbBkKbzZBqgFfMBuUWwYyMaAmrxXWjVoOvKwWkBlLbAatXxYdDRxXryOoeYyEOoDtTVvyYvTepPEtVjlLJXxQqvVHheEFZzfdDWzMmgsSGZwSlgGLwWzxrRXsSAaAabOooOQhHqdDXxPaApIBbdDimMrRdafFPpAEeOozZAaVVvvijQqsSJIDFfqqQYOoyQBTnRjJxTtXjJRrCIicKkBbZBbzrNaAIisViIsSczZCdDEevSJjeAaEtBPzZLlYyGfFJjAaVvQBzZzJPpPpaQquUwWiISdDdDsBbBbpLlPwZzWNZSZEvVezseGgyzxZzXFyYTtgEdDegGUCuUdfgGkKFDuUwTtqQWceEdDvVoOaGgseESRUusSUuJjhHLJjfFlGoHhoOCTtJjqIvVbkrDdEeCxXkQqKGgmbBQqCIKlKkLkiZzASOokKsShHYydWwFfhHDjJcCkKfjJFHhOWwmMvVoyYrRumMUJjkKOhAaqQHhQqHKkiIeEbBmFfYnNyMxrRnNzZBbeEcpPQqCAgPpftnNnIiNTZzuJHtTuUbBiEOoSyYzEeAaKkZpPGgzOoKkLlUsSuOoxxXyGgmwzoOHhqJSsmfyYFeVIsbBSgWPpWPpSsEQTCctbBdwWGgDMGscCSuUpSsJjaAPceEowZzWqhHbpPqiIPpQEeXUuxRiIjrkKRJDXxxXdjJbBdDmMFNnJjNeEXxnsSfiIJxXmMWwtTJeEsSGgNDdpPCctsSsSZzYFfHhuTQIiiIqhHbPpPGlEeLLllgGUuLgNnRPpEdNVvbuUBbBBbRQfFQqqrpLSsiIlQqPxGgeEXzZaAPpBbVvIiFfeEeOQlLqcCEeWiIwonJHhjAaNvXawWAvSshHdDBbdDKkOkYyKHhGwWKlYWiIwdmwVvWcjmMcJRKpzZxXdDPxLlncCNPKkpJnNjPpDdJjGgXSKkhHsNiuUInOwWeYyEgGommAaMqQMNnxXyYdDDyjrTtiuIkKiYsSyGgMmlUuLMfFSsjeEzZJmaAkKVcCvZzwWLlTYvVOXxpyYfFDGgjaAJgGWwstTrPpcCikBbgGKQgGSsNnkKcnNPfFWwxmtTjQOHtTNQqiIfUOomMnDdhHNkxoOSsDdPpSsXYyWiLlIwKbBkGLXxtLhHlAcdDCxlLXfFayAaZVVKsSVvkKkNnmMgGgGZjJfFzTtviPpIJjwWGgAoOaLHLLWwlCcZbBiIzeyYpPaAxXOYVvynNbiIGqwWsKkvVVeEkNndxivsSeEVvfFBYyFfjwWJBbSsHhjlLLwWrRuUlKkKBbpEeWwPYiIvVykdDJGVRrVvvUuQeEOoEeiIyJkKaARrfFaAzZMmOoIiAaSyYsUsSQgGgGKvjJSSsIijJZMmzZzQJjqAaKkYyNnpVvPAjJaEPLltTGgpWuUTbBnNtSssdRrDSwPpWWwXAaxwisSrSsRIeEaAoOPggGpPVeoLGglCcUuOEGrRgvgGbZzBLlaVvAzZvKkVeDdDddDEowWLlOxfFjJftTAafBbFffFFbpjWjZzuRFiIfrQwqQRvVruYykKtRauUlAUuaFfLAPzZpPWwpoUSiIsuGgfgGvVFXxnNtTLlnDdTnUuAaNCcgFTwpPiIWMzZzofFOZPpnNfFkUuKFNOTtvAvVaVpPojJvfFVnrSsRWxXsSKdDjJkHUgAaGcQqsSnirdQEeHrRhqueEJjUDTtwHhWjJaGxXgAvDdVSwWxXszZKnNSqlLlLQtVvTnpPNJjbBbBpqQPYgGrRyRrGgSshaDdJbBnAsKkhHDZkKzmMCcdOouUdyYzZWxXqPpQOowDSJGgjdYyDCTtnNiICtSZPpJjwWWwzmXhHxgGBbMqQoONjUuDdYhiINAanZLSslzKcCfFyYkfvVFeiIAHwozZOqQhlLPDdcCFfpFfpPAaehHXxGgDQqGgwWhHNIiCKIikkLlKKRrhJyYYUhHujJUKzRNeQLlqEnVvgGacCArFfWRxpNfFIZzUnNzZuiYpPMeYyDddDSuUlLsdXxlLcCLVvnyvVGgYdWaAaAwDOfFSRrbBsQqkKBblOovVSsZzKfXxeEAcKYoOykCtTabOjRrJoJjzeEAawWZwWBpQqticCITPLGSMQVXxvqIjJKkpjeEJrQveEeEVwMDMmUuNcOaAAaoCEepMmhoOHQjJmFfGkTLltWwNXxftqQlkoOpPpmDdpPMNAanIizNnNuUnNyYLlClLqgGdDgnPpNZzgnJjRRrWmMDCcdfFwZzriwWFfzZFeFfEfWwmjUuJMbMmjaAJvWwVnNkKzpPKGqGLlgwkhxXzZbBZtTzlqQNRTtALLTtllLTpnPpNoOMsSxXmRrDdFfDefLlTtHhfiIcKkWwkKCcxXsSmMOogGqFfQiIiIGgwWwWxNnhHcvPpOoVPpysSQqWHSjXWwxXxEekKRrJeEsgEUuehHBcLCYbBQqyYxcpPsSFfsRrzZzXxZyJjTtYdDXOoxwWbZzGgcCpgvKkJjDdWCAahcjMmJwWbBhHgBgGIoOEeiIibjYyaALlinNyYmMIiAnHhNVvaIzZpPYBbTJjxGguIFUuOwWofFYqkKQydDgJjGYKxXkzBbjJLluUiIqIiQeEUuZysXxSjNqQEefFoOjtTAalLnNIilzZGgCYmMxDdXsvVSeEgGQaAuUqQzZtEepaAPdDDHhyYyYZOMmtToIHhiTXxtvVzdEsJjvVWHhjzZPkKpWwWYTwWtxXyYoOcXxCKkvOjjJGguUItEemoNnOMIyYfFXdXxsSvVDxnGgEpPefFNiTtTOodHheEDHhfAZzMfFSMmvJjhrRHVdtLluYWIiVfFcCtThHAaKQcCqjpnNILNUwWuMmZFNnRruUdDfJaYyzZjJbBACcLlbBkGpPJGgukgGKNBbfFnTtiIiImMKAancCHqmMzZvVcCKGgkWwQuUqHhAadDQaoOAnNSTmKkWXxEIRQquUhqQsrGuOoULeEpPlZzgGbBBbtwWwKmMCqQdDcaAqQrjJxXWUuwDdMmdDocIcuUFfUuMmqQCSyOoYfyYwWfjkKsSYkKaAZYCqQUBbwIitPpprRbBkVVvNnUuIiOoLlAmEomXxmhHtTiIdUuTthHrRAaAvLlViIGgaODingGNIMmlLMDMmUukZzKxXrRWiRTtoOQquRrBboIzfFeqQWwUMVvmLlfFiIiINnoOlLAaixXXxHhIgKkZzVxxXXvGOoFpsTtzMjsSCckJjJXxdDtTGCZzMmAzaAZawOoWeZoOZzWMsSAYyamGgwfNnuUxXFoOWsSwsSzFfQoOAamDdMWwGsmEQqrRFfzZAxKkXeETvVxyHhYgnxBbhtyYTOUkKuOJjoJiIjJVvEHUBboOBVCcKjJqQdDkwWnMmrnNmUuMBbRLFwWftTTtgGiIElCgUPmMpMqoOQmuoOaAFUuflLnuosSyrRYKkpUuPtQqQeEPpoGgmMyYuUCzMmmTtOoxXMFBbiIfFhHfTtqceESXVZzdxXDdSIXxBNnESxXOoyADaOoNnGgKukSstTXGgUuuUNnxMtTfwiIDzkVWwvKbCcWEeEeEeSjJspPYywAaJrRjBNnQqnNpBXKuUkFrGuUydbBDbYcDeElLHzPpZveEaAVmMgpPGuUvVJnzZXPprRxJjtRquUQhvBbEdmMDeVFfYrmMYfFcBZzvVzoYyOjNuUnYyJQqZsSjClLCccSslcAPpaCCfFpPIigiILlvZzVyMmqQKkvslMKkmtcCiInNqQsQqIiqQSzNNfVvoAaOKVMpTtncCNCcBbPvVSdnlLXoOvwPIRtTtMmeRVvAariIGgeEzZSsOoEUuOoSsTLdDlrRPcVvnWyYwjgYVxXRDJjSkjJEeIaNaGguHhUnYsSyvVwWNoOiIyYqOobzZBZzXbNnBbOoPaAyYKkTSEKXreEeTtJjxcCwreEyYOpPbByYzJjZCcoyJjYAaRtTiNnIYyrbBNneEDdRraAyRGFCfFOtTOoofFcHoMxjMNnlVtTAaOkiaWwOGQqgVQqAawWgupPZzUuUPzWwDdZIScCsHhisSpoOSdUuvVexwWXKkgznQfsbmCcraUuCcAFRDuNnUdDdcCgzbRDMyYmdIiaAzZrVvotrwWhHUuFzZJbDjJhHdAlLtTuUfFagCMmcGjSViIvFfSYvVQqyITHXmMbqQaSsABbGgqRrQsSBSsNnjMmIkKVvDdZzTmzZgGmwWMyfFYpacCApProOvkMXoOxmKVtTlLSsCGgoOcSKoxXpXxFiIaAHhyWxxXXADdaZdTHQPCKkdDJBgGbgXxzHGgXWtoOTwVvpAabBHhxAvkhHeEISKQiCQqTtcoocCSssrRSgTihHIsZIzmtGgTRgWxXqVvQwHbBtFLBblfTjDdPlfcCFLWwNfFqIimesOoRSsURrQleEJjWyFfMmQJjBbVvBboBboaVvAMmOVzZnSHhVvsYyPFfeqydDaAOOostahIPpiozZOKkHQqegCcipPIGSFSLlhHpvVGaVvuUALlQqWwgRrsSqQcsQzZqIOolLsSZQqhpvqQCcFkKWwfLlLlHmfFUBKkzZJvVBbjPzZOFnNTRreMmEtSsHhqXkKxuWJjqtTFfmMrRqQQQqwdDUvLlDdmNqQnGcCrLllLUSfCcwdDWuhHmMmMAILaBbAriIrJZzjQqQnEeGEegnNqyYCcIiPpcCaAckAzZxjJXtcSsrRCTCcEmzZZzMxXlXQYyqwIiyJjKkgyYzZHhGXaAxYGjXxxvVCcSsSnNsKkVQbBqdFfDabBAzsSZcCVvUuYymYyAaqQMdovVLlOpVvWwPaASbBsDvDdfUuFXJBQWVvwMmuiIWwzZuUMOhbBHOLrzZRlNncQqeOhHbaAVNnMmvaGwWilLTtIhqoOooOZJiQqgNiIwqQLLljoiDpAaqQYyaAWQtTqwPrRYyNlLPbKkpPxXpttLcCloOiQqsSuUfNpPTtnSxDobzZpKkPzEeMNoLaAlOMmatTzOoGxMGglHGghmhHSUusIYyiyYwWJWNKkRrNDdnkKniIVyFffFYONnXxzZqQlxXwEevoOEeVWFNdDFfkkoxaAXWvVwMUumXxMDdmFfOnNTyYvVeEKRqQEYyeyiItTQlLCnNcWxOoXyYIpPuUFJjzZkKdDQqgGsSUeEuIiPxUWOowuUumcwJlLjCpPcJsnsStTNSjGIiiVmMnNUSXxsoOvVlLESLcCSstTGsSeUuErsSeERGgJjaXxAlLZzTtNngkKlhYyHhHnnNNjplLkKtFbBKLlXiIxwkKoOWUisKaAkieEIXxSaAaAjcCJAaeEqjJQxheEFNnDjXxIGguTCFfgEejxXZoOzQnLlAaZzXxNZzLlqbBSSSnVvyYMmNrIizZFfRWiIxhQSpPqQmKkCuUcghzYyZXxgGqQCcokKOJGgKklLkKpPuhHhXOoUuMmCcbBdDhtVYJGgjbByvGIruUIirRiJLgGTtWwlZPpiZFJpTbBtSsFfUuPQsJSsjAabPpYdPcChHCGgPwWEeBWwbIPNOZzaMmHhdDAoCccfFSsuqQUBbbEevOeEJjBbgiISsSsJjiCcavBgdDTaRlLFShcCHYpJjPQmmMyvVYrXxXLPwzZfFlkApPaKkZaAaAzhHQqCcmDdbBqVvnNPpQMKDVNnfFvYvtKkKYykaiIUcCZLhHlyKkdOCQqceYyrRELDdlvdDtTWxXwCcgfFDzJjuUDdlzvVWwaAZrRXhHqHhQqQojNpPnJlLgCcpPGyYjJpPanVDafFnNxXvVsSPaAaAIJjUtEeKbBmMNVvlpHhUgGuyYyYcIizZEIieSsNfyJjdeVBXxbvLdDyvVUuYPplLiOrTZaRqQrAzTteLacCdIYCcyvVWwtTEeIKkcCfFdmJpPZzTtzZBbjJwTtHhWAzZosJNnsAaSbMghFBbBsSHqQhdDbsSbAaIiBkdDtssShgmyYMoOGDdeyFfnbQqfaAaACcnUtTgpQqwWzeLLlEzZKgGkeJzZZzrREeEXEuUlzvVZzoOuUZKRxXfxXFDvAoMmHRxQzZeEpBVvhmEjmMMmRwvVWrJJbtTBJfHhFtTwWjWwlLHiIhZzRLlrjAlLruaJjzZtTWwhqDdlPpLtbJjBusRNnrjWwbVvXbkOoOHhoKQYRBbBbDdDdqLlSSCMQQqbsoOwQSbkPhSszZHPpVvNnPyPpDcCdEeYwUuWpDdwvVstTMmXYySVvsxMmnWpupPPpbBKkKNdDUcCRSmwUuEevTocPIQqdEgKBEeCDskKmsSRdDNhPpHnsFfehyYeKkENEeQPlIiJZsSKkNDgjJyYFbBwDdqMmncBbVvCsSNvmqndDNvhFfHfPeEZqHOolLhzZSskQqTtKYylvVnNfFTtbbBDOonNfehmMgPdDpGHtFTtSgGNpknaAhHNVQqSsaASsHhvAaEekAsSJvfwWFrpHGWBlLLvIiZzzkdSsDKxXUuWwCcLehDFfwWvVRrWbsFqZzQfqrLofNncCFObhMmUnziItTwQLhPpmMHlqxrRXlLVvzZcyhUfFuHhHWwgGOoBfFbkKYNnxlrdfFLWwVvDEhSiIMmbBUuTcCdDtrRkKCcnoUvwWVueeICcikKaATvVtQPmMzenPPbBJjTKkPSlFfBbLRtZzVvogGxXOOopPxrKkNnUYyLluyYIiBlCcxXYynBbeGgEBWZOoeEfFMkMXOofkHwWxXGghKSlWxbZjkKpPJbuUBSszZznNZOobBjJzCcBBfNntrwANcdDCndUcnAUEeuUubBwWkjJKuYcMmRkKrRrgGcNnCgTsStcmMCmkXgSZzsGxgqRKkVoAaHLuxyyYXxjRHhruUflOotTfIfFiFcCLQcCqFJcjJFEeZJjaAfIjpPWlrRHhHhbBdZzdjPxnNXmcwWSsykKYNCbBomMbBCcUugOonNQEelZXxznmMyYNfFHOPpBbyYoGgakKvmFXtbbBBkiFjwyYxqQKrWIAaiwRegGEgqQBpPbeGgEyYWzSMmbBbdDSsiIaAfFzZMmJjfFMmXoOxvtAgmMGezUjENnecCeBbEJnMCcwrRAwWPsIiiIaUuuDUjiIcCFfvBbQqVTZzIixXQpVvPNWwGnNgfFhHTCctxXvWipknNKPchHCIpPvUuVerxGgEePCcqQpYmMXxZQqzyqeEzZQXtqQSsTLlisSlLemMiIdSsUuYyDwWQqQqtTsLlpPaASuUkJvVbHhBiLlvVjJXxBUNnuGgbjSnNMPJjpKcCkuHhSyflLIMNnSsAlLrRGNphLUuloOsuUSgGtgVUgGupPdkbBEecCTWwoOapPbfyPAaibBKkvqtAXrRpPdDxbBeCcgGJRSPpGgxcoORoOOoHhXTzdDZiIbBRWKaAkKzHvMVTyqQGgYcCRnpPsIUilAaMFFbBffJyYMrRgGmooOAkSvVPpsKNcrRCRrnpALqBbQfSsQqzbBMmhqQHUuNnKzocOKkoCvVqGVAaNnZmMSsIqQUivVSQqUaZzgXOoPpOoAaCqxXxEepPxSnPSYnzZNWwiwlCaAvVEzrrRlAaHhPpLNnjJRZXUuxkKoOZhHwlZBbpbBPxXOopMmPEetTszaAeWwlLtLlkKOERzQqTtcCKkRfzwWtNKsSPmcCAaIiMnxvLtTaAPpgGncCNdRrseECcvgGjDdJtTfaArpPVvRjJOoGnMmJjjcCpPSsJZcVQqXgGXxMmxvHhCSJWwXxKzAEefFaTfjJeHhQqHFfLvVvVBFLloONndkicyFxHhEeUuwvvOofSsOioOFBbzHhWymcaGAaRVgGavVtqPpsSQHFOokKEAaFfnNYyWwiBbpPaAkKIixXHhIrRblvVZzLlYyepPpPZznNXBEqulLhEgGMLmlLDdKkxXeEbfFZzBHXxhmTfFnNdPpMmfoOfNhzNnxXyizzotEcCerMmqQLsIFyYfoOFQTtqOoXxfJIiNhkKsSOdDofTtoiIOYwlwWgGjWZlLCbBBHhjqQYqKkuUwWOUEgGeELleUufFjJaJjEeHhKZgfRoOryyYYXxFKkkanNAHPmMphKIKDdyaLfkmAfqQhIjJjqAQUuqqFbVbBZzvCqJjkKxXQtRrWwcCONuUnSKkOoevTBbtHWwOBbTHjJhOzZnNRrCcXxBbJXxGnkKtyYuUoOTGxXoOrRllLEeLrPWIiwzZIiDdXUuxZzkKKrRkoOpyCcYBbZiKbBRTnNHcdUuMmUuDdYyfthHTFzXevVExAiIaqurZSuUEuUUuefWaAwBgGxqxXQnfFMmVvNQqxIUbhbBhvVWyVvjNnpqVvesDdSGoOlLoDsSdvsmvVMQqfFSLpPlDdVuTVVNcCniFoOLlzlLZfyYHQjelLEzZECZzGDdtJDdTtPSdDsFfvgGVIiqRkDbxyuUYRrtyYGvVrRSsjJvBbTtVoOAPWwpHhXxEuSsLluUZzJjJjBSsKMkKmOLdiEHhewWIoOqXxMmVvuSsUjGfFyYaNnAwWkxnNXfrRMNkKJjMaFWwWFltMsdLlsSISdDCceEBbcIiCaLlrRNKrJnFfRnKkBbUJjiIShHoOsuvcHhCcCguGgUQqzXPpxPiDuSsUsWUuwIsmMjJiIpvzoOpSsyzzZZSskKzOoqGXSYGgysxWYzZbpPdrRDgGhHLZxXkKSEesaUuCIZlJjqwkewEhgGpbBWwPuUHFfoYGgVvoOUuyOLaAlEetpDdwWVvhHLltTkKMdDmVvjsqRNwdJjDWZxXyYyYkBaAxXkUuKwWsSwWTdutKDQqdDdDqnNPRrgGXCDkGgFBEeiPpIfzZcfFYFfaQqJjZEksSKepfFPzHwnqQNPWwpFfaAEeKkGgtjJTzfoHhNVaAFfmEQqeMnuUDWuvVUcCFgGpSdDsQqPPxLRrkKmMQbBnNqlXbnNsaAWwEVvebtFJjmzZjJMrdtUXxrTMqYRrlxcCqQvVGgUrbAaLlAyBYzcXeNsSnTtENcVvnOoNWwCFhHVvsSOEtTtxdDXiIIzbBZYynjJXkCcKxNEHheeuJjHqQhMuJsXxUsSJkVBMKksSmbxXvcFTuUCJjPEevVpYjJMhHTtMjJmvVKkupwdnZzuRKAeEkbBQrAeEfFaRQqYyNmALlXxpYyeEYiIrKCcvVDPXxjJgGuUiIRZLlzriITtgGVkKIUulLMaAiIGJeEtRrTzZUbWuUkKDdwBqQFfLlUvVurRuEeSsUEjVPpUbBunNtgGlhgGHvsBankKEriIwZztTaAcCKkvWwdGgmOotPJjJbTtJjPCwWiXxIIbGgijuyYptTEHhMlbBZcCakQvgGVEeAamRFfhHPpdzZiguUDEsSwgGWsCPnrReEDdmMXQjJvvVdkXBImmQhnSsarUusSUjwoOWoOTtkoOYyXxPpgrRzZswWPpGgSJnNncCNsSAhwWIilLWmidogGxXFVvWwfsOQuUsSsGgVnNEQSFfnXfFydDdlCJjMzAatTNnCEhHeGMFUagSsGVCWwWwcTtGgdTtjJDRNnZzrYpLyAUuAzZYCpPiKooOCNnDdYVvyOjJoFfcdDzpNnPVvnNwJjWjpPNbBnwWJjJFfdbUiODuHHhpZxvLCjJXpPQTycfBLlbNOonloyYCECcPpJjqtLFflTGgQpZkKEeDDdfXxFyLjUoGgREqJjDdnNIDcJvVNKdDpnNnLlfAaCctsLcZzClPpCcMmdklTmMtYypGUhtTOoXxOouDLldxXTWwVFBbSVvssYMmmMyhqQniYWEeGxjUuJXlyYXxLtNnvVKkhHUuBJjmMEeTtNnGaiVNUCzQqZFiSbBnNiIKHTwdGglclLjlLUqeEQPlQqLgIqhXGgPpMPpmjrRuIaAHhorhCchsQqvVTtSLJjljZzJBxyYXdDPpeGnMmgGgGxXVDRVvOSQqFIpPUIiuoOlLiGGwWHLJQCsEzZKtHWsSXJFfWJjQitTRlUytVSsOoRoOrNktTzgGxXZdDqgYKkMKkeHHhhuUaAXxskKiUuqQWwUJjoiIOHZJRrjzDdZqQLECmMcpPZzCcexpPsiISasSrIlZzgGzZLfFCysHoUuoOKXxEqQekDzZdBbPpJjOhfFxXKUnYlLyyJMCcmjYXxqSszAaDyYBLmAaaIuUkOoKWwCcnNapPAcfFjjtyYjmpwCcMmnsqtTqGtBpvlBzZqSmZJZzfFjdtaADFfyNAaXfFMeaLUuytTaSXtxbuVwWvnvADdaCEvyrRYYyIkKySsvVgGYIibDazXyYwWgGNnxXsSwTtejJElzoSDdbBsNWeElErLPFCckKfBbdihHAaWGRkKrMPjGCcgJkOoFtqQIiDPpvVdtTbMmSsilGLlrJjRrRCGXCcKDdYaAtpeEWXcCxlaALwEBmMLlpMxXyYmzYTtyZyrnNRTtQQxlLXPnyQqYVmPHhvVqfFmCmtTjJgVvQmBVvSsDmMCcdVuUmYyMPPpppPSPpDDdErRVfghumGglLMUMeEdGgllCFXxeEHhcAaCdLOGIaAiHhaLljXNWbBKkHhcaAurRbrfFsAalnAaOQYySfFoOWJjyYuSsvgmkaUocCOTtgGciNKIFfkKnNivakoOKwuUyDMaADddDmpPdOpHDCcjJzSssSPpuoOEeUHhZzqQZaYyMmHzIVvhHvVDdiuuUUZtTAaKVhHvsSkUuhAdCcKcYovrRVOWeEOevfJyaAIjJbBXxHJjhMZgsyYQbBqSvVHzPzZoOYFZzmTFfKhwWPpkKHlLmGrJjRgpfFPYyPpMMVPpEjVvJvggiTtIZrRzGuUUfwWmMpuUFZWbBDhhHHsSsSCHGgGfVbBLdYAdDWfFBbYyGLjWwJxxCcLliSjJZzKQkUdDvVutUuVlDxXirRxsSiIXIKYFfyMczZtoxAnNKAbeQLlqzfFOfJjdDzZvlLwJFfjxsSKRuUhxPpXJuDoOpNWJSxCcXmMeXnmMOoEGHhdDJPpjgJjeUcvyYczZClHLYCcOYyrRvVoykqQjJcCEyWwYSDnNEwdJizZIeEOoBVbjYMmgFffFoOOoFfdnXxGgNPpzOoVRrDdIcCbBBbrRlExXOoAaiutXxIiTJjsHAaCGgcyYjZzVNnvxXsXxmTRrtvMiIXxmVMAapLiXYqQdDAhHzGVQUqQzkKiIgGuUdDkSfFgpPDdmCwXxWOqZzEIzjPpPHhBkKrGgRrFDdGgNntTcTusSwWeEYyhHCcalpPGcCmXVGEesSacwcCVCvVuURPpZzTZztxfHuarRPptbjgvVGaNnAqQJBDHhpPdzZTScXxCWlLagGBbAHhtTwuyKkYJDsSxXJYrRyLugPPGgKJfzSsqVtTIivnrwpqZzmMLlHhlLPixEeAZzeEyYiIdDavQZzqMmsFfSXxVXoOGARragglLYTJpHhZThziItlgGjXaBkKQqMmbgFfACcaaQRuUrDdPqQpyGmusFLcClwWvVDdLuUFMpOjJPpnNhHoDWDfFHhdwAadDEeSsdaVvqGqQgWKkwHhWwJSsjaAKxXdxXDPeEjJIiRnNxrRXPpTgGgGJjWifmMwGgWRrxLgVvBbIihGFdeUuSQurZWPpwfFXxYyRrqbBadJjDCcpujYFeEDdswWSfVekKRrMmsEeSpLkRzZtockwunNUkPIffiIdrRGgDVxynNnvmMQqcOoXxCMzwLyeZEezuJRUuFfRaAaKJwWfFzQqiIVvPsSPphjsSNnnfEfFNjJJvVjhyFTtrRAdeETtvVhHzZXxHCgGcQoYPbBLlvfsSibBNnlLvVoOGdVjJfFDKoOIiLTtMmxNQWNmUhHuMdfFVyYmMeEMmhHtTEyhHRtVjUdcCZbZKkUufFzZYweeEKSsIiiqqXPGgpxrKkRmMcLloOsSvVNWGgsSffFWgGwRCtTwWRrbBmvxdDZZzHFfXBbxZsmMSzjaAoOPpTjORrYySskKQAEcCeGgBbSsPvVpfFiQcCzZDESsBWwpOowWORfsnxAyPbBKkqGgQqWwOfFoQpIlOwWUuYyfYJaTtAJbrREeKkAaiIwWffUuXxiaWOoIiLVaqyuFynNYLlvkKRTthHLlNnNpbMtPRJHhjzlLdDHhJiZHhyYcmMCfFtlLeEOhTtkGPiIpgKnBRrtTQqatmaAmVvbLRiwWsSIOQqeEUXrwwnNFUZzjYyUAaZNaEjiCcuYOoMjejJRrSmJjcjcdDFfDJjJfFEepXxBHBbhZaAfPiIxWwyYXbohHmEpoOgOfFTtXxosSnKkZjJmMETRBvVbaAfUeZcsLlFYNnyVuzUuXgjCrRJKtxuUBbXHmMmkrRSNngGssWGjrMmZzzXxZxvLtTNNmukYIidGKkgwPpRfFrXPnNxAeQqxXFccAHiLwMUMTvVtXxabBToIRpPrJNMmrRhHEsSXhHlGgadMUZKeUxXoqQnPpgNnLlpgCaAqYyvVXxsCjoOIppPFtBRrLMYtLCclwXxsSEeWPpgfmvoYyWDdweRrjdDJFbBBDdMmxdDwWdDCKXzpPxnNIIMmJjKkcSiIQqxXSCcIkKmpPJljJLvVKkIrrJkEeOnaAtJjFWglLSHRWZNGgfFHwWvRrSEDbgFZeofFcRQhOoHUVvXxuJjTtKltTlOoAzCGgNnXSLMmlmTUtHhTutMiLlpTYyGnNoOTnyvjJVPbSERmMbvhvVTtHXJjxoOmMtZcHhwDVCtTLyrCRjJrcXCcaAnNXeaAxXkCcVmMmSzSgGrBbRsyYNOFYSsyEefoHhJmifydDJjRJCcNnSsvVXbgGfYFfpTtelRawdTQIlczZCZelRaArTtepyhHxXWErasdoycqQWwArhtTcCVAaIfvVFDbBaYJRzZXCHRroODOeEoXxcIBVmMDrRLldqQvMcHvCcCcOoWHrniMHhGEfGGAWqGlLgQLlPlLAGgxXdDJQPwkKoOWpBYsSbBePpyoTTttOHFJYyQqjFBRrakgAazEezxXrRSsrRZToZnsSxXBbypPOozBbuUozUijIbiIurmbfFEeLlBMlZRrHaVGgmMnNgXPxXGnedDxRtTrmMCUjJAauWPppGHoFXxUaiuPZTmQUXxhEzZXxxXeJKeEjuNsSzuIddDVHhvDeeAaEjkTtuhHFqQrnofUKkDhGdWwlLOXWwWwAqMmvAeEHYNtTYynJvVhhJUuLlIuUzJBbiwWKkgXxdfAsCECdDmMnNcvLSsTtzWxoOQTtTtQzZUOaAzUuZQqoNobwEgGoxRruLwuXkKQqxMiILlmgeENkElnNLbQyYJjqCVvPiICgBbHQLlcYyCcCvVPpbdSsDqQWiIOMxXCjJXLKgrleEVwWWwEcfIfkIiRryYkKJjCcLLldQGXxRrurRHhZOeEolYTnWWwNnwZzNWhcVsskKSpPllzvVNkSJXxiKAusaASoeEmKkLlMDdMmyOoljKRbyIVviYBdPpDJKhOoLeBbsDdRrgoOpsLdJANpUAavWwhHpvYyiIXaAAmRXeExfTtFrMalvGGNnIiVDVvifFIiZzgaAZJSyYkvVBbRvVfeENLKkWcCrjJZfnNFEWWUutoOThfFGFzjJxXZhqQqWyYQqQMwWmPQpiQSCvTxLjJFfOHfBbvVGgGqPwWpQgqQhVvAGgeEaFfHnNyBbgIimzxXQLlhBduGReTKsSNOLhHgAhDhrvVhHRWwlZQQgGQqGIIZzvVuSsUvZzVKvRrVVvvwfsSgGUNAzZbBBJjbfmSknNFnmMNayYsSzZsTtWwSmssxwWZPalLRrVoOrqRroYPNtHUuKkhSMmbpPPrNnwWRrAaOozmZJfeyYHymlfYBcsrQrNnUaAupliMwpNrmRooDdORyXqQwWyffxnZujJkKFJjlhmZoOzEeIJjNbFfEHuUJrHhoCEugSsYoiInsSDzaCcYVGRXxaAHhriSiEgQeHhEqMWlLAakDrXuNvVnPxCnNPtsLTFLZJCfjJEeRrevtTVkuUKEFVZzFEtTDtRrlPfFfLiKklneQmfwWNKARApGItTijoOuZhSQKkbBqZzsyzZYfFSNrfjJhunqQfqPpPjXWwXKkkFjJCcPpInNwwWQXxkQqghHHQZxXzZaAirbBSsPCtYGcvzSsIiyRwWgGYmjEeZzJPhtpKkYflkKLFwfFWycCXAaZdaynrRNMLbBeILlzBDVKBbZzkvdsDdnoONrRNbMWFvVziIZZJjOozSQqhFHhfMmIZxLapoOFfzZfFiGgIDtmrRIiKoMtMrRwWnNwWrbmMBuOgQLMgGsSRrKBbkKkvsEeStTSsaApPpPbRrKKnNEetEHhuOjcCcCJZzJBbjVpNedePpEKAazvVZSvVGOkKNxXKkcnNzoMmOjQEgGnReEZNncCRrpFIwxFgVDdanuFfFILhAhHaoOJYJibOoqQWwGgkJmWsHhSgGIigdJTtjHESsGpPJQMeEPatTBQjMCcRYpPmMSsSfjJrRjEGDNSjjJJjJAqDdQmdPBkHVnbIiSPpwRfFGgsuOozrsSeHQUuqhERIkmMZJIVuUnyoOWRrwWdDaWwngsmZzswWKdDUNPbznNFfIiEnVvLlhHuULjJeTCqQqCdDcxXQshHhHTtSDdiIEbBolqLXxlHVJjHNKSGgRAaAuAOVveEcEzZeHaAhIiXxxXlKkzZMAeEdWNnJrriginNCLxXlcRMNYFvKkVUIiuvVlLDVmMKsrRuUQqXfFRrNqppPIpPigBbwoOWgSWzkmMSMmzYfUPdOosyYSNtvVgkDdgOoGoGkKjnpkKKnEeAjiKkNnOEenGujJGKkTtTBbBjmkMHaWiLlAXUVvugGRvVwEepPWKUuBbGdDgRrMXxmgCQqcoyYfYCVjJGgvNcCUxZAlVeBaPnTtTiIWSswtidKAaiiTzZTmyYTtvVXxRniIXVdReyhGgFJyfNDGwAaokKLlONnHMszJjzpPSzKkzDdjJbwjfymIilLZzKrZSyzZSsEdPpLloQgrRqfFIikYCFsEeXxnxXZNWnUNzPovLbBlDhHdMmzwWsRbiItwMmWTeEtTCILRruUaALzOSYzRfdDVmWVvltMmRrTtTsShHcCmyeDYydEYODuNUnKSVvozYyZyYPGNwFYpPDhuvVfFSsUzfFSJwWjkqoAaOQEeKHhAUunNNYTepkKPMmEtBbyIiYyhcClXxArCcOQmsSfFkpPKriKyTcAHhhxXHyQqzMeUvXPpLlaDdAxVRhczqgkKyYGUfhofJuUSCYCXqTtOXCcHhRrkhTdrRrRaMbBrRzZmgWSCCcLlnvDTtfLlrezZlGzBvuUVyYUuQqxBPpbtYmxvhHarsYWeEOWbBBbhHOYdpxSInlLiINfFEMmeygjTJjGdBbjcTboOqVvMkKwWfGWpVitfxXVgsSRfoDknYyVmMvJwbBxpvUfkRrzqSsAaOWbBSgiIGbwFfygGYEenNLlLlKDXxFtJewIEePpisxXSSrWwCEXeEiMmprAHkKfxtMlWUVxYKkbBXlcOVKkvccCCkqwaAVvWQxhQxXrRnrnNNvVHhnfFlydDLrRcmGnNafFAgMClnNTUOodDVvsGpLJvfFvVutHhTfYKkOdDNOFfdDrRPREacCAFyHidDTNSWOoVvOoEewgEoOqvUumMvYymkcYxUBbbBaAlLDaGgAEfkvdVkKrRmMfFOozYapPxXbGgYvYQqaARJjExHhRoHPFvzeCLlcbBzvwvKfeSIutTkEnrAaRlIPYlLyrRIgGHhfFTjvbThXzeELlZrNBbrOoAwoCcOWPXCzZNnXxIiRrbBvfrRFXfWHOolLSKkspPRyrUFzeTJgwWDUYyxtfVZBTtgGuqjJEhdIxCYrRwPOgKkqHxPyYpqrIpbEAjJalxhjqQbZzMMzVhHuUWweUgRKkpPrKkfFsFgGCcYyDPmMgGyYgsfFiZBapjnNswjGqxtBCgGVrqQnNwYyWxkKpEbJjYNqQPSETtekZHhSFfszgjefhJjJCGjkPpwhHNqzZlWdDfHhxXcgPpznxXVQqQlOQgPpevVDdOoOfQQqqFBaPqQZVAaUgGuuHAazgGUuzAaHexJjUtBiUuItFfTtTwWaXOwcCmJaAbmiBUPeMmZGMfTtXlKZzHFswSyKDCcdLrRgGqdDssSGUugfbNhYyhzZHLleaHBSxOoIiXqeEkzKkZCvRaCsaAYykKScrWGcCzZNnFcCVvnNnNKhHkwpxeyMzrXoakpHpgmYyMGGBLJhHWkuUYuVonqQYlIWwSsQNDdvkKkBIvnNVlLibUuHhvlLVqhOoLAaEeHhnEetWsJMHKNYYkKDZzdYyGMmCcgXiiIfgGPsOrTQqqBVvZzDnhHgehBbQFfGgzZmlaAyYIypxkOJjokKlLLnQfFMYkkKjbBJKnBsSpHSEibRiVvkvHpCJhlLHxXmnNAKfrRkvHdGkKnMmCCcpPKYiGgcFvXSMOrZzRrRQuUqZEeRmIQKiHPpplLnasjvHEdDCkzcCIAeEZBGlPpLkXzZSLlOochHLlfpMeETttfGVcCZQbVgyYFfGVgGvsjJgpSFnNFffWAallLLdPpjxXRgRlLFwPsFkzCnwTDoMRZYtsSvVnSroOfgGREehHsnNyYyQqYSSoOsgGkejNynwjJWJKkxeEPZzpshHdsSzXxAPpaDNniIWrolLSsNdmwWWbbjJdQqDlbkiIVyBbYsvHxFUaAkKsSqYSswWLHoXwOONuUJSqrPlLpvGglZzLOeeEXEefFxERxlAEwVvBJdDiCOocpPSwWDIipcCiwcCcNnsSOoCFMfFEkLeUXVcCvxMlCnwJAajoUufqUVvuQUuFzWwZOOBbDgGKkeOoEwWyYNIinxkKMLDpaAXJjxaAflRBbHhrmMsSMmlLlbixSTtsCcdaiYjXxAoOOFehPbSyVvllgzNmMnUlZzAVvJjymMYmMRRLlrJjCeEmMFhHhHovVORdsrVlVvgRrZNYyBbnOFAHOoAwkMmKFLVKkxPnikKSswzaAxXZOosXZxvHyoOxTtGfZJlXxLZHMSmgGDOohXxVyYviILbtOqQXoOWwxipPDoOUBAaqUuCvquBKYyubBLlDWNnnbpsSPpPudCBXXxnOdDhNMmkPBtiLlohHCctTRELlfFKtTrzZZtTdMmyYqnfvUusfFtTkrRdOLYdjJSsDtJfVTtvaAiIEeiYDdyqQUBbCQcCDxyaDzZdDMMgGmmfOsVxsSeEnNSJHEelLpKukGEQqxXIosSkVNnfFvcfZzZWhfsSPDApmcLugQqqDUuumKIkJoXxOZzcNzPGgwWpkKvXxGAaigbqlLNUZUsSuMmPwxLTRrzRuUuzLlgICILEdGIbxPRrQEeqOWWoOJjsKkVvKytwWdkpHqQoBbyYZzYyqQJjqUEXGwcyYwWTtCIwLBbkKOkKfFkKnzSpPcpmQTcCMLlKkbTXxriEetFNaoOTQvedQOoXFQFfgGWwXxDvZzVAadvNuUnWwVUCmdSsTiASNEgGQqLZLrRXtWEKMmtJMFursSesSBpBsSucczLnvVNsSlvHhOXrFfSTqPxXsSEZzeBZzhceEYTTtRparRAJMsKkqFwgqQxdDvSYKqQmHWXVEtjJzZcLdMgGmbBDeMchHCvaCcAuakzpuqWzkyTIiaUDxUaARrJjSePpmLfmMIwsvAIiaRpHhuUMmbambpQFUgGdQbJjzFfZKQKYTDESHBJgKmxXhWjJwfOofLlWwbhHBRwXdpPjRrJEDJjbBgYuJHUkMLdDXxqQlmgmdDuUKWSsHhfhBIuUfvVPlFYytTfsSNgGnBSsblmqpJjPMmMmUuQOkBbfEfFiCWLvwgAtfOoWGLYVUIiWGMDAapVvVgMmGGxmijymJHhCKVZVtTHBeEbrfVQgpJYypjuUwWNjKwWoONIFpPPXjJMRzZZEWwewWaAJjcClLQcPtwWNNnTtLTtdDedVNnEevCfFsaBAaIiOPTvwTlwIfjbArvPTtpVvuKkfqrRrjgYyHNNDIspPdDuUSOogMJrRzRdxwWyYhoqktVvLrJZnKuUIbBgGLJtNrmnUqCcwWVQtpHljEHhmMnwoOyLZRXHubMwzZWwqVhPgTHLlRrRrFCmRwWmkOBbrrPTJbBshHIiSjhHxzhCEWWwwpPBTtOLloFOocUuZdrRbJCckrRKSeEsFtSstTfkWBbwwWcCzkKQeDdooOPlSfLVTrfRCCcOChzspLlPuYHvVhzsdxePpEGebBHHPxXSsWSCQOtJSdDsaQcCyYjJIDdiqGEJjkkECmGHhyGajJTvgPbyMzZmNVhScCVegWwMmmMlnNXQuHGgOTxXAeasBlvWqdsxCKHwVvpMmTXHqiXhLNCcqYSsDdyIUdvVDZgIvWScqQUzKUwWuUigwWjykKAdXKVvDdyYnYOomMnqkWwCiCcFnNIifIIAauBbuUxhHXAbRJlTFgzaAwPpwWWrwWCUurLkKSaoOArYMbTtBbBOohHcwRkTfspPrUGgXnpPNuwtTRSsgWwdOPVEenBPfVvEePqQpCJzFUuVunbjaAVpwsiASZzisCrdwwWWyYwTIJIiBNnbjSsQWvTDoOpPWdoxSeBAByMmwWVWqQwmOqQgGvVoMnNuGYyFqISrOPNOWwEeeoFrIciIlwXVvLlunukzZMmCJTpPtWwRueAlXLTnNSshJAlLcNgejJWwEwWLBoOkQYkOdDOoFfkKfFsZaesShFTIYLhnNdZzjlXyYSEMTvCatvVwSZcgOVvsNBMDuYFXxbSsYcCyawWzlCcLwTMGaACWcpEewQsYlbpApPagBnuURrTabBBiwpSdPwMofJurVMsCzplsmHLNIJmOKkoxpcCPUuwZvVzWACqQUuLlcavVaPYchgowGyzZKbgHumjQFfqbBYoJzchHwWCeWkYyoOoeFqqYyuHGIPpiRyxhFSsfcQqejJGDPpCcdBbbiBbQqISmEvIxnAaNEecTehHlEeCiIjCwWJjcHIsSVWwzQMokkLWPGMiImAaOogptOVNnkhPMwwWhwWTKkAIOPUrsFSorWuvjkWRrjFfVvJLlBxXbDsSdtTImshBTtEfQBFfcjJDBHhHVjgqeugGmqWqjcLlmEGfcezxXZDTtdzqQEPYBWeEAiIafuSshgTMzxmMLXwWMmBbWxXWwLlgGsMSspPLiNEpngGzZXXkbrWwRHhaABxfhABbTtaLoOxTCqEeDzUuNniBeEPxjJotLhHJjlwbBWTpCcPtmXpPECTaAtcJhHIFfhUuyGItfHrBbELAalUSsDikegfFsIipDEeXvlSmONnpPHqwIwOopxXPpuyirgzKVvJXXUXtTsybBYKQqRAaVRjDqwWTwGKkIiMPhgGrRvGdkvdAafFwWRFIiuyYUsRjvktTKZzCxXxWIbQdDUzzfUNntyhIfcgGhShHTNIopPAoHNnhYhCoOcsrRFoOkKVMmbXEpHvpPUCYOnCTyLfLvVMeXhzqQUUlnFfNLGaAaxLdvKpGfFCcgvbBExanNWZRFuGnZzWsKgGwpPvJnRrtTSsNaAjTylBySsfFhHYPLxXRrlpcWwYyTWsSAfSshHhoJXLGHMMmmyCciBCcrAaRbIYlLhOoglxjOHtaATFbBawUutCfFbLYtVpPWkSwJjNgUfrzwKkAXeVPwWBbkVMmDlXSsAvVglJjLuuZHxVvEmlFlYtcoONoVvycuDdVHAahhPexqQBvpPzZEoOeyzZYTyYtWwfFfSbBHyOTtaOintsHJjCYyFiHYTxXuFZZuqBiwXcVJrSfPprDUKkuxXNnVKDgVHpTtmgWtQdJrvrkSxuxxjkZGRIYZzUlhHfFLBxXbPSsWiWQNnqQhoMsTtLVxdPxXStTGEKIduaAerjJRcCRFfhFTigYHsSDFfdijexjJBbMTIiOxnNXXzZpHhbIZdNnWwQctXlHFXoOKxxfFfZzFNPeuUqVvQkRrKnIlmSwSsBbxoOlxXXZJjmtGHUFcCAaFbBfwbWwypeNnZECFgeMtTCphHPJQwMzZmIiQMURrEQXxGJvwWhqQbdCbqFeoOsSbEeBbHSMiYyBMPpmbLlDdwKGtTgaAMmXxEeAaJVUwROVvsfCPpcSRupoiatwxOoXEeKkWHWmpHKvoTPiIrzZRpwlKKXxOpPmMmqZbBbBvRrihJclLEeLEtIiCrRoOXiVeMqnNQsBBbgEkKCyYWwHXYrghUoOVvQQwWfEOKwEcCpPbBZjOpPyARraJMUhqQGBkYgWOaAGHCypANnZzXOoMjinlhMSLPZcSuUmvRUjFOoOHhmWpneENAaDsPwDdWWInNNnbAtumMlLUlLNbGeEFYyfBbnNPBLyIiSqWPCwcgmSstCcSsWZABbBfyUdmXxbjJnSoGCzpPsWtTKIiksSTAcVtmesxdDLJDWwHlyitfHKkEAeEzHhSjUVvuJJjyfFYoBKyqKoOblrRXxGzZvVnCajHtlxLaEUrjcCcqQzZKUNDdUsSxWLqQqQCiQmMqcCZzSsiIMmRfOEoXHhxnpoRsiQfgULlWTtwvYbahVvHbIidIiDvVEsXCcODwdYytIiVnrRNLlnnNNwaAqitWMmDhHRcSrRAaIiIsaIiVBbvLGglISQqWPvJtTBNgGUvOofHhZjcFpbNbBvpnNoDyYGrWbBkbBKUxOouRwWSFtKrWCOobBmyRyYslRuUcRZGftLjrBEebBqQaMmUiNSsncKQNmMyNkxUuDaKsSHhkYYyJjJGCcIwpQqPWqAeEaQOouksaASZumMCsGgwkKViGzYyuiQCcnljJHxIQhxtkKPWhkcXSDQwyYVLbSAGgEaHhtDdUDdCcvVuohUqxLvVGEveExzZaAXtTsGgHvnyYVwWxXvvVYBMKPpkmpGVAaVvtAgYpCcPrRgMceKKegAzZEAaejToqcswphhEgXPkKpNnNnDMmHhSZFfyYpZkKZoOzzPpMboOBmPyAaUSZHcocrFRKktvlFsLUupOEqZKoOoOFGgTfjBDIKkizNnCfbwWKkgGecAaHZRrXtRuUrpRRoKMunNUrgGCcMcfhRryYtGgGpHGgQJjqvQWNnmGsSgBtTUueEhHUhxiIGgryYzlwWGgdDYaAWNePpYyJLkuUKhPTqvQuNMREePpnqJjQkKTjcClikNzjRlTbxXBKQOHQqXDrZNnzUuZjVvmGimMdnntThGJRQGgFUVRfaApPFaBJFiWLtyYWVtpoQqrRbsSAScDElnTpOoCqjJzrmxpfivVnkKkJnJGAagPjPUuGqvFRmMhvzUuvkcjMYJIKkLlMXgvPdyYmwsSWgwuvylgwFTaAaTtBbGlLuUWVNnlwWwcayYAsSIewWwWFKofbBFyGgYgGGeEoOZzgMLNnLpFcCiwWbHFwkdfFDMGVvWwDdKutjJThjUysYySGdeDxWQwWqXxrRrYyeEoOFFDrRxXyYdmMHMkGjNvVnbhsedtykqkBqDTtufqQqPBMATtBgGPcCrVyYSWBsSbiFlMEsRraAuXdDduAtYKZwQUPZKAEeUYyuUrDdsSRVmmMERraAlCTgGzZxdDXIiGgevxwhMUudDkysVXGWfQHotTOhSmjPWwrtyCHlLbbtTBsSpQtHhqQCcCcsjoOJBPprgGRbRxowWwXBblLxWSsHhVZCCYyUUuCcbHhjJPbsSFfEUuRUgkKGfmjNMmZTtUuzdDMmIinTIiYykgGewTxlzPplenOosaItDMYgGycuqfxqXwWxDEYyVqtAnzZfyYTIiIpPRtBdkKDlLQqmtqMNLlnPCsZNKSskFfoBbcCKkFfNnlWIiiGgeoOEWgxfFeKkuQOoxtTuUXTtBbOhPJFKkfjQqpLlOoPKDTYEemMklDARradLSIcCiwwPzZpoZzRrCLlgGITtiaAcpXBjJiEegDYyelicxXiGZSslDMmdtTLURrrZtlXWpMmzuxXYynQBGIgVZpPnCCcjvVKikMUdQGUlCMUMqJjQmVvuPaAadpFTtHkKwJjzFCdDKOiegKUlLkRrPhjsXvSoFdsSAmMYXdqcuInNiIkKPpFjTyloDByYbBbKSVFNQZzHhFfHhDEePpzTqQhHWwKTtktRZztTkeryoOooOOYOITbxXQqVvxXPpnNpKnoOHHhqIiQoNxBbbCccjJDUBNyvVYwDdCcdUIwWikbUgGQVcQkKbuHhdCcoOIoTBILlilHdMsLlmJjiIhzjJjzFgXfFYhVXzxSWITtBoObNpXvlfWaRrhakKIifFfKaAkoNYynCcfFcCzWwGLFKkfvRSDrFfxfFXfcaAvVWwriIaLAauZGLLOUuoXxcChHYsBpHEfoWwaJyIADXIBLOoyYKkLFPdlmXMnSspPNmdjdDJoWyYNcLmuElBbKemfWIPKkdTaAtuPpUsIjbQqWEebBdDeaLXroQbBqhHhHGgVMmRQmMsRXxrAajnWwpPooWxOhRrjJlyQDduEgOoGefDdXhVSxXvXxKBLBVCclLvbBBwUuMyYDnQqORwTtsSOodgLlGIiZDWwSXjeEXxuUbfFBNYnJEKsCcqQSrFRsNFfTyYsSYyyzZNnzrrUIiuRmEAaeUbBuOdtDdWKkXxNcZsEeScyYuUCKfSpWfrMmGrJDvTtVwstTNZzYyncCPGvVrRSvBqaAtTzvgTtFTmPFCsxKgbSszaiZKceMmSshVJSANPhIDdkqiMrzuUojmMaAJmsxvVxXVLOolfZzCFfIPpykkWwKcAaCcNgLlDZzhVKcCuUFvVkarRTtMeyYuUEjGgHhchPpHPhVKIrBIeshPbkKNZzymqNlAaBbKXkKOGgMmoPgGYjZUuznNJcCiwWLUuMDuUHhdmMqkKHEMmGNdbQCctRhHohHSYypFIxFfZzyynkhmjOoSwTNhJjHuUlFfqNnQHQAaKxXLlVnqiIiRrLyeEpPNbBOvKcCkUyFRrLlfKwZzgPpgGNnGiIjlbgyYPhPjJQqKuUAMmOxRZVvPpbBAaZzmYEXPWAafiIgwRoOArJjFnNfVcAaKGgQsbwWSsuUIihfFiIZzAEAaVvHnBFuUjJSQTtHhlDdWwkYsWSfhfFkLxFmgzGgEpubIMBRrMmjMxXWoxAmMgiOoSshwIiWeEHIGQqbTuRrtTXEfFhZZCchUvzpAbopPwWEGqoLqvNfFZGCFMmoRpPzZrOMmwLQnBbVvWKJqLlQHhgcGggGjRmMMmrJoOjHdDFdDEJGKspnVvyBePXFfRvWwcbTXPpQgJgGWKkSJPPiIpATiItRrbzISAeEaGmZYyzMpdJjfSbBpPfFGgjJGuSssKkSETtnNsSfFhHvZmmBUuJHAaXLeBPpnNPiCcRDdQuUXhQNIivVnGopmMWyeEcyYXZziMmDHEeeQeERrsSUbzaFfPpAvFTXusSdGjtsScCEZfuRYrhgGHhkKTtzZwFsSxVTtVvNnngGNcxDdhiIHvyYVpaRnRxHtBVHhJticCpieELaAUuQLlqNebfFBxXKUisECcFfFkVxXWVZEZVTtfTtaAVKkVvvphOrWwBbXeryVyBrRtTGgAyZfFvDsSVKhHiIFerRduMmHhcWwtTAaaRrACXyCKMAaFfnNVsSVQeGsvVntOfFoIOohYfXxJUujergaAGpooOcCnoXxyFKkwWUVgGlLjlPgSutagGBbAYLzZZzRNqHpPXKVvoCLxyKkXoOvzZuyYwLmWwTXFuURrhaRIiPIxXJjQqxecRFUufsSsWEjTVvfsSdkyqQYWEaAefFBswoUuGgQNGgnvVZKeEFubBVPxXXCcWjNzZRrKdeEOFAaRrrGvPpFTIwWvPIiwgSyYsFmQBtCJcCsSBbQEerRqAaDgtXqQxJlLGYuUItTiOoisAaXwWPDykKoiIQqbBwowySRAVCcXMyGFfxXgTEeXbOwWoVvzZzIiZfFeEZgLfFERFdVNcswGXxbBmMkKADtGUugHKxoQxUMmucycsjoOFOHFZzutRrVvTQZLsSwWHhqQlqQCHSsNnrujJvVEKkmZRrDdYdDuUamMCtYktKkTIRMqaAoRAaaLmMHnMmAaasZwWHbBGgdyfZzWntTsSEmMeXxKkwjJWgPppOskNunUdoMyYqQLwMvFrZyOGgosotTZllwWeEickKBrSYCIicyZVOLMmlpZnuNIwjJWiwbBnflLFzfHhFNSfcyLldDKQgGExXeGCcqOTtuULlDeBdiIsSZzDbSsYszaAvVRkMYFBbJWBQqqQZZwxXWTSstsZJJjZzHIihjZSmzxXZJjSshQqWgdnFYEejmMfHYwWZztTgGEcCIiQquUrDeEvFfxNrSswWMttIInNkDIfFNsSpAbErRvpPLarRzXtTubqtTQXxPpiIBeEncRrCcyFOGQCnNcqDdAaGgkpPrUuxQUuEjJeqaQqIiIwgGAmMhmKCcMJHhiIblLtgUgYyNojJIJaNfqQFkPWwjJNJgtTOOcCoKGTfuUFnnNOAarRjAiIaJoDLwWCclpHhuFxaOoAhHXiInNuWwUyZsKZwsGGXxxXuhHyYoOUPQnGgOoSCcsxSkIivzZdGgUufynmrcCIGYUuyIqQRRjOojJwDJjamzNnZDNndLHhtTvVCoabwWBUarpPsknhvhLFDHhdflQxXLRrEeOecSstElNeoOZBcpPmMCpnuZzkSMYylLSGNAzZwYNBbvijzKiZUSaAOorWmMsBTtNvhQqxXKbpDMaVhyYHvsnbBfFdgyYeJFiIxXsYyMmWwyYGgyaArmBbVvJqUuQoOzZqRrbApmqjpCcPgehmMDGsSwMjBbKBzZIjahHAyfFjQqHlcCiolLOfUNAvVaAvGfXWvVifPeEzrNIieeEqJTtoOZCnImNlLnMiogDfFdXJjxsSjJoOymMYTtoOskDEeEncCPvoUkKevVTkkBVbPpBpPsSmlqGoURmuUTmyYOkMTuUdPwXxWAlXzZziEegsSGOjsSJoWwHsfwmBnWwJjiISbZifFtTElmoOXxjJYADzxPTGgHpMyDdrYSRrsZYywjoOJWVCgyTcpRBbMUumIzBbqqbBQhGcCrRKqWifKxKkxzZJEuUcCepbBVvQFoONUHvVFRFfnsHzUJIiGggzZmMPaWwrakPpnpMmSsPFMqEJjNFFfpsSLTdAaeNnfvcfFjqQzlccCCftlSTtFfseEzmQqMuDHhdUuUjJZSqQlLTcCpQqTtyYcAaXpUJBbjxSscCTtzZRdDbAaBdKcCwFfmmMGpPgGeIsIxXgpPsBbSvyAJjKkZdNOyWwGUfFecORrhHRjheBniMHLfZzUzNXsSFFYxbBHhXxYBbroOoOOoHhOriCcIMRnPWwgGWmpPILPUuyYlLJjRBbqRYvVqQySCbxXyFLpKkPMYhgxnNXGEtSsTTWwrEeRtFCcjzMmMZFfRpfFBGgsTnpstTSJjyOQHhRoOvlLAsSpzvVXSSMJjyYAHhfKhHQqsMFoOanuGgFJjWLlLlVdCcDkiigqqzWxXYynNwLnNHdHaGVYyvlNnpPoYEeynktEriIgUDbHXxqTtoOZMIiGQNnrReErCfPpFwWRrcRquUYhAeiIApPaEnNrRaHEHhevGjSsTtJgVFholXTZzxXttrKdDkRzZjJsbBSVcHUuhsqOoIWwPqpFfqyYwQHwQqWfSsAagHwrxXRwerLlDdRzlLIIQqiiRwAaxXlhHnFrFfKJjsjuUzGIiIddDvlNnLgIigVLUuAaxlLVPVuPnQqqQajDgGllLmFfMSPGSElHkWwNnjrklLSsJLYQWwHhqQqGguSTtsUOhHkKUakIxRrFfXjszZKnZLsSLwWQqSvCjuUJHwtyLcClLmMGgEezUgqDlCcoOzZrRSmbBMsfFfeEwcCCcvVWFKoOFiFOoChDdKHhrRnNkHvVejJvLZzaARLlgGGkKkloOPbBpxKWwkKkcmowOoBPpOoqhgGGcMmpxXcAaRrIiBeaAKnGSZzsUWlUXOexQqsSXWzbaABZwWBOmMnuuUqqtTXwOoZCkKclVemMcSaFUuYdOoDyfFTtSsDcCGIjNnuUZMHkKIihmijHHjqQwWJjcCNnBbTtyNmMnOohaVQaHSshxoDgHfFducCFONRflmfFMLESVvJjsepPULlsSgGKJEZziUZzGgZnUJOokjHhMaAcCmmMHuAaqMtzpUIAufOHhhgPwXxcTtNnXxXENNngpfFMLnNuUeElmpPxnNGLlvAjJhzLRUBxXttTTiJIuZOYyuUZyYyYAaYcCPpNztToOHhOtTYzZAayUutZyYXAXqQNBbnxaxGKAaARXxOorbmMffhYEybYyqjapaTtsSAwaggGfPpbBFgFegBbeEtTQFfqWwmIZzNRVvVvIiyYhwyYVhCmVfFvbwWiQqinNICxXQqfFWwyYcCsSvcCVdbBhcxIirIijyLlDVvBbdaAVvAdivZzfFwWHRaCYODScCLltTARnNRrcCeEewYPEnpPNLEzlLLiqtDWArLEhHPtTBbyFBxPpwWGgfNIiyajJAYYnNynFUDduSsjriILlQqbBYFIRrMjDdncCZsMvvRBbrVfFKExkKxRYlQquUcaAvUudWCOozTVWwBresBCcpKkqvVQsSFfYNtjFfJbBICcwWiEeMmkKTtgTttPXxlLISmMsmVVKkvvVvMsxcZaCffhHFFYycLLLlkrRqcCrtTfFFMmfCuJjUBbdDoOCcEeOEdDzDdfBuUaAbGBdGNngesVCchnCczwrhssSGwfoOQrpPRRraAqTlLAaAaNoKjwyYWRRBbtTOoisSXxlLjMissCiiXZcCxGgoOkcXOoLlAabfjJEOFfGgVUCcuMFGTMvVmJIijyzZTtvOoVZzvVbBmSsleEOobTXxfPiYyJeEiIEecSMmQcGvVPzZGNHhCcOjJuEkgGzuCcmDZzvVOLloALxdDDdenjiOtJjAGgmunNmWLllVjJvRrIkKhSsayYCLltTCBbVvfqQEaHhXsSpNfFjMmJyYnxYmFfxnNXMGgTtsSyNnhHWDiIyoOYyKIiUMnWwnlXUuxBbVOUuoMluULeEmXRjGgJJguUGgxXJjwSOoVvJjpPKMJjhUuTkjcJGGgxZWwUvfiISCzEuFrtcCezNfFRrGosSOPeMOBpFQYyqzbSsSsMTdDtcCmPEeMzZmjCcduXxUFfTtOIiotTcCCJCMsJjLvVlCcEJmyUIJPpeAmMnRrzzZuJuRQqrRaArfWSsWOokKRxMbBmuaAOokKolBbLrlDdSsFfBMoWSOoxXsaAmMpPwOCcMTAbjrRJNHPpoTzWwVrRvIjZrpTWeEwmBPQQqqnCctZzTrYHhyVPpWwIiwWsSiIfUYQkOoKAvlgGwAILlBDdbFLlrRFUuBjjhtIiJjTHyFHhlLDdoLikKPpxkKXYWwaXNSFvnXxNVrYcCyayYAhHGgovVPbedqIJhHwXxWDLlbBzZBfFuUrQqaARbtTqgGQlLRrdDdXNnCcxjEeFfoOaqfkpeEPKFTtSsoJtJLGglNnmMhzXVcCMcrFwnNnGgSsImUuyYUuGgMfFPMmpMAGgdDawtTWmiYyeJjEHhnNCQqQQekfFKEIkxXEWyRrzVRrvhHLVvlUIgGiuBzDuuUFrRfJvAaTdDrlLYevDcCnwqnXlzZnNnuUcCNkdlLKkvrRDVvgIRrnNFlLVCcnxXEeNpyOqhyYrRDarcCuUoORNnsSfhHeEYJjHyYnkKeFNGgJHaAIiprRZjpPkArLlrjUGzZgEYlvVSsWOoZmVNhHkYyTtKqQEeueEUYtTMmXnEeNPpvwWdgSvVsGkKbqQqQBDFFWwtTipKWKCLlOTtTwSsWrKlzZrRPpbBPCYCcyZpPzchHEaAvSsyMmJUPAQzRUqsEDfgRroOHGhqQKCxXclLkHBbljJXjJFIwtnTtNpAazZPrxXpxXDdkNnsSQAaAPmxXfWxTtXlLwlfSsTtSUMgYvVTgGtWwhHgGqeEAGIOoiAKkxJLTyYiIZHtjKkJzqpPrRQPjtyGNcCnhHdDrRIpZzSNnxnrRlLoONXsTtsSQPWfFRuUNQZFjklLppGUjJlUujdjUiIyYsAZzaCcuUAahHEeAaQqAUhexXEFXXWwxnNnNOoruUcLbCoOlAajrRJDdYyLcBlvWCOoEeAgvVvTtxMgawWSsAuULACzZcnNEeUtCSgLlzsSZGsfWwRpeEgGPwWIieeEiIECcbEeJtTjpNnJZieQoyCcUuBbTtYlZzgGLcMzDdhkxXKHZGpPaADfFdaAsqQKuUZuUuCcqvgZhHaqQydDxIIiVvlQqPFfSJqQhfFSTUqQucjJCtBbUPpIJjeLMmIcCiiqQvZDGTtyJBvbjHhDrRWedstTdDGWwgnNeKDdlobfFBOhwWiGgIiIyGgYLzZVCupPBbNxSlLsEsjwnuUPmMyYVvdUfFCcjHuUiIrkXFYyfLyPpYlWVFokblLBBSsbKZEBPpakajJXqQGSzsSZiIsgCcOBbTCvVmOWwKkpPokPpQqdLvfFTKPpqksIXXlFfaAGgMmgwgGkKacuURrCypPDlvFghcdnNwFfzfPZqQzFughHGGVeVvyYvmAaunNUkvVtZzMfypVvZlLhuWwUGzmBiIbiYqQxXjFVuUbBEokKwdDyCxXkhhHPoYUuyYWmMAzZVWwkQqnICOowWuBfFbwWXxGgAKMGVUwsqQtTqoNLSTlLtRtTBUDeEOojJtEOoeTdrRCGgRrwnsZzSxbBJAKkNneEgWRrwRrolDPShHspfuUgGcLLDmOoHGiIFvKkedsxvVXvXvVKkRrxOoBbbMqIiBbbBGFMmVmMvnNfRrMchHMgGQpZzMyCcYnNGgvNpPpqZzqUuYWwlLPvVzlLZxFfXbeUBbaAuPpPnNLOolyYlLTyuUHhkTtUuxgcZzoOMmgHpPhLITKGgktUupvVvVPBXxTfTtRLlcCrjJKpwWmzZgwMmkKvVxXIvVDplROoeqlLdFfDQLaAwhHnZzOHhPpZLEeVtTvWxZzZQqcCnNAZzddDBXxmMigGVecJjVNUBXTxYQWGgwvVOoqysvVAYWwUujAaJlAEAataAVvTBQXxqRrbmxnYdUuFfjJTXxDOoBqQbzMsQgGbLyYVPbpPTgQTlLeUuEtRrQSoOVvNWUuPMXxJGqQgTTtLiIlJJpPCiAMPplDdbdxXeuUKeEkYyEYyjJZoOQiIHhYyWCcwGgNujJoOwWKkkyYfFSmMmMSsFuUNGgnIifYcXxfAaFiRABbjJXlObBeEozFfhuIisSoeEOUuMmiITtISBPpbEtTFMmfmdDXxinNIUuBbyWwjWwJKkGQyIiVvYKnbBvTYVvuLnNrIqwyYcCjxwhTuWwUuYBbywWUkeScuUqjlhxXgdDgfAaqRrQsovVrGgdvNgqQjUuJAaEOYypPoNnbtTtTHHROOoiIiVvUJaAxDdHQiVvGUEeuEeYyjJsSZzpuTtJldDLCVVvvLDWthRrksIfckKuoOnwAaWNnrRvItLlTtTAgzHhZbTZzrRZzgHhwyINHSfvyYtAaUHpPuatTAgQqOoPLKcCDSTeEFfiIsSFNPDdknjCRrdRriXgGwWxQeeErbKbBkBAacnKkNCOhhHHcCuJlYdzPEaAeuFsXVvxSRrfUDdwWeKkvVrRcOLFWPpEewCYtmMqnaAMmNhgGAwWaIiHxclacCUuvVAgGVXzPhUOoMwWmdoIjJuBDXxWdDqQePpEwFfeEZOnNkIXxcyFAafaaYlPyBbvXxAukKfmgIizZcZKkWwmPpaAcaSsALDTtfFXxYxFfNFfsbnNJjBqevTtLlDdLldDwWSkKYyqoIiSSsODUuIMqQwHkKajJFfjCcLlOdDGIiSsGggFvVfoGKnNKkyYJuRANHSsqDdMrRGgnNEeMibxKDXxVhHqxNAaaAnqQWwKOLlokNdDpcSYyvVedGkKIjJDrhHMaAFoOfFfwWCPpbPphHBPTtpcwWqHhKEeXxJjQqAzLmePUeEJIcCHhiDxXdgGIQqBFfsSidDcpBjgGpTMDVzZnNWRDddDVvsSeNAbSVVvLTenNEKkCcvJOoepPiIiIjJrRuSsBgGbjMhHmjJgmivOopIincCNdnNcLTtlCklCcxXovVOLRygGeSskKECQqcjJPEyYeaFfubBUMnyYrUuPpmMSsRNPpnqzZduUDOXxoeEKayYEtDWoOwdTeXxdDkZzLlrULZzIigPpVvGGgwWlNrRJhHjDZzWPiIUuUmyyYHhctfCVOovKVvfbuUjJBFjueEQEeqSdDjUmGbBgGTteLlEJjgUmMHTthEiqQnNTeVvoQqdiIDDdfBbrRnMmxLPplCbBcCZybYaBRukKXLRkFfKryQmiItDdZzsSsSiIFfRulaALTDPpRfTBOohHSXxgGfFZzBpfzZXxwPpdNwPnNpbBWvBbdXxfFDnSrRsRsSrZKkzXEexPpfFOaAQqFZWwLTtlWhGgAyCiIFDdZzbCcPcCpfKzZdcrRByYbxAaznNZpYyQdkvVTUDtdJbBDQqNnValLlLVvAtBbIgGoOiTvdjhHDbEeUuCcKznrHhQSJtTMYyNnmPTrRBbPpqQeWEKPpWNnQLOoPpzicAXxzlBywgDdOoQZKkYqDdQvVvVvVPRrpPZVPgmMfsSFGSjJcCiSEeCcdIpZGVNhqnNQuUHkKrmCcgAahMmHGZRrzmMMeENsSZzjfFRkKknAsiDSmTMTtmLnNfdDIicCwvVfAnaAfFNmpPHhnmFKWUYyuRroOFfwCcTtrBbRgPptTJQDlokbUearRJjjAkMmKlIiwiIWKkLaJgdDjJTLlXiIBdKrQsZzbmMzpPZBSUuYyCcpjOoTsQqSogGOgceeEnNwrvVRYyTtWJqhOojJIYyvvtJjdDUOgxXrREhRrMVvmHGsSEesgGSgQiIPJhHYwHbsSBHBhHuLlgGijLlEeJXTtcClLZzXbaAHrRhFEesTtpPzRUMmQZqQDQqgGYVvyCGgadDBbAXxNnhtrkSmMsIzPPpBbDdoNBbnBbNvMmVnfUHhuFOoOpQqRgNgnEGgeNKkjEkKlrKkqbBQcCRzZqoOQLeotohVTmMtEsuUHhomMTZzcBrCcRfRYeEyDBbdrQgGaIuUqQpPhHXxivVQhHeEJiHFavVMKVvFeEuUlASsYkiGzLlkEKkeOoAuoDdQyJbSuUscziIwfFJgGLWQdDNnVvqrRyYymKkZzWwMFHiInYyTvVXxtTtfkKFUukeEKyYIijiSbBlwWGgRTcCpIqmMQvViPOyhsSsSHqeEQYyYARrXxauUHhrRKkGmMgZwWBbZCcIYZIiLlHVmMvnFFDpPtMoODVvdMUVvuQqlmfhHFepPGvVNnRrEegFnNcChHnNfNnOhehHETtHoHUQebIixeEEvVLBYyTtefhmMFCcfrRlLuUTTtAzZvTtrxXdVCQqcHhvPpDeWwCcHhEgACGgjJFwWecCBbEfMYWwwJjLFflZbBjJwWWfFTtNhHnwtTwWfIoFVVWXJzZuGYlLZzLlyeEpPgQqUDdjfYCGgTtIZzKyYDNnvVkKfblaAhEFtiwVvWIUuZtEemMVvYytEeTTkpPlLRAarjszZYyzNgJjGpPgFVSDLloOIinNRrloOTtJjbnNkKBVdDXwWNSsphuDdUHkPpBbnTZFrVdDfCcFvCcbZreoTEemMwWJeEjEZVvsSAaSFNnfyYzLpPWzqHoOhuUQecgGfKkFLWaARrIOoxXyswWxXqQpNIisBswWAaRrchHCSbXErRwXxWeiIXrRQcxGAusSspyYhHMmPBbIkvVKGgZzlLvVuizkKvgQcJHhhHjRrymMYEdDeCOZQvVdKkDqkBbswmMWSNnZjJuUFlIuCcFWwvVfUpPiaPaOZBWwbGgzQiIqjmLlLIbBYVvyAauiIdDjpPJDdiSatTANrtkKvmEeuUiIQqVhZqQkgGjmMJwrAuUaFfZIizYytxrtTRrCXcCjJBbsrhKJjkHTuURrtjZzEPZhHzpalLcCTuUQVvVIpYWAawfFefiuUIFZPpzsSEFZgGwiIWzBAtWEewpFHhfPKDvGCcvVOXxoTJjezZPpEHVvfFPuUnZzgVvTtamqQiFYsUmHhsYRryJWwIjsSjJKXxOueEUokKENOQqoaAnZzIRsSlrRWpPAawqQPpLEWwNnbBcCwVOaAoOozZvVnqoOIitJudiIUALlSpaAaWYysSmNXyYxiIjJuZGgaAEaTVNnuUAaNnBsvVZGgyYqQwpPiwWAaIDBbCcdQqcCDxXdqQGkKsSmMkXOoWUumMxXeEJfIKTmMuUxfIiMVvMmyYCcoBVvPppPbOVAhEcCeLqGOceEOonCMpjJkKTbBtJDDLwJEewWiFlLDdXxzfCJjYlLXUlgGOoDdkgGKhAaZiIzOvUuRrQqrQGCTtcKIQqihtTiIgHhGBbHCcMKkGSeEFfjJsSsSsCyChWwHcUaNCISsiuDaWRTFbXhHIiwLlFYyDYHhydfLsqQrRFxUumKrRmzwDdbfJjUQquKkFXxdDLlRrWwNLbRYyXlLTMpPpPQqmpPCcrsWwrRSggGwskKmMbBgMmwWwWGHhSiIrRWwmZzMXxWGsFfptppNEZeuUEPpfFpqLlEEONUuFqLTtAalQfsHedlmMDRCcLmMIiXgGuXxUCoOWkKIiZNuZxXzDdSsYKfFMmQqkzZRZrRzryHBlSsRQhxXHGgKQqkMmSBHQqdDOasSMmAohVRrvtTTtIwWwWiwdDSsdEeHZAatFfWgGwTzElZJjVlbNnwdgmKkMydkKDYuUyYGvgGkKVEekKrnNRCjJcAamsSMDgKkhPRXxVjaKKoOPHhXxnsEeQqfTKkELlFgGdBLQSAaszpFdDVQxXqvVQMQqeEVUuOoQWfciICEeFfNnGbbBBduOofFFsSBbqQrRfNBbnUnCZzczjJjLplLdDquNnURrsSdAxuUXtTaDtrRTKntqQUuTNknHEkKFZzfSrXxMSrRsSdcPpbmMkKTtBbgGkHEehzZGscCBiIbjJwlLIiWPpSNnIwWieDipCOtjJJjVTtUuLWwlrRLBblWMsruHLlFfhniIkSsmMUPdDZzwBbNFfSWEefFtVvfFzZBbTdDpKBsSmMsqPpWTCctqKkQSBbBqNnfDdFmYymMcsTtyYbBskKuUQrNKknyqOfFouUBxBJcCkKSUYTtyTQHTHhtXxATtUTtFfoORXxuiIUaeMhHHbzZPqXfCcvVgGFrhjJOaVdkKXxrkdOoDpPLfBbnNFeQqoOxeTdbBDtjlEIWSswiZQZzqPKkXyYGiIgtTQLlqxIifWeEwTtiIsSoOFGDdSQqsVvuNTtFXjJxgGBNAaYeEExXlLPpYyHPphHpOoPSTKBbxXzZfHGEFfemFfBjSOaAQqajJsSjZqQBblLLlzdDhHIiMDiDAlEyYtsSRoIpfFrnNjJRPlEDYWgGwFTtpPgcKkFfCGjJnCPasSALtTVvfFnkTubcCBipgCfuUFcGSslLVvFAhHfFazZfFfFfAdNnvTtNoQqzZDdOjCcJAdBbqQnNdDDYyODNdoODndxzQqZBvPxXYyGgEepVbLXxDdZdGVCQwWtTqcoDYzukAEeaKATHhVsSoOydKLlkYyOoLGgSUuqkKQsJjWpgGXfFxJjlxYyRMjJqWwmMyshalGgLAarRAkKHfWwrAtGXxbaVvAMmaTtgdDGWhBbHwoOAFjPpJfEehHGgVAIGoVBevVZzENncCLlpUsSsSuiIPMmHhTtCuUnpPpzQqZipoOcczZCLlYbBypDyiIqQRLlrOocCBSqQqWwYmMEeyylLYjfpyYPztcCyOoYgGTyaAYbBIzjIXnNxRVvrRIiiiwWIPpgTHrRxUrRuHZzKkfcCFhHhpPyYNnnNjvvVSsVSsOoRSsrJHDdLrRlfFiINnUjcpPCHqQbBGAaGgMdDAFcCvVhHfGpPgaxXTtsACsSsScjJjJsSaXxPpqHXCcwkKsmMSsIiWnNwMmssJcCdDJIiAatTjGTtcRrtuUUiRgiIlLGWLlsSoOQqoOwrJJjdfHXIzZuGMPpmgkfTrRPIiSsiYyIUurRHhJvcCeEVseuiIvIMcCnNmgCxXcDdVvgXxGWDtcCTOodFfCMXpfiwqYjJOornNkthHhBbHmOoMKKBbnfLEeaAovFfGghHNnlLweEjvVmMHhwWgGcbBCMmwWMUpPuljmMJBbJjLLjvVhtTHMmJmGgXMpPmgZAFSsHhfoOdFfDnmkKjhHJZPpBwWyYEeOrAaRdXUudDqQIistiIYyTSRcCrsFIpPpPTTPBZzZzpEefKkxsSXFRrWwnpPEeTFftlqQOosdDSZzLImMiSsdokKOIOJluUWnGIxXjzWwcPpBbFfCOQPMmpiIHzZgABIioECwmMEeWjJoAJjaoxXmUUuqbTLWwKjJkltbuUGgBbBgVvhHWxLGCcOoggsSLlGeaKCQJjNqRRGgQqlqQiagGUBbFsiEeIuRQqgaTtAPpMEeVQPpfokKpXxfFcCbuMhLVzZvWwlVKbBkNnPHQqzseESiSCGgPsfFsWwSYyJhlIiLiIrRHjuwWUfsgGEUuvVAsPkKaGAaqQQqgAWwpiISTtLlkaAKTDdHhNnSoBbYlLGLlkKgQvVEpUEeyYUqQuoOrRsJjHhiISuUpPyEeYQFfquNVqQvvjwWJOqydDYpPDdYDdwLqurSkKEMyYQnpKfFHhzZkibxXBIyYJCcjJhEeGrMZizStGSsdDOOIQqqkvVsiKBpPbVakKgGIXxijJTtXFfUuPvVxhZnNHcbBsSChGbBlLNRrnDdjUuoOmMcpqhtDzwYsSfJjPOEeksOoofMmFOAKNnkjJaRegGEPocCOMtxXeEEeiJxXCXxcxhnNtissSdDsJmMBjfpPVvVvRTzHhZbBQqzZOoFfOAaRrBbeiIEfFBRrkJjKZgOosSGGShHsDdoRrOSsRrrfaARpxxXXJjPpPMBSqQNFfnFqsSyYNZGEkKLlDmMEeqQJjgGdDpPBhHbKksBbGQqvTtgMmGozZkKzZAPkKlLpRrFhhHHfLlIKSsoMgGgGtTnNmvkKLIpPBbinNmJXmXxOfFhfFCcfLtuUTrmMwWRlgrswWlLlLSYyKMmIiRrsSSskYgYJjyHhgGGeEprRPpErRePSsoOjJAaSeEHhsDdfAaFRWXEBbyDMmjQqJdLlYmMRhHxbBkcCZzkhHKLlcCBbestSsAKkgGMmDnNSsqQlLdaxPyYpFfXpWwBVvxypPYQyEeJjQqwWNnYEeJjAnAiKseErRdrWwvRrhHyGJNEeyYCZxXzHhpKkIiqQEerxXihHxiIXpuUYcCoOyaAWVPpxWwQjJHhqSsNYyDgGYysrRmwWwWvkDdFHdDhGgQqbBnnZWOQqowTLSVYGcLJOoLlbCXxyRyHrXxTNjCcHhJjtTgGhoOdKkrieEIDdRClLAGgTlLuUtaLOolrRJjoOyPpBuKtzZqQTUpPpPukUYSnYyraARIiKkNzZsgFfMfFmRrRfxyWwYAXxabUuPQqfFZdWlLFmwaAaApKkPWKZzURrkAaeiIETMmMuUTtmtxXHhAdaMmfOoFYseTXxtUubqQtTFWOowfgoOGUupPLliKkYDdysQqoNnOrRcCbpPXaAxVvBDHhoOZhHcCzSsqdDQvxsCQVvnRrNZcOBbqTONnXRrPpOoxiIaAJjUBbsSUuNLLllFfoXxOGcChHcMmLtTeRrLlGEeglZzpPNisSITNntvVtUuTvbuFfhdqQkYykKKXxDejJjjJoQqHXNUuGXtNnaJjeMSdDeEgquUEcgcCjhHQqKoOJmjJCcZysSYlOcCoHhLSeEaAOfxXFoxXWwzZPfMmwWQqfFaAIioOEeufFGgFfcXGgxCEZkKVLFfyYlUuvtTIiGgiOkKUrnkKNlLIuUYmMywTtHhKnULluNkdmfFdqIidYyDQwWeEoDMMOOaAWwsSoeMWwDddDDdxXIizZrRJjavVENnehHvHhbBKPIiUuTIiWCcwWHhuqQMmyYIzZysSYiRrmFcCfFfRrMcKhHkyziDdIyJjJFBXxblLBbDdFsvVimMgcCGCOWwBbRFfeVvEYymeEQqMQqiIUuHhkWcCTtuUsSrRmUuMVvxVvfFXTgPpxXvVsUuSRrRShHHPmyYMpEeLlrlLiTteEeXxwMtXxsEexXqDdUuUuMmGgZzQhhHNkUpPcXNnxdDCsSwoOWjIiShHsgKjoOwWmMUXGgxuZzJjvVzkKnISUuMxAaXmsiliPwGtTgWmMwWJKkkpPxmMXqQEKXxXxfenNEFkMmelLvIiwgGyYJjWHhwyhTtHoOUTDsxXmFfaFfCcPpsBbSFaSVvsAPpKkxXyYtTiPOopJQqoCqQcSsVJjWwjJYyWQqwPppGgPNfFZznPjJpywDdcCTtOokKLlJwmMbBcrRCzRtTpPAarZSyYYyeTMmqbBZzhHQqHhdKkDychIiHLyYJnGdNQqnccCCDgJiIfiUXTttWwKkgGtTStTsXrRxmlLMyLPhHplJrBbtTZzRGjJlIFfioOcqQCLlSsLaNnAcCmxXMJjCHZzNncwVYyoOGPbBnNBhCcHtTzWwYyZzZHTthlLqQCXyYylLbxXBgGzZclCxXohHOnNbGhoOwYsSCBbYyXCBLlwWpdDPFfbcCAhHaFcpyYPiHhICFeEEzZcCdqQPmWwBblLMAaeEgGtlazZeEwWrrRcjJCnMmMmQqAaTUuEesSteEiuUsSxXPpIOhDdHoLHKYyWaDFfdAcCNnnNQgtuUTyHhYkZBNrRxXAaRrjJBbtTCcOokKnUuQqZzINyYuzZhkKHNnWwuUrcCRUxXGLlEeoOGFPpfwWQrlLRnRrNlNnxXsSLcqMNnmQnZxrRQqIHhiIiTtXPZzWqQwKfFLTdziLlDdLUulIWXxwweEbBWMmZDdmMDFnfFKhkKHWwIigMjJqhHPnJjxkKXdMmyYmWfFCWwceECcqTtRUuRrmMPjsSJXximdDsYwWyglZkKLUulzKkFkbBLYyxdvVuUKkDIidDSliILsnWcCwNuUXohHjNnJqQNlaANVvnDEnNvVJjQqPpmVoOvyaAAlYyLacCNnnPXFCcTbBIitfrcCexXElLvVweEZkuyTtjHMmkmMrRMmcnXtxXTBbsSxwWZzdIiEiIAaHaAhHJlLUujWvVbBhaOvVLlBbIiSspPopTtPcCcCBbVmMJjvEHyuUxXIiJzzZkKAauUtTZnBEedDbMWQqwmsQlLqTtgPpdDKkGTIiccamVvMNjAtToONxXBbCcnaAtTHlsSLmMCcjuUJHhpPRsSrTtBbAcxXQqdDCEepPayngGNYeEskbBRrRBbILlNsPpSXJjvVxCuhDdzZuUwfrRBUuYybAIAaivVcCGgaGTtgxTtXfvnNVpSsGPpHhgPfFmMFkKmtxXkKfxXMgkKHjJhGzZaAmGtNOVvCcrkQTRrtqKdDLltTeETIDAOoadDnnNNPpdiUWqayTtYAkKTtmMkKfFUJyYwAaJPBFXlLGTnNlLuUtYypELleewWaAjJYzZysVkpcCPlLqaAsoOkBbrJjRKMscCjJSiGgImSoOuVvmMCcjYqgjimyYMILlJMmEebRrXVvxiPpuUIJjYyPYypIiYnNPIipdQqDyoOVKJjsSkvGgOobWwBVEeFfmMIBbXFfDrRKvDdkyYKZzdDSiIOoWEBbewQgoOBKkaAoskKSFfEaBbAoOluUtTTkKthrgGRwzZWAbBalyYVMZJjztdDXXxxTmfFSsSsaaAoOrRtTVvHHhgGRriIhAKFfXxqQkdDOolLEeTtWRfKkFrwvuUvzocCODcCceECdXxsSYbBZzXxmMGgkKTqdDQlgAOoJjaKuhSsEeDdHKkFnCcQqhNnsSoqJovVNnVvOzZdDjJMKkqQkKIizZXpCqIiQyYtTjKkJjJqjJIIimaAMSsqCcQEeRmMWwmMSjoOCsScsFfSBbAaoIiOIljJLiJGgAadcCAaPoOoytXyYjJxUUugGuUNnnDdNIRJNdDyYnrLJjlfCcFLlAaMmRHhBbYxXyYdkwWWwCuUcLlJjEegGrjgGRrCBbJCRrMDWwyVfAaFRrvLXJjxmMkgoVxVMmEnDTterHhVvpyYBxXtdDagGJFfjAHhTtwWUwdDWnNyOovHhVTmMbzjJZBnjJiIPRrCctTaAUuICcipDdjWwgGjZzrTOotIiOZzoWwEeXnNxMmBQgGjJOxXWwRodDYyOrCKkuUgAamqBbewwSsTtGiuWwUvEgGFAapPQqiIfMjgAaGbBWwsSFfQZXxsSOoZzWDdMYKkNnpPXdDlLUVvuhBbRruUDDLlzZddsSxXwWjAaJEeBgGbfFGgzZHMmYykKZlLGgXxsevVaAvVwWUuWwaAPhHWwjJhHJxXiiIIjpxupPUPAapRrZhHSsGgvVzaAXItThAaKktTxXjjXxJUFvVuUEewWiIuUGakKjJdDXShHCcjfGgIYSsTtyiQqFJGNngsGeEMdvVDmgoIYyJjUuiPrRpCchgTtqQGHUusacjdDJCcsSuUpPyYjJVvMcKklLQqQaAnNsJjSoZzOLlzZxXqQqvVRYtbAaBbBTyuUmMgGKGglLciznNZICdDuUkKNngGKjJdDHhkBUuiQwWfFmMcIbBXxiOcCgxXsSqQrzZLfFlPpPpmMAEeubBzZGfnNaMmAZSsYEdBbDSIiBnUumMNMmbsyVVvpTtPwWvYzqQnAuRryYHhUzZOojWdDNtTnPpuUwAaIiZOoZzLlQqbbBrRNntaAqQTvbBqbBKkQGgOoVqgpkhHKbgcCGdDZvVWwWwsKkdzZMxXUuzZvqmMQVUumDdJjOqQiIoQEelLhfFHeErRCPpcqaAaAfUuUuFTVdDHqQhAauUvKkpIiPcjJCLlJcCJjwyYGgrRRbmxGgvVXcCoOyYxXGQFfDOZzRrlKrRkFfEnNeNIirGgRnxGgqQvQqVkKQmxvvVcEemMCAauUxXSNnnNLzZlfFgHPphrRPpGgvQqVGMmjJXvVxeEaqQAsrRTODdoIieQqbBSsEoOtsTtSIeQqHqLkVvKcCnTtCcfOoFNzZSkKpPgGdVvTVvDUcCudrRtbBGxXgpPDnNdTtrEeNCcoOlEeeELUGgWwnNiUuIzlyYLLlYyCBblLNqQnOcWHhwaACrRoOopPVvdnNDbNnBzEeqQCuUDdeEVvcZNncTttzZTMDdmiIQXMUumxzZtTgGVXxDdvVeEWwfMUucCbBnUOgGoiIuwWUAGRtBbTSsKZzQqCcWwKkkGZzgteElrRiAaIZzRMmrQqMJjJjumMUmHhjJwWmMSjdDpYypPfFyYzZkMKkKMmkmkKXCcRrxLuHhvVUPpPpAafYHlLhpPdAaDPoOlGgLlLgCpJjPcrRGOopRQqeEmMjJEKXxkebBDDfFyYdZjJJIijdDzGgMmKkKkrRvICcIiiVGgwZDdztxXxXNnBOoSZzmMpyYPbBSDnEeyKkOUXxtRruUTzZupPoYycCQqHhHgGnNMmLlNnMyYAaGgnNmAQqWwjJaJkKikKIcSEeoVvOLlsLlQPpqfFuUYyxyYiJjIqQXCjyYHoOvVvVkKhUuyPpeEIiRrUtTOovVuMQQqqQqmWwcClSuUwbBRCLleoOEcfYnNyqQBBbCcbfFaAyqdiItTDQYDdnXxNiLlOoIIiJuUuRroxXEeOrRowWVvOqQTeEtpgGoZQSsqXxzeEaAKLYylqQVxXvhsSsSpWFfwiUuIbyYBPdDSsTtnNGgHkKkKWwiIkFfgGPUupvqQsSAjJaYyVrsSDdRwixXIkwWOMmRrsSSsWwuUwGkKgCcWGgZQtjUuJTqFTtlyYLcgGCPUFfupGZHjSOoLlrRhHsjgGwWWwtTrRjKzZkJEehSiIIiSxXsJjZzkKEelYyLVvNLlhauUAHeEiInsHkKHNWDdwnhfFPDdIiDdpQNkKnbbBBqPoOKiiGqQCcLlgzZDdrRGCcgtWwqRrQjJLwMtwWJjcpPCcCTgGhCcJjHniIlLNJZzjmWDSsqQNndqQMmmMqNlLnEeNnTyYuUbeEBMWwmdeEDNnYFfRrRryHhzZPpvVGgGDEYSsyedsShHSsVWwAaJjmeEMiFftTyZzjCJwWdjKkJDKvtsSTVhDdKxFEefXkqQHpFfRrMfFlLmOnNoPJtTjNvVnaYcCrRNnLlFmeEMfTlLIvByLlYuUgGGJxdDXjbLlBwWgbzCJjcZVrRXxOoeEBiIbcBbCDrRaIYgiffNaAnGZzeMmEJaqUuQBxXUGwWwwWqQWyYJeEjqjmPUmMsSSsUEeiviIjJVBbDFfdrzoOwqQpLlPIDdiWwKkWWGgwxXXuUxqQnCctThIHhiZzNjJeyYEJjBbBUUOoqQsoOSuUuvwWYyOocCpPVjJLlcxXCEehHJKKkuULlhHBOobkQqRhHDdGyYwWGguUgxXbZzBPCckKFMmftTgGWLmRrmMQqBbLpPCcOouzZUzZlMNYAamMyJjKgZzYyYyHhvVdALllLaDtnUurKkRdDNqQkKvVnDdtXxTBfaAzUuZzZKkFwWWVPENnqQqwWneEQWwMbBfFvVEywWoOYvViIeRrlLVvFfRwlLWXiUuHeEhlLEerxDVuUvdXlhHtTRrLRIbBqQisdrhHRKkNngXrRsbBSRrmMkKbBWwnaAhHDtTXxezRrlBMmAazUrRurRhjJHZdDbUarEPpebBBdDbcEeFfnNhtTexXEXxSsXxaAqDdQstUuTPpSfFqQjMmhHjJGgWwYyYyJvSsOAaorRGiEeeDlLKsSJjMmkyYdPpxXEUmMGgpKkZzgkKgWwGNdrRDLlJjnqQGOtTopPyaAqQgGaAYAYGgyYyZJjdDpPzUXxzVvlLZAbBajTtJmMEeuLaAJjLIuUillTBbtTaAtSsjfFJHFfPpEaAeAlLOOzZLlhHooOotapPKjJkUwWuMmtTCVvIisSQqSaAsNzXvOomMxXxGgalLAlLbKkBXDyYLqMmQHDSsdSsvyYVOJjohoZqQIitxXaAxXEcCuRrUcCbBeDdLlBSsbPpBbKkYNYeqQEqQynJjyhxXHHYytTWiIwYyWwZiIrRSszKFfZaAAcCapKkPlSFfXxOlLuUsHhiHhkKvVCcVCaDdzZhHrRkKfFINxXnWwiIXxivVvVAdDceEvIxEeSsFOofXxfNnFqQkKDKMKkmgGkdRSUuPpiAGBbgwgGDdSstTKhHsSknoOeENtnNTKkDsnNSdWmpPMBUqQLbKkBNnOotTtrRMmLllLTHhUHfFhbBIiEeCcOTLZRpPIJaaAjJeEAjuIWwiICAaciUCBLQJjKKkQqkhHqpPlbYWwyWKkyYEewMABbVvaEemMbBGbBJxXjgRrAQMXxmpPQqDVvEeHhvVdqyYFYyfaGgJQqjvJjVVvgBuUKkbfFPpdDhHmMGDAYyAaaXxxETyYtexXxoOxXWwRrHhTngGNLlYylLuUtnNRrNnXolLieoUuOLlzZEAamMmBbeENbByYnFfYyYXxyMfFxXIcCLfFpPJveEMsSYZzyRrGgIiTWwGOoMmgOocCNoRrOHhnCccgNKkcRrJjEeCnGNMmqQsSNnnJjwpYyPNnndDdAaDPCLgGlqQWhHwtTqxWDdhHwXjjJRrJFfyYUuNnqQCFfnNcQqQVvqOoqCcYyQCeyYAaQaAqEedUdsSDaAfFupPrRqQHhDEHhvaAajsSJAKkVJjxXGgcVvkKVVUuPpGPpxhRrHkKvVKMmMmLlfFkqTpcAaAaCHhPcCGglLVvtvrRVvHhrRVLlcgGXZTtzxyYIiCFfARriIaZzTtHhuUZuUuuUUTYytjQYyqJJAjCclLZzZzxXLlvwWhhHMmHNnpfFDdPVJjHhtTIaxXSsAOoiPpsSwyYxkKXvVWrSEesRkKOwKCjJBbzZIhHTbByLlYsSjTtTtfKkFwWuYyPpwWmMeEXxeEvVTtDdKkygNnGvVvVsSaZBbzAiIHhQCcqEhIJjilLlkEeWJjwXxoOOobBvVvVJjKVKkYyVvwqwWQgGdDvNnVHiIhPpgWLlGgTJjtwpgGPFQqfUSuWwuOotTpPhHUukwWAaMSsxXcCyYmQCcNnqOpPowWsRrSvVFIifaAbBrncCVvSsNgGfOoFnNRiIKKfFkJjsSHhCcHhOopPcEeuUCYFfYyNnPpdDyvVjPqQpxrRXhFfHhXxIiHQqhHPmNnaAzvVdDZMoOnNpomMZzTUutuDrRdIHhiZzUTfFPprRtpPdDZkKmMzNnaLlsSWwAuYyVvrRNnUVUuviIsrRzXxEeZqgGOjJCcoLlNneEpPCcpPRrWwpPqqQXxIiQLlelsSeELwWXxlbdDOyKkYmMsMmiISoBLfpYlLyVvPFoOjiIJQagGARmWwiTtqOoQIvSsjJcMmCFAawBbWnNiIKkOvVPklLKbKkBpoZxdDXqQlLzVsSvBZzBbtTUuYmMydWwXxDnYpPyxXNTPDdpzZzZiIbBVvIiAatqQOoVveErbCVvFfcBRbRZzOoreEiFfaNnTtAUuhmFfMFfNnrRZzYyHIJJjjpneENxXjlLwWJeEWHhKkwbhjJbBoCcZwWzZzOlLyYHmMBVJjkIiKbBveSseAWwaiIQIiqGgJjWwSskzZolLHhOaAkKEeoOhvVxXHVgGvOVvovDwfWKkwFuUkKkkKjJtTQqwVMmUulLvPpvnRrNTtNnIGtTgesSEGgCgGDdrRhWwHciIibByYaAQqHSshDdJCcjVOoWCaAIbBircCRnCXxxXcNcjYyfFUuDlLXxdwWJqjMmJYStTsCcTtDEedbBIiAapPEekKQqNnxjJXJjrRyhrRHTbBmMpRPCcZzpeEfFrTTNnttfFPfFEefFxXNAaTtdnNDaAnCcjJKkPgGpWwdjJDDLldtTGgJjrRGgGgFfWKkkKwZzgSRrgGcCsldmMDLxXmMqQmMeETWwUzZeEuBbGvVbBuUgQqOxxXXdDPXxFfmdDMpWCcwGgCcoKwWLldCcDnNkKxXkUutpPnNeEpoOJjPLlcCQWwBbkpQqmTtMPEeMmzZveEVFfMmXmMxqQeEArRQqaqSvVszSYyyYsEeErRVxoOXvMbzZBecCEYyGgDdvVmuxXUPxXYypeZzFDaGgIiAmBbMcCdFfXxPpdJjDfoOrRKnNkchHFLlfCSIiDdPpAaHxXZUuMmBbffEekDdKPpFIiKkYyHelLEhqrRQxmMjCczfFZXxqJjTCctQnNQIilLqmTuUtfQiIqgGFMHMFWwfWwBbkKmXKmMkNnxXxhmdDdDPpMJjEfFTtedDQqheEjJvtjJBbTVPcCphHmlxXLNDvVdttTTnMNnqQHtTtTXDdxiFfXxIEeQqclYyLvVPCcpChHobBOxBIibXdDyDdjDdJveEVKYyCylLYKkUuCPbBpoOcJmMjYybLPQaAqplBTtYyUuoOBEeIiUBbsSZzNnEerRxOIioXXxKdDRrxXkrRKkHbQqBhkGuUgjJNUunKPcCyoOYXqWNnwQxVvZzxMmYyGjJglwWSHhtTsLJjvVTeEbjJfFbBBuPpUGgmMJjtggGmAZzaMClLcqQwCcWuULlBbTGxXOoglLpPtzoOzZZGQqaxXAQqmyYMkKTqXxkKQyBbYQqsSJbQqBqQUIiuuUXMbBwWjJmvVRRrgQOoYyyYqUDZZzlLzvbBaAWwVTtsSNnXBGgmCchzZHBbMbWwBbwEeLlQyPpEeYqfFOoHhocCpPdDzOoIkHhMmKxXYyiZODdvVkKojJOjCcGgJLlULNnxXOHhomqkKQzzZZlFfLQWwqWwqQCNnBblLbBaRrAcOcCyYoDZzPpeElLdZzjJQHhqhHwWeFfUedDEjcCJzZujPpvrRVdcCDryYRZzlLoOJKfFYyHhvVeujJGgUHhnrGwbNnBWgxXRIhHVsSFtffFAaNnGRrnNRLsjJSlCcrRrgbBtTFgGhHTlmMSsLrRsHhAaSaAflOowgFqQfCchzZlqQLvVApPgGXxgUJjuGgGDdaibBiIlLvTmMmpPMzZoDdOmMtrRsoOSpRZzvVryYPdDSfFsDdpPqdOoDwWQikKIvKTtuUkVhkeoOEKdDHPpVvSwWszZYECcTtgGyYeyYytQqTUurTiIPkKeEhmMHpdDtRJFfBEebiIjlJjZzdAaDMmcChRWSswrHLIiJAajAaSNcDNndCnsIBbiKkmMrLlRrRDdVqQRrcCMmoOlLfSWwsHqQSsbBAaZzbBPpGgIiRreuUqXxQNnXxEhBMSsmaOoxXiIWwYybBvVARrVZzvHYyXxhTtqXxgGQRrkfFJjaAJjKuURgGMmrKktTmMcCFfsCcSMmLhCcqQHXxlbRrTtNnYuUjJTtCcyUQqQqCiIcuCiIsSEbBwWeuUtHhTLZcVvCHZzVvrRVJjvhadDNnbPBxXbHhRrYyVvpwWazZAbBHhhHskaAKSDtTdBXxAQkKcCqbBxXxbBkKXrRdDSiYyIDdswWbbBxrRXiItIijVvUupPcCeEmMhHJkKAauUDkKoOdghgGHyoOoOYsSHOohmMRrbBHLeElbTtIiBhvUuVGFftTgSQqWwQtTZzqKBbLlkMjJfrRFmkAaTtKzZpQGoOOogqdDPjJpPfsSZzFHhrRPpPpyYsSh |