-
Notifications
You must be signed in to change notification settings - Fork 0
/
day5.js
32 lines (27 loc) · 49.6 KB
/
day5.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
require('./newStdLib');
const advent = require('./advent');
const input = "yZzYilLqQqBbQkKofFOXxjLLllCUuYyVrRvYycJeXtjJZWwzlLTxOmZzMhHowWlLCsrRAaLlSfFKkVuUxXvhHcCcEcCJjjJPJjjJBbYwWyeXhHxEpRrwGgWZzWwZwEKkekuUMMmmhSsCcHQzZTTtteEZzqKFsSfitTIbXxUuBeEWQxXqnHhNwylLgUuGYqQuUnYyPtNnTUupLlNWkKAarRJjzGgfFMmoBbWwOqQtqaVZzQIiqvNcCXxnaAAQryYvVRrlLRQgGRJjUoOurLJjlsShPpXxMmsSEeJFDnNdfFfjRnNruCcSdDsJjUCcRrRrdVvDdDOoHBdDbqHhvlZzLBbmdRrDdDMoOmZBbsSzsSXxMGgVKkTYyCtfFTkKfFAasScAaTCdDkKcmMfFbBBRrWxXwqQuVviIUMmtTGgAaxzZXbJAalLjSUudDsXqQOoxTtTXxiIwfFBbWtzLlXvVxISsijJyYKVvkpZzPXxzZoVvOEezUujgGqQVAavJJjzZceEffFeEfFFBeUuEbkhHKCUHhuyeEYmiRLAalrIMchHbBCGgdDgjJpwGgWPGZzzZAaBMmRLlrbbGYygpPByCcYHxXfFcCZNnrRzlcCLhGkKcCKkVNHWwhnvBbnmMNRrLlveEVPmMmPVvdbBWwDmMMlLmpMlUqrRQkKdDrWwYyQqRAauPpLsUiIuvVRXxrSdkKLlxXDRzZDfFdrqQvcCSTWwtaAsfFXDaAdxDdZzeOovVJpPjkuUKEwWnnNzZNUGHAIiahgGgSsQjJqjJumMRNiInrNnTuUtVQGgyPpYqpOooOvwvCcLXxQqlVOnNoWjCcJpfFUuuULNoOnlFTtJvVjlLlvVnNxXLKAakmMPIipPpyYPpPpfhHCcZzdDuUUfFhgcCGHOKkopLcClPvVuLNnlPFfIfFlLieEKoOYypYyZzEesSPCeEmMBbTNnYkKZzfveECcTtVFVvNeaAEnOWwIiKMmkIioKkBDUujfFJZzyYxXZxXkKzqQdaArRYjEeJybrRDdjTtJjvVJnNjFfPpJFpPjJftnNTMmwZzWyGgnNNnrfhHhHFRHHhhaATtUpnNPaAutwOoBbzbBZfKkfFFKkfFLXxlzXxjJnNnNrRUugGPpnNGgzZDdImMWwaeRrEAXxRrPpBbPAaZkKzIiUucmMCERrOwdDkIiKKkWfQqcCoHjqQWwJhObBoOSsHhtPpTqQeHoOhcDdQqnNgrBbRFCFlLmMfcyYfGHfFhhBEebsSHCsSvbZzuwWyZzGhHgeEkKYOkXxKouUHfFhIigGmMlLdDrRDdxqBUuBBXxbgGbbQMmLlYWwHhCcytTqQXHhcGgiICbZzBlLUhHDdyYyYTtGgYynzZuxXUNIiKYprRPsSZzqQsaASLlqVvtTQhgGnNyYHjJYymPCcpMEeBbtTHhZzVqDdQWwiIvrRkpSsrRqkKQqQPpBBbbJzfFZWwjzZJlLjzZsSzgGZXxDFoOoZzOoNnOOofiIkKIiCcpFdDhHfPdjZzyYRrFfiITtvVRruyHhYUtbBTHDdIYyiwWWtzZTCcwkKPeEzZpTtfXxrRsSRrFAayCcgGYhUuzZhTyYhxXHeEeUuEmIHhyYWwyYMmiQfFRqQrJjxGQqgXqgzZjJZFfOozAyPpYqQadTtSsEeDbiFfzNnZIZOoTKPYypktIXxiuTKkKkkKtUzTtMmOoAajJiIsKkecTtKeQqEkCeEHhESgGxXBZzHhEZzkuUKFfAaxXtTFFfNDdpEeSsmMeEPnsSUTtuUlLyCcYYyGgCcYgVvGHMmhyuFUZLlzuRcCeErfgGWzJjeEvfOoGgPpiIfMmFHYyhIBbiEenNMYymIiCcJjUYsSXvVWwxvVhHRtTryzZSDqQkKTtaAxXhHvVfRrVynNYnNvFsANnaSKYykzLkUuOofFvVKOoqLlQWwaAzHbLELleeEHhiIltsSTdDIiPjZzJpwZpPHdDKtTkgGhkKLlvVbBlLERregGKkzkBbrRcCKXIiIOdDoVvixMwEeWmFfMqQRrXxmMmHhmMiIxXFLlaAfdeEDpPTNntsBwWnNIfFiuYiIyEegGUbELleFHhhHFfGxLlXZdxXjJaADzDvVDdpPRaAaAGgrkrRKYydggLlEeGhHIiDdfYyYOejJENtEVvLleylbBLoOYbBveEjJVtThdXxHRrhDQqHEeSFhHpkKPlhHeoOEoOLfEesLZzQqlLpmMnNPnNlHhFUNnuflAahHHhUuNnLJjTKXxcCWwkKyYDdkaAotTnNVNLlXxKhHkUvdDVnNZIicXmMxCpPZyRrYcCdDBoOSsguDdLlgGUzZGosSRrNnOrRtTaAvxXtTEelnXxNLVRrQyQqYqAaWwtrRTCpPcCKkqTtQdDSsxGgpPJKOoaAcCGglZzAaZzLFSsaAfVAavbBCdDVvCKkcTtlLCRrcfFcnNGgiEeBTtYybcCoOCbBuUcIdDfFbBlLkfFBsStLltkUuKAaDCurFfRUceEPLlPppoOwWoRroHhOPpOdDJjLlZzPTtpiUuIYzZytnNTdOKPpkaAUdAaAaMmTdYyQqKQlLFAafcmiICsSuUNncMnNpPNnNnCHhsSqkDKkPBbtUuWwTpaAuUwZzkdPtTfFpNyYnlLDdGgNnpPLlUuDaAzZxXDVvSsqQsQqSQfFqGtIiTgkKWwEegUuGNncSNnvwZWBgGbwxfFXVZWwCcBRrbzveEEBbnNHhefKnbBSsNMaAYymanNVvFfUuUjPpJnNnsJjmAaMdLlUuDsSVvkKLlSOtTWUuwPDqQKEeLhHbOoPueElLUZzpUufpPFlLJKkjNnloOSdaADssuUSsSLfySjJnNJjvpPVUnBbNmMvVaFfpPDddDrlLFfwWNnEeJjIhHTtAXxNirRIWwPpnafdDRJjrRUqQMmufvVEeFmMvYyugZzhyYAaHeESsGikKIaFfvVKmMkGdSsDdQqUfPppEePNjrRJnmMOaaAAoaAFJSsjSsuTtMjJZzhQqJjyHhbBYexXREerEVvHfFGgIiiixXIbBJjIPuUQqpWwvVrLlRaAIiHgGnaANadBOCcobIiEeDPpBbAGgrRUvOoxXgWwGzqQZkKXFfxVTaxXAwlNneEyXxYWwMmgGxXTtNdOPposfFSDlMrRpPuUmhHMHhiImpPKeEkmgWwGXxcCvVXxMCcFmMKkxYXxHhLlsSyfvVGBbgeENnajxXJzZRrAoOiIiItTiIKBnNcCEUZzuLlyYLQRrqqEPpeQQKkqQqSsleZzlLQqOATDHhdXQqxQvVmvVwmMWMCcwbBWfFYyHRPprHLPpzNnZlOoIiyYsSZznmMgwpPhHFfjJWGZSJjAhxXHacCWMjJmfrRFpPHKktThwGgwWYyEfEeFzeMmHnNhEZJyYmMklLKdDxOoVvJjdxXmMDiBbTtDdoOIYDdAaIikKmMnNsSUufFyBLGgcCNnLlCclcCSsoIicCaAOaAbYyIiavVAVvfFbGoOGgmCcCcJjyYMgecCVdXxDDdvgIiDsoOtTdpPbBOhHQqLQDKkdqlVyYLlhVvMSsmMmyYUqtTUUtTvGgyAaYhMmHqeEQeQkKqETnDdCcNGgKgGkIimmMyYMLlcCtCcVEujJUCcBbMmRrcuUnNgGxfFmFhHfrRXxMVZznNSsvVKkDdMmvIiPpFYyfgGXxmufFKkUcwWCLlMAawWvVMzkKZkWwKoFfVvtbZzzZBTtKkTTtOmVrRBbccCCGgkKZzlLtTgaAnNLlhHYsSybBxJjqQOKIikRsSFfrPpOoIibVvBzZlrRqQhKkHfwWFLhHVfFvHhIiKkaAVVeEyYvVzZvbkKByZzdTOyYyYotDGIaafFAGgxwWcCXkKsSwkIixXBbKxuUXMmcuUFfpTtPCfEexXFiIciaABbICAzZsSkVvKacCAZzIimFfzZAawCczZWRrZfYuUUutMmTLUulzZztahOoHrUuwfFWktkKTpwfFWPKkKGgRrCDdckgaAGxICcxtTCKknGgUaiIAuQqQsSbYdYyVvDwWnAtTaMlxXLlLmoRrOYyNyqAabWwBqQQBBbbfaAUuFnNiIAdwWDaYUuybBBqEeUPrRgUuGKkzLlsSZRrpLlZznjJNudiIDdDERrfFoOIOoieTtDdmMNKkAQqmMawWVhdRrWwffFFkKUAazkKIiZuzXJbaAKkGgjWwsSaAJKpPkvVBxNnJlLPxXAdDbVQqtOoLfFFfcCIinNdDlIiniINCcTnjEeJbBNgvebFfBkXxlLKtTCFfuUctTRrEIiyYjJEeFaCcTtHhCcZzADJjLmMiTtIiIFuSsmMZzzZrRNgTWEeTtEemTDdtTNohHSoOCQMNQqfFmvbBSScCkaVvAKssWAaHhwghHlLRrtTGnNatToOAmMfFwWfFbBQqvVUsjJCvMHhmVcPpXxbCBOoQZzDlgGPpLpPMmpLlPZBbqCcYyhHQQpPqNcCnbatTAWjJIzZSwGgsSwWZzDdYMrRJjzIMPpmDdaAYTtBbyRrEeiIUAabPpwWLlBbMOHhonNLJjsUeEWwrRQCZxplLeqgGNnQDdSskKWpPcoORZzaAZMmhHAamMiIniINzwoOZznNAacCfIiEJjXxBbYyaoOMmsRrSRrAkVvKLMfFYymMJjmUGgQqMmMCYdzZYyGPpgUuLfDdFNnNnGlLAavVNnAavkKVyYglpnNPnqZzQwSskKYyWwrRFuPpsSMjJmtcCaApPtTSsSsmMTqiIQDWUuBbdDEewdCcFPpCJjcilLotTOCcysSAaqwWrRQFAanNfyYiIPtTpJjQqQcCqMmMBbqTdDtQTtlLmlLBbWwSSeSsyvwWLEexXlACcCQqwWqQWRrwcSsaXxbBVYGWJjwgGgaHYPpFfyhJjnkKhHcCMmLjxXJXxnQYyqimjuUXGxXgxSOvIiVxXFfdDbBlLrRzJjZuMmNnUAadKkvVoOiMmWOowwoQqONHhnWIQmMCxanyYsScksStTJjIiLlbBkIErJvVjNnKbIiBEeTtRrMeEmMcCmuiXBbxuUZzoHhOMmoOpPpZFwWuwCcpPnzZNJZzsSmhHvKkVPLlpdLlJjDUudDMxGgXxuUXccCoHDdqqQPdDpMmfFzZSsTqJjQzZwWtLWSswlhbSbebBEBboGcSsYyjlLJepZzPwWsSaAaApPEcCzWwDKkdGgGgFfZCKknSsNIibBbBvzZVRNoOnoOYyWwxEWnNwNeEnQqhHZziLlDTtdJjBPpXJjyYnDhijlYyZzoizZINnGiIkKWDHhdwiIWwgXRcCrRefFhHqyxXYGnNaxXHPpnNIyYXOoxiqQjJIpPihbBxXAIgGZzOobBiMmFOjBfgmMWRHbBhjAaXxvVJjiMmlLjkCcKEeavVAJwWKXxEeFfmwWymMIiSsYnAWwasSRrKkIiNRrveGgEafFdDAqQdsoJZzjJxXPvJdHhDKkiNqQnnNrRKkrSsRaAzEelLWwBIaYyAijJbJjEzZyQqHhQqRfFSatTAaJLUAQqaFfuwWlLjGgYyPpRyYrJYyfYyFwPMmpfFxXtiIAIiaDRrdhGgHRrESpPsgGIWwoOikKhHWwevmMhHePpEEeVBXIiqgGQlcCSEesjcYyogFfGOaAPpKbBaVIisPpSjJyYWwVvESqQCcMrDGERrdBQqbDTtqQGguwtTWxXZzUpPYyUuPpRzZaArsRvVlLYyXnXayYhsSHgGTxbBjJmqQFFaAfRjJcaACyiIYRsSsSriNWTtqQwXdQqDEeqSvVuUsmMQdjehHfFKkExXEIieRrEZzjVYTthdDHlLyvZIizGgBjJHDAbBadhzZbBZzYpKkaFfKkAPqMlLNqQnmSsndDoWfFwRrZzRSsPpqQXnNTtnUuNlPpNCcnLuUIEeixUuezZDdoOHdDhrRNdXbjJBvVxbFfByZzYDneEqQPpqQHhEIinNBboOuAatSsbBhCcHVPSIirRsHhpPZzKQqkNVrYndvVDIiVvAafFLlGgqQNyRfFrTtRrRmMfFFfqQZetLlTjOopNnPPLlzyTtYxXyZiISYyrRLlfsSUiIgMmGozZFOoSTqTvVsFfdDpmJAQqalLPpjqBbQMdiIpPDkKbBVvDEbBedCccCvVlAaLvVpPUuYylMUumLJoOGJjJjwTzZJjKPplLsSkwyKkYUQCcVuUHhvbBquqeEQJjQqRrdtTAazZGTdDIiHhttzZTfFYpPpPZznNyWwaCePpERriImQqeDdECcZldDKkLPnNEepRLlnNDdaAXxPpqRCBTcKkVwWVvmMvDdCcYtpPTwLlNQNloObtTRrBHhjWeErRmMsgGyjJYSwRrBVrgGQqRvsScCXxTtyPuUHhCcdDRAXxaXxVvvVrTNWNcCnOoxnNXTJjuUtRRhHHhncJjCVvEeQxXXxBbtTxXcjJEelROoRruUriIiaAJGgjfXNnrTtRmwBCdlzZLlLDVCcuqQUvqQciHhdDIyYviIYyyYNYynTOzZtgGLlXOozZUuGnNgCcxStbLlJrRSsxXBbdDKkfoMwuUDrRlUuuUcCiImMabeEPpjzZJeElhHLZzdvVoODWwBSsxXWvMJjmBDqQdbHhYeEbDGgBmMqQUaAuuUWwxiZzgGqQIiQAHgGhcWwCfrvVRzIiZFPpnNYyeSsaAjVvkhVvyYmavAaVCcZHhzwTtAaWmMUuHheKkEXkpIiPKLlLDdlTSsfFtlLWeEhFyYcCfJoQqYuKkIiUSsXxruUPoOpXGgNnxbBgEkKeGWwPbBpxmMXyYaAbWwhtTAadZzvEeVDyYGUugXkKxIfFvVkKpPJXxnYkKyYGgyNpkKyYPnVvNdGgYYjJTYZbBzyXbBaAdgGDGHyYhgKkazZZkKyYgwfFWKSbBskeEbBnMmvVNEeqEefFQiIMPpFfmGLnNaqQoaAcCOXxuzkKZUwWwZzoOWeEnUuGvVgNgEeGIiAOcConXoUusSXfFxHhzjeEEeJpPylSkKPSstTOoNInxXpWwPUDdGgOYyopHhPqQRHhrdDuYswWSjJyYnNBKaADdkDZaAGgfMSKksmXxHJjaJjAhyYkbVLlvEQqWwxDlFHhfLhwWNYyAaFfnsSrRBTtcdVvxXDxXavVWGjBbvVJDdkFZzuUJjRhzZbBDdHorRVVvJBQqwWozZIiMTtmMmcCOvVtbBTxXSsZzAaVVykKqJjQtMmQTthHcvVrRyYXmqQUuyMmYJjMxURHhHDIXxiepyvVYPQkkeIiEmMVvJjdPpxXXfFcCuUhHxsFrRfSfIiFDnkNnKNbDdBAamiIMlRrshHSjJLBtQqotWwTOfFTbBeEoOhzZoOCdDcYZzyLlFfNXxnYQqaAQbBUWwuAOohHiXtTxfFQqwWGgwWTFfqgfFCcUuGQEKsDdcCSkwWPppenNiIEPgGcDdrROoIiCstYcCskeERrHpSsIiAaPhBVjEeJvjYAoRryYbiIBWwKNnbBkONnDAamMdCJHhCcYpfNZhHznFSsPVEMmevyWkKCnyKkPMmpZeEPmMyYIDduUuUuvVsqKkjqhIOUuoiHZznKJGgEejceeEECxcCcwWPDdCcCccQqECcePpiIWwCAaaQqJNeEmMBbbBnqdDQRHGgGoYyyYWgIiGfFuULIiGVnNwWhHAhtTHHWwhTFftUufYykKwWETVvteEexpPVvOtToXlIiLiCnNaAciIzIHhBbeqQFfGdDDZzdgPyYCIiTBbBnLZVRrvvVznmMmYHrRhKkKAXgGBbxZzFAeEaeSsOoEyYfZzvVyYmfFfPmMSsZzSZzmrRMazQqZfFBbAsasSAEeFzHhZYyDoxAaTodWrRqjJQrRKAawwWPpWwLlcCWAmXxMaEekiBbIDdbBbBjmMoOPyYpgGEeIunNUwxXDdWiaAwKkTbyOoiIBxJtcCTZzjRRrLJjGgkKDdcCROeEoOaqQAndGCaAcqQgWwDaAduTFsSTtDPUuzZhiIiwWQVFfvqSgGJjsUuKFfkGeuUVvlqQLaTuUKkcFRrbBfymMtpPTtgGvOMmsSoVDCcdDnZzNuRIirUdbBrRyfFQEeLdDhHlkKjRrQYyqdDZTtYyoGgVvaAONkoOEeKkWwrRCnNnNcEeECcCnIiNxXhwWdDlPpLvQYydEsSeKstevVVvkKhRlsSOoLviJjIVxTzZtXrYyVvOoyYeENHLfFqgDdGSSssQMmeEUulFYWgGgBwWbIQHfLlsSuqOaAFfQqvVVKuZzJRVvOornNlFfzZpPxXQrIMmMaAnDdNlLYympJLlUXzOoqQZiTtUzHhDdxXZcmWwMTtCIuUHhqdDpGIigBZzbIgGqOoQpPneEbCcBBbZcCDPsSpGgxXfFdlTtNnYOuOoUomMijJSsLtTLvVlxXLGgJjlLPTXxGLlRraAzZMmiBDdbItmcCIihdDHTtMTZpjJPAPpoqQqLlsSsRDlLtqQrRYPVvqQSbqCcibBIASRCSsVvEYyeKgVvGkAAaSskZzkKKRGlJjlLYyGWwIwgGWZzxXKkiIMmwGVszKAakdNnYyNnhqrLPplhyYSYyhNUunSDqQdlxnNbBKkXxXLUIiudMOHhwoOoiItkXxRrKTOTsStZTtPpzUOoBbxXoOTtyYgGvKNlLPpeEIiNxdDLQZfkKzZawWAeEFbBLlIiHwWoiIMUumygGYVvDnNOgGUuDDddqvVQodNnsjJSNntVvyYTjJLHhLlFgGnNAaaArueiuUpeEYyeEaAPJqQEeKAaRnsSoSsOLBbkKCILlifFcPplNwSbBCmMWwWWwWwtnDdNcCJjpPTZzxeEaAyUuLlYjfSsOesSlLOaAupPfFUqQXwvVtxrRSHAahTtcmMrsrIdDiRSzZPjJLlpeEtmiIToOvVkmbBMsSNnwWbwWXxmMlLzGgMmCsSchHhNnHfvbBKGGqFGgfQtdDhNnFfFBlLZylLwWlcaiRrlDdJjLNWvVaVvOZzWwonhHcqQqnNhHjJRTtrCcRIhjCHMmIihcMgGhLlNmIVvCcCkKLyYOtusMaAAaBbmAHFOofTteWSHhGgGOnJzbBJqBmcgbBuGCcDdgLGgLlLllhHUTKUuydIRSGgsWwNnkoOFmsgqUuQGpPPYqQyprxXBUrOMDKkZZuMYyjQhtTfFHqBbQOvfyYcCyYrRfYeEEswhjsXbBxKkPpROodmeEbPQpPqpCcBtyDdeXxEdDhAJjaHebBhHoOElLdtTkvtjJlLBbiIDOodTVPioOZzBwWNneEvuUVzPPPpppZHKkzrdCcCkNnCcElLMmeKPFKkCZFGycmSXFfxWwpPDdWwlLcCGTtmbBuUUqyYHgGhIhHiyyAaAaEeoOYdnNDnOWwoiIpzOZfFQqdDbDdBJAaQBxTtsSoOnNvVAMoOqQuOBboOTVvnUuCcTtWwxXMmgfFGPpMCuUvnxJjmMaAIIimMoOJjfvVdgGFSdDsfJjQqlcCLxXHRrQFZzAafjJRCAaIitTPhpPHKkzZudKkDBXxfFcCbBbUwWhHuDetrAGgZzbBjJvVEZzeaIirKnvDdTBYyqQAatTqQqOoEZFyYvIihHGHhITtkmMKpPFfiVVEeukKUAeCcEaPtTPuoOWlLwWWIiEexXVvlOoLiZzIQqxAaUuTCLlDdKkAKdXxDMmMmkqQCqQPQqCwWuUcYyVIiBbvuUDdLlrRsSLlppalHhcoOIiAIiaCRHluULKgGQqXtbOBbhyXHhFpkKVnDdUCcYyXkKYSsyYJjgfZzhHFsSMmRpPjJUurAdDaGMmyxVDsJgtTMeEmOuXlVvLUuDiIHhEjJHLlheKkdyYqJzmxXMhcCHSsQsSqpCOoqQuULQqNTHwWNdDnmHhxXnNQDdLZzoJjIiOJvVjEviImAasSvvOoSUSEedDlLlbioOerGgTtzxXAaZLlbOoNnHhqTtwWQnNjOKkoqmjVvVvaRBbMcCmrPpsSICLIilerxhPpHXRJfzZcCTtFjnICyYdhHdDDCMmnZDdUukJGgKkkKvVjKzqQNEkZzKgFrDdSsmpuYtTxsFfSXbMWwgGmBMwhHWhNnHXXmdDTtPpDdMRcCamzVvbBZebBZqQLlLlOPpqmdjkKJTtDeEcCsOoSlLTGgtNnlsikKIVvZoOzkVvKdDVvOiAaAafFzTNtTnHCcbBjJqQMJjSsEeNnYtTgFfGBbplLPUuUuheEvPpVRrTYyAatTjJtKnNzAawrIirRsXJjxVWGKepAaPEexhmXOnGgnGPpgIikTVjJzoIiOdDyYNndDoRrOhMmayYAmDdpPbhHjJzZsSBMZHhMGsSmMqDPiILjYyJZzLUuUuDdlKkboEpPtToOezJSsjSfokKYEtkZRrzRrgGKSzZjJrLUulXUCcrRmyYMjJSsSEegwWGPmMIicCxXFqBiMeEOocqFfBSwWJjiIXxKAZktTKaEeNrvNHZzlxNxXAnlejYyJvrRhUAaRuUritTINnSDKbBkdsmrRMsdYqtTDdmgGyNkKYSsyUunYuUMmvyYVwrsiIVvSIiRrUuDZjtTJzdWOeLlQqEoKkuUEvVJgQAaSsqGjGgcaAAayYXxrwWRXzTtZFLlfIiqQCcMFfAgGyYawjJMmSsrdjJdDNngXTMmIitrRxvVoOuUWbLlBwGtrRTPpeEaAXUvBLmMBbyYvccCCVWwcCQqVIivJjVtTvbzeEpPqQdDAjJazZGgfpPLlxIFsSfjJiNnGSNnsuUgHFgIyYigGGNnIlQmMNoOeEnqEeLiImnwWbBxXqMmXxiIQOofVhuYvVIiwWFfvLMmgGlbBKfFfFEeQevVmuUYyMpuUlNnLHhgGjJhHPZzUYyugTtVvkKMmlLGoOESsYyqHhggjJGxXquUeExwYGgTzZiIXxwWvzZVtGVrtTWWwwFflpoqCctTrxCmpPMcjNIijJEeUunlNnspYQHhyVUoOuDAaJxXjkWuDdGgMpTrgGQqRGgTYkKwWFfywWtfMSDdKpPkPzDJjiIMoOmjJqQVaKkjDdfAaFDddBbOoGgeIiMmgdDaAGwWoupPUZROoVcWaAwYygfTPptPpqmMBaABbhUuUuHWwWoOPLvVuUcYyhLlPVXkCcKxBwwWEeWkKOopZzfFPLeeEWwsGgWwQWwqjJyYZucKkCefFNgGnpHhIpUuyYAaXsSriIRxXxmxXMJKFfRRrMmOortjJTvNnVWwCcMmcxXCKaKflLIiFkKCDBbKkFfdcfSsFfFtTLEelpPhHEeffFKBzlLqYyQzOnFQAGgqQBbRrPuMBbnjTtTtSHvyYfNRLlTeEtELNnldDQqeEbXDdxsSZzUxjJwkgGKCFfcWYyUVvuEeHhUumMXqQTYXZzxBbqeEQnQqEePpNZzTtKBMGVwWjtXxeEKPpkaAQtTixbBXIOoqOoCAacYXxyzgGHbyNvVJjBsSfKkMmJFSsfsSAnZzfFNboOBZDsSdzyIiYJjqSsyblLBeEYeEjJMIWgGmNnEeMrrRmMRjJoBaAbSWwPHhpXxJjEeDlLpPwEkKeGgcCoOeFfEpmsCrjrRMUaLvVocGgWdDRWwktTKyYvkNnQqvVKbMcCmhHBpAaHRrhPkKFtgUMegGvxCcXPpIiVaAESswJwKKkAaEjkHhKUuJkKAGgpYMmyPZzpdDmrJjRlEkKfrRSmMgGsTtgUueLTxXBdDKYAaycCVvdECcaAeKkhHSsDIheFfFzYyZOoVLlLlVrRjqerRuRbObpgkKGwFkKbBhHboLzrwjuUfjJHwWVvbBNnSUuMmsqQSTrbBPTEetpVvYynNdbUuBDRlZsSzLYytRqQrsOxXogGTtbBhCfFdhHnNWweEjJjYVvyJxXLlsuUsdDSXxzDdXxPpDKkFfDddRpuUpPJPpvpGgPvAffsSFtRgdMfStTsNnUuDdDqzcKkClLoYyPpVWwiINMmhHjJlLneEqGvVeEuUBtTOsRuyqqaAQhSsfFrIyYBbirRXxRHIiNdEPCiwWlLXxIIMYQqytdDUuvcCWwmdDMpMpPmTtHHMfNnEeAKkKlcCvVuOoUfvlLhxQqXoQqcTtCIioxXOePNnpExgGItHbBhfElLZzYGgyegeEaLlAZzGofFhdDHYsSMOomywrfFYlLyNhHzBbZzDNnzZBbcVviImMpPCVkKdDIFAaJdcCojqQFYdUCvcNaZdZTXxXbBydhHJjKkqzZcmKkHhMFJjJjUpfFPRHwWhUuYyJjjJbDeBaAOoxAaXjJgGrxXGxIhHZzFfpPiqyYtnNtQqEpnzZJjmavoNoOnOIlhHwWLaAtXxxqetTEQYlLyBbHMatPpTEsUuSILeEEeOoTCOBUuWaAYLlYgGmAaVvtTGuUgbBGpVfFQqSsHhTlQPpqLaVvPIioOpPpAmMtVdGEegfFCcFfFfxXgOonaVvAczZCQvVTtyYLluGgbJjISXxcxXyxBbfFqQkNFfnKzgGzbzxXeuvyYpCcfFBbAEeLMstTtAaxXTdkHBSVvOoorANnzJjVvNXxLdDlnsrRnXCOomMMUuuTtjgUuuhHYyUyDFBieEGSsGgDCvVckoUDdTtTtIHhnNiSETOoHBDdbtTKEekkGGjVvuUJggCaOAWoeHhZzcoOMMQhHMmIikQqNnZAJjFXVvNngSsBbGkKLlsSPpPpMwsNnjKkZzlXNcjEeXeExPBtTeLduUDUuwqQWsTDdbeQWuUukKUwqElxkKEmfxnPVAaGCcgvJmMNIiBosiIRDTtQqNAaQqdDMmIsSXVhHvSsxhCbyYDdBKkaqDaQfQqGgFcCgvkhHKVAvqhHahsDaAYypPxXlLtTQqtTbBdSZQqzIiMmtgHhIipSsRrYCcyXxfMHcvaArTaMmAtSsCZiIzCcMmgGcJjOuUobsOoBJjPpbrRjJSlLMmapQqVQqbBPpKkGgSsOorRvKkvVumMEecCUWZOojLlfFyYZzLSslEeEtzZIiThHiIvVFOJjoLOoBmCKkOnRjJzmMqQqQJjZjmMFqQnnNWwlwWLuUWoXoOMmBfmUuZXxuUiTtbuWwKkoPgGXxRbsSBNfFndDwWSXoewWlYywMTqXxjAvYtTyVaJSsnPexAhPNnOhkKzZHqQqQtShHjSsSsMmiJwWSSssjHhIfMpPprRLmgBbfFkDZzBHzZhLlbSlLLGghHVYySsvsFHhJLmEzuUnNwvVWiIXxBnjJKkSsSsHwonNOoOPHAahxXpDfNjJURdDBSsgGPNnclOovVGNmWwEgHhGePMlyYmMfFhHYIMTtsSmtTNMQoOqMoOrhFJFXaHmPHhpDdWQqwLsoOSaUuAlYydOolkAaqKYbByiPpmMIsSzazUrjPlLlANnaGxNnAgGPlLJivVuAeWJIiILPUupluUMmsJjqQSsCWbBPAaDAjJaOfrRQqFllTOotRrpwugfFyYGUfYLkKaAlynnQqAcCsrdVWxxIiEeXcrBzZeOcCoEcNnrmMIcYyCgqMCctdDeEgtKkinNpZuPpUbByYnzQvVhHSxQqXsuURUuVQqFMmfKkjJeVvdLeFCcMtTaiIwoOWtKYbpPaqymLljJeEFmMfIWwrRquPMNnmOjJMmKWbNnBZrFIiHILVvlAaPpBNHehHEyYtrRTQeEFTtfYfFyTtiqAqQNbBgGhHnQxXGhHgGgfJjFEXxMmpAaEewoOWeEGXiIxkYyIiKRrRbcTiMuUdDQqRYyrRXrRpLlIiPBaPpuWwmMmMnVvyYNCcUSmMneENsCvaxyoOuDKkcuUVvHGFFfQUuOlLdwbBhVvyDcCTxXtRqFfniuUgGIRdiDdHnCZzsgFfYyGNYynScIfiImeAaAkKkxESjGxpPgLlGIoOjJYywWdDrCVUzfFVvZaJCcjrQMmRzxXKPpkZeEeozZYyOSsmoKkCGgcOlLOdDRrHhMmjiIeaNKwpPuUWEHhbBYytaaAoFdspOoOHOSptqQTyVIiFuUOEefOKRrfFFjbBJOOoofUEcUDduvVRrZLlYyzCzZlNTrRfyHhlFImZPzJIiecCfMAkFfKamMMmmFqwWwDdraZzRrnNOYyoGgmMAwDdRrWLloOICciwWJjmMroJZzxiINnSiIvVskKeVTRoOIwWSaFfCSBIiXYROtTorcQqxVNQqnvOokKYHmDXJFfvVjCclLcuGgQqFfWwDHhsMFGauRpPmFkhlfFecCEOHhRroUoyYaAofFbDdgAHhqQaHhAGmcCqUAXeEOoxrniKYxXzZoOnNDSEeFfRAXoOyQqYTRRrruOoDAnNbAaxoOUYDdlrRLegGYyECckTtPpnNKRFdeELlDXAaxfWBnljMmJlEelLWeVwaXiIFMmqUMmqunNUzZBwtJCcnHCqhHVWwdDEewxVhEYypdDSBbKhvVdDBWkOJTtLIoHhHRJjgoOGkKoOlbBLqdDjJkseSsXxPpNnYWwmMYyfSGBbwzHOSCcqoiIOjAaJepKkPHhkNnXxhOokOZzxXfFoCfFdDbiZNnzfZzyySsGgcloOykKMmfFRBbIirmiyQqFfXxcWjcWONIxXuUoOmVDolLhaZuYynDdNxNqRroOvvpPVTtgGvVkKFfonaAmMxVvFKrDvrcquLlcCsSUslQqJBjJbUnMtTUnNvAKkQqYyajJRrlPpbHsShOBbotlLMQtTqfUkKgfYyCZzcixvUJdWwosSODQdDTRhHxpMmjBbAqREerQRrJaAxXkvVKjAaDRrEbdDbSsrRxRwWMmUuMUuuUmtJDdHuUMWwmhNuqQDdUgwckzNqfqQFgGgAaGzZGgiTDTrPPpGEepyaAJjRSsMvgLTkKMmFAnNvVZyYsxZVJsSFdDTlLDddDZzcvcWKeEmrRiIITtqWwsSTlqQWwOoAAQqrRQhAfjJiKXxWNnAaOotTMCcmgZzDdZzNyIiYDcxpoKpoiIONLnNBbLlyYPEehfLMdZzDLlFfPgGNrRnaAVvgNoIqQcLLjcfOvNILbPLtcJjCrwsrRGtLTtVvlqUuNRGVbctTAPpzVvZcCNqIFfiHhKaAEpaRryGsrRhUuoEsSRrcfrRhsSHoOFWMmjGwWImYHerRBmKkpDecrRFglXsiIbnXxbBwWNwcUZzoGlLcpPQqpPBbpROorcCLFgGDdoTtKkRrOTLsxFAafhHFyYZtWQwWqlUOPjJzZsHIhJdhPBlLOoiIEeOowwNuXxdXxEwWkKAiDdItZlrfEeinRrCUjOQeEqCsQqXxQbBrcKkPRZzrpoKkOfvgGsSkKVmMACceEmHGiXxzBdDaAFcCAaGzZDMmdGVQmMrAhIuwWHhyhBbHYyqkDdxXDBaAbqMSssqQwDcBbEeCdzZOEeZRrdICcZdDzVlojZFHhHhuHVaAHhvhyYxXEVuTgvCcVMmGoOCuUxXiIsScFIiXoahcoYSnvOvVjShHsBbJZFfgGiXWwWwUxiEeuQqQqaAvURhHuUbBTLvlrsSiQqZzIiUBFfGIigCuUcboezxwAEzKkrDdRgjJznNZLhHlAMmHvYyVxXsOpPyYkKgtTGAaWwEVtpPolLOGgjOoOEeXxoJWktoOTVtJjNcCnTRoWwOiuUPpxuUvrRoOUfnNyYduUfTcWPpEwWrVIiWpvVPgNOLVvYwWpQgmCSyYoJGrTtkKcJjCUkKjojJZtrvVRdDTRrlLdoqZNVvRrmMOtTNnLjJNnloNnvVmMDdodDRkzLljJZKRvxXVSenNuUbQqBPPppeEuGTtgcCVovnNtTlKaNnACTtpKpgGxHGglcxKkXCpPnNlLDHhHBbmzZqIiUELQAgGyrRYaRzZyRHhwWEeXJjxaPUtsSyYmxrVvqQfFZzebBXxlLgGaSsiIBbNneDOoBkKbdsKdMvVkKkKJjLuUNqQjXxbkSsdsqQSDvVmMyYxGgEiIGPhOomdDEsSCcQnNEeDUyYqQDdfyFfLeEyYYyMgGzZtbPmhoOuUHMpPpvOfFobZEeeuoWwKQqtTkftRrHpZKuqeXxZRFjJzoOxXiAYEUuZzeWRfFhHsSFfhHBsDdlLIpuUPiIiuAxXLwWWwZpPHqQhzblfeEvVtzZTRrYycCoDgOrWwVvAaAbqQBENnzYKXMeEjJftAaKjPpTtxXVvMnPpYiEgftTEVrVaivtpXdDoioZPsSvVIiUvzCAajGmMdUaLlLVJoovVQFlQzPpFtQbBqTflGktTKvhEpPhwEeWHQJuYyUwGgGdDpBbvVPxXKkjwWbBLuUKkNnhYiyDdYpPIclLCTtioIpRAaSsrXxsSRTtRrUYdDbkIiKBilLiFYUZNVSRfJjYiIeAygrgGJjDWmMwdqsbBimWwwxSsXgGeEkKaUySsSSsmZjJZmUYzhLGgslrypGPpSLIilbpTtOoKkyLkySTuUaAQqDddDFftgGpPOKKkBbtRHhrUMEpXSswInRrAafFXwnNWxHhHhxXHpPhvVBvXyBdQqDDdzEeZJjEEgGJaOvvVVoHeYRrUORXxLTtzZXxheENsnNCcJjSvVUulLkSDbBwxlLkNnOoKcrIqheAjHoOdaSswVvBEHrKSsjCMhHmcJYJeuqQUOouTtnhkKFjiIJGXSkCNnYyKkulLIdDvVUunNqLltTaANbBnZPJPtxXBiIEGoMmOjvVJRDLltTwUQquQqJtvZzZzVpPTjXEeArGfFBYupuUOjEeJfkaArRFHGJjgCWwceGgFoRrOpPhHCcfFfRtFIhHYdDyAanGGgiATtUaFfuUZrRzLYyexXgGXIhUpPBbwrJjTVSsyIipQqDdNPLlESsjJvXMEeFMlVwtTWwncFSsQqfgWTzuAsfFiIZLrRZkTalLtOoPwsSUisStTMbBZznZzWHhnJjpdDMQVmqqnNmMQbjrbAHhdRrrRrRQOouUgGqXOFEDzZVDxuAaeECvOoVuhKkHgHLlJjjzBPpbZJXxdDhGhHfFtmQqMTSsJjvVItTGkZzqPuUpAvQvVYyqPRpXxTKfFMKhFrRfpPoOiTenMmIBeqQWuIiUhHwEeEVanqaACauUkvmMiICKnDYilSsLkRswdoODWvXxVrRSrDQqeyYoFLbuUGIigpmMUStFZzWSKkiMmsogGEpWwNnOJCcvxPqQmMvUzZvNFfquUpGyCcEeRrnNrRrRYAagboeEGnMmVMmvjONXCMmvVcLlCxXchHDoiIqdPvVpvoOBDdyYAZsGKWwkhAaHyYgjNzZnGgPQlwNrwgGHhPaAeOoREebeVmqeiIIiguUJjSWwsviIDdlVvKKPpKkkKkRgGJCPbBRrqWwhHHUjJVvrRdRpbFOMmozwboyiGPpmMuUgchgxOxXhHoSaKkhnNwNiIPymMYpuuUUkjUHggCcmMrsSRhlLCOeHhEoGTICmEPeEgpPNnGkNnnNKpSsdFOScFqQkHHMapPJjkKxwWpPpHOPpZzTxXFFkTIitdRrDKBbMMEyYjhUNOoKLSOMmoslAaoVvKkNnIOoMLSdDOKkgRrGpPfToOaANncQrRJgGKkQaTLqQlXtSsfjJDdeUuEdcQqCuDdURrqRXxXOlVvLYXxypsSLlYOceExXCoEufuspPonNBlLbzbBOosSsSZEcCyWwdDhHVDdtnNmRrRrxsSXvQwWekPNaCcbymMCOlrFSIidHEeGghrRmMHbLaOWxXVSsulLqFIiWwbOoIgJjagDWwdDdrGrRVhYygGNbBpPJocCOdNWwnohHORvyYVqFUIjkTtBUubAOKkojJOoaELiNMmLTptTpPbkKxFYyvVrRREerfXEWwHbAaBbXAZaALdYyaAJYDIKonuUpVvPeagpPILhHZzwFLGNYyeSsZaAiYyIfXhxXpDdVyNJJjLBxoOAaXmMrWmMMeEwBMOkKPpomIidDfFXxSJjjJIpPecCEPJykyYQBDDZvHZzcCSpAacmVvVvzwBXxBzZBKKkOoLgtTpPKCoOaAUcMJUwUPDFfgRmKJUJjkKlLUolLdPpDknNixpnbiIBMmnJuUJjLljQVObnqIrRaPpANnDbBEJjefFcPpbbCmSGHcYBbdXxbDyIiOwoOmkuUKDTklbBsIgOtSqQFIivdQqnLBTtiInKVevVuSebAQdXRrLlxpwWQxXbuQhHsglLGdBkBbyBYvVeDWAauXdDxVkkKTmkKOMyGgWwdqauqkxXNnedDljIxMxWwidNbBVdkfFtTwDdOoQqfWwXZzPpJSiIAfLeElFaNBbwjrRCfKkqCcfFphNgfgGVsSDdVomuStAaTOoMypPTFejaymMsSmdMOJFVHvVhGgRrqQpqjegGoWwOEhHzvyYJjevQqecRXxSqQBnzZJoGgfFjvHqMfFFvVJYpPBZzEeoiVvdciamKkAaMOoEeHhtXjJDdWeYReEZbBvVOuUvuTYCRHtmspXJcCrHsSijJrVvuEeeFPpHlkaWJueEenbBnuhBbsVjdVIcrYyRlsSoOzkXeEUuNnxKZAaqhPpGpBXxOofFFfhHqtTUBbIQMYCgAQqoIJmMPSOouhcCfNnFMAamxdDYcaACqoifcPtoOTfdDFWTNqQnwErLlsBhiNnItBClLOuUeEocTtSsnNRrcRraKwOxXCJcCjZqaAPpsLiZEeIKHxBgGWwHoOXxhLllLHTtmfFGKTVvjIizZLBiOoZlVgLWwiIyYZVUuUYltJOUyYNtTEeDCcBjfFBbJMmUhHZqmMQsukKkkKKUSsbBSzuyRrgpPyfJjkBtDdTJKIyrKcCQHOorzZRpMjJpPoOzZPpcCjIzXnNDlLoHWwifrHAaRJjDdzlLvcgGjLTtqkwWakwViIcCvaeEHQqNnMBbJjEeivVMmIxXmzkKPpNHhXksSKxnUugtwNsSSROhOoCRJjosOotTeQMuUBOmMfFuUwQrRBkdDFWQyqQjgMVDdVZzvMiImlyYLMmGgmdolzyYUZzuHXIijjlLJzZEhHMbxXBljkKsCZzcfFPgGyIzZDMkqQmFiILJjvVVqQzwyYwzZWAaERjJnNEPpcCcicyChWoukyrRYKIxXiWJIGNndFioyRIKkgidbTtCcBlXNBbbvVtOWJjECcePvwfOoJKyYwbBwNKknXDdeqUEJjYeEPHhgGtTJODjJdwkCACLYybRrBqQnNlkKzTtibPpAYyaBINqkTtVoIVvFqQmMyyyYfoOwqpRrrVvLJIITTtSwhHbBFyYyYZWTtGpUrWwyVJjvAdnNQCDcCdpPmhHkCcKAeEaaAWwDdMugGaUCaAvVhcJHDXxEcCNAaxHhXUukKIKJjPpjLlJEetOQATteEPmHhkKlLSsnNNdqQmOwLcqqfFopPDduEeUbruzUMmzAaXxfcCvVyvAaDMpibkdDQXoOFxZcCNzZhHwZxdDXmMZzvXfFGznqtTsSRbEeCxNnWkKulFQyYfZzUXJDcuUoOxiIQNSquBXETVvTTbBIxdDKRrvpPhlEeJjqqLYIbBmRreOEmIabBwZrLlRfAyJjnFXxXEexHhHpPMUBCcbumYZQqzWvXclLCxcgFfuUXyYyCVHNirdDRwdRIhfFhryzuUZwJuUQdRrdqQaAHhONNnorVQqyeEhnpGpPcpRrPuUPpCKCcSqQegaAYykeMXxxGgeUJjADdTIuUieQJDMqQJjwgFXDMqRrkNDfnNFdRwlLuUWRDbfYTovEetpDALlaLlarRoCQqdDztTSWwyYszTMmOJImKSsVCrRECZVvadDHhkKlIpvYLlyCcRuGghHUXxUuuCcaAXxaTQqwziPpRwKVfSsFSsvbBkWwDdONSMRriImtFbBfAiIQiDdIiIiPpsSWSRhvHDwOqtTDdCsUuMlLEKkGgOLtCcVAwWrsSRvKkDdYiLlfFHfFhYyqQsFfzUPVaATpjJINnqeUupgZSszVvRJUYztRIFfYDdyfJyYNnuvVHlYysogMmmMCcnNjLldUustUEWSBHsSxXgGvQqVMmEegGYkPpTtnkKcLQGiKHdzqQMbBHOooWwOCBtTpnsHhLXxlzCcZjfMyRrQyBlLiYEewMbTHhDdtWcAeHwWwoODVvdWaAYVGgUlCcRrsUuJjaASpPjJMzRLMHhzFwifwHPddFIWAaErsSYyVvakzWvsSOdYMUibBIWwoaVHxwWXsWNnryYayamDGgHcsSCeKoOxXdHpECMWwSsCcfFvmMVzZCFfTPIZLDVJdbCrSsCYQBDOWVeEvgBbiImwKdqKwxbDdJjXxAaoqEQqnYvVUupxXPrqQVuASRTnNKbwMmnrRSzLlnWbWkKFzZFffsShHarknTZHPpjqpPuUIiJjvHhVKkeFuSBKJjksSoTlxKkegYyGMnXPBVvJQpPxxXyorUuMmcCyYXxFrGlsSlLzAGhMxXGJdDXxxXkKjPpbBwEgbUZzuWipZxvjJpaSsQqqKtBoLOVvdnNDolhZzYKOodDuCAaLlDEeQXOUtJugDdGmMURrOoYVfPRrpRXUdcQVvpUumyYBbuUnhHhHMKksSmKUmMJgWoynpsSlLezZEbproOwWQqAaXxsSRcjJzyAoHsSQqkpdwztTFfQDSuUVsSvKkmtYyPHzZhkPperdpdKkDdcCuFcCpsSjPpWwwWwqoYHyccFcVvsFeEcCVXNnxpPvOSsKkkXniImSlLsRHFnkKNnrROoDquUVQgIoObBwQqOPVgGuFceEAaYycYaZYDcCdibBIvVvVsoWwgeEsGHYyrRhWwiIFOpsSWwPUfFLlLlTtueAvFfOokKGHWwgVqHpJqPToOnvVNeYXkEisaSlERqQfhHFJluUUSYKkVvaAfFzZMmjWwZWSsXxltTbHhCdaADlmqaUVpPLlUdLUEDdoOaAomdtMmcoOzZLnhHzZWwJjnNqMmkNnUbKkBgSsAXYyNnDHSUHhwrnJfycaDhHVvAaBnNXxOWwEYdbIVQTZYeEyYynEeQyGiIrRCQqfFXcdDCCOZmeGgEoOxLlBwWmMOfNrNsSHRVOVkXGgdAjtFNUJafXxFJfZHhtKNnkKIimMBemgGRgfMOFpPCceEqQSscmMxXktCcfeEFfVvOZzouZXxzUlMPvxcuXcjXxNnGZzgnbGSSgcnNyNhRcLkBPpHQDdWHhwEKdsSbBsWqymqbBtOSfprxrRFOofgvXxaqAamMsSQvVeJaXxAjmKNJrRvVjnWwcCRdDQzZQqBtjeEgQrRunAyYVdtTsyYfHnNgGgXlzLuNntnLNFtaHaWhxXHhHhIMmKkSshHJtUmMRruJOADCpYqQyTtuUovANmJjMnLIHGgtiGwyYWgUOouqePpshZzsSrRHSfHyguZQqLlwWcCEehAaFfAaKyYkGMmBDtKlXtTxbBLktsSolLadnhcCQqbXBbvSLNMmPNnAdXOonNGgnmMyIkKGfqQpPhzZyzZZcOpEaXTfAapPyYJcFMTfPihHVvHlLElIiwPpPYsSfJlVxXPAYylJjzZLdfFrpPVdljJUuxMJDTjfIiQlDNEAaeLlndDjHhsgGLHMmkBMmnNUuvvUwdmkKAWwgGLJjLlTAyLRrHhidDIlYFLQqWfFjbBUMmjJYFfMyRUGQqgRJBcEenBlLfoOQmMHEfwiysuUSqciICQXhTtqWXooZCFfcHRrJjDVfFvdhHQUrAxaKXxxqQsSSsWNnNWfWFpsSoDdfuCfNcIPPqLCclJjzSHXaeAZCcwWIMmYsrziewBbHVkKLCyZGQHsIvecEzZjiITzZqcagrclrRQjJgGVvlitMmjKIfFTuIiXmMmMXntkvPpfqvyyYdkssPbBIGgjULlBpvVaAPkqLtrRgMtxVvXDwgPmnFfyYyYNEFfpJjsarKypUEeQrahbBSsxoIeruOonJMkmoUpPgecgGCBvVbNZxXKbxXBbpPwkEetTBofDvVdFjNnJdiIeEDjGlxUVvJWTtuUABDCczlIGgeBVzZoOLhdDmTUbpwkKhalLSxhPPqQBhtUCcLlPrRIiBrpNsKkQHPpgbBMmqQGhxliVOovRrZZzKkUuVvQqWwAdpPnOpPbvZzSxdVvAVBybBuQFnXnNQHOtRrsSdSSsoQqOzZlUuZzLsKfFOHhokOBJjOVvYyobhHohQSsuUmMmpksORwWkTUrRuUcCVSXAlOWXYyTdoOBbDUbVBIiSJUwmbXxQjmMJqzwQmjlCcLJMFNiAaIAPjJkWwcCqQKCcsSaAwsoyZzjKkMNnpPDirjJxCcUGcCrRCrRcVOkKqrZzRQyCaEzCDbBIiZpgCWwcTvVwOIJvVDdjwwFfcuUyLKXKesLlfFMzPTFtMmTKkKktQjqQZzbBLnXTGuiIdYyDdDyEefsPwWGlJWwMmcCzZyCeDdqbsSfFCwWYkKyHhdUGLlguZlwfcrbrMmaAjJqQWTtaRtRBlFtcXIxXtTYynNiOlLDlvxtgkDpfFZskkwWlAMGxyYJPpJAajjXgmEeUwWlLpPjuCObBSaAuUsozBbZLlmtVvVvrHhmMDOHyYLfWMPfWzzZZWbaNMLoOwdnLCVvZcElKTJomMorMmtTsStLlosohHglLMmwVryZaNBXBbbWZzTXxtLlZuUpKBCnhHCcnvCMGgrRmpPsVoOCckIiMUutVVPyhHUTZHhqHFEBbqBrRbQgaAlzKFyYvrFEevUSswIJOanKkOhEeHuUFiKXxFitaNlQBbRgFfruUWwyYVvRGGgPsZXFfSPzZJeMGgnPBajJEaWcbBCNKknfFxXNPptKkTdEUuqQjJslxXLDFgCNaCsSjWhHXuUspHNLOTtKWpEKXWlAaVHhSsjbINfxXkKLkKaAmNsSYynaPJNXrbTyZypDdlLHEeXWwnjAadNUuAuHiJjqQiIisgciICjGGFFSMoTldyCbIUuitstMmnOfiCETHWwXqQxaAbBaApDdPrAJRUuSvVaDXxGJYybBAajgQGKknzZSqUmjtTWSGgLuUrfFRRsqlhHNpdDPCZGmKoBnbQqAEOouVZkfPpmmTtnpPeEgAaItcJVlMZemOxezoxXLMFdVmMKUBbXxfBHhlLOdDQwnNUWwvaATyFsDyYdxpSsgGQNpxzOfhHFDsghHOQMvWwGixHhrqQVshStdOoeEykBbKYsNnuolLZTtUBbkXxLDSsPpTtJUxbMmBZACWwcaAficCFJWciICCcGltaNzdDyYnpWwUWRBsUYyAuYyBDejumjEbtLHKbzZRrTEFfrNnaAXApPoBdDzBNnbixtTXEevubBnNXecKKFpQTvXDdRrGgCVpheEzGiuUcNPJpPcyYjPgGpkKJUumOupPtTRWwMURrumrmMOoKSsoOiCceWwnNWRVrfMmvUukSsVvaAeobBQqOEUusQWwqhzZHQmbFdJTqQLxYyFfmnWwVCcXBbxGgjxlECQSaAdaIrVvTByCcoRQqrfdrAlzZLIQYyXrRHLTtidLqnNnETuUJjlrRvsSmyYlvCytryYpIvLXwWqQlLQzYbuUGKuGgUtDdTSwyeEQvAaZBXxhesUeaIiiJaAEejrRziIDdweEWqeEQWjZzNnTAzrglKUecCYyEBbLVvlXQqxenTthnIxwWIyYGgiDdvWwMbBGeEgLlrUHhuGYUaAoSgGsOubfvVQztxXTZaFXDbBfFfbkAawWqVgegfirkKrOorRhNsPpqWeECmFVaALoJaAJwWjFZzoFBhHbtEmhjVvXgGbYrmILUugbelFfDdqhpNcCRrndONMbBxbBaDFRsdXBsSmxXxXsSlDwilLIWwzZglBbAqPbNcCDkJoPXeCoDFfdOWlaIAaYyaiMmqhHfFHBiIRrnKotwIVvilLWTOyiWmFYybiFKNnRtIqXDFfdxQkKTtIOyiIdDpQBvVjxXkKZMUuwWfFUuVvHhFjvLlWSOqOoZjJjtqqtTJZrEkJHDkkAlyavwbBzAaHnBiHAzDdcFiIfPDYyYpPxRrXqvAacDoWwOGnNhBHhfQqVvvwBEeROoKJjGgrBwWaOXnNxzitewjfFpPVoXXxHtkKVvdDGquNnUgGCCZBbrksSKfNErReEHBFeAaofFwozodUbBJeNHIihsODqNqzDdZSRGVvgmlbMDjVlLFVxTIwsrwWGgTtgPMIfqQlLFwcJpdDPoOgNUutlLQKDdNYUuxXYiGkTtwZhJaEeAjbyPpUbNncCKkOESsrbfAdRrAJjXxLfFSsiIlsDcCmjJORHESsqQZEUwVXLPZwzBFuUfqoMHBsKWpKfFHhEWfFzDpUvpkMvOVJIdBbuJjUCeEvVcfFnNxixiSvVwlLKkNbNniWPLorRNnVvCFrRzyUGgpPMmwYuaazvVaAZXtwWTvVxXvEiuUICcYhssGhoQApGAaakMmKBtmbcxjJXZMbYqNujevVklecMmtTCNxpHhlTCAVzXWECoNcIUZzuWwEJWIdDiWlLkOoXuVvUfZzFyYIMZznrRfnFkyYJjUJTmpPKksbFKsLDzQNxtwQJmMsSCjJxdnKBbnNylZgGWwUYXVzTgBEuvVwoFfjLkHhKpeQsSgWfdDLmMaAfGASsEtZJquDdyaAFgGtlLTtpFfmdWwjZzHhkhXCZydwWFkQhlLoWjuoOUGoBqVAaCcfFsOoSePJsqkKuUzHGOSPZuSsUSiIkvVLrRdUuLdIiKkhuNEwPpZBbRrqQzQqXqQkfFLpCSPxbBbBIiXpVzqEjJuUcCNZLHVoOcCDdiQqbKVvkdWVWwmfFwWMUlMjhHSSLnpZRNZWEewzPpEeHhNYVInGgZbBlUZUYrRscZzGyzptivVYzCXxuAaAaiIEkKnjVMCFtLfLuUGgCsPbAaikAJYNMYeEllzZvWafMmFAwVWjJIiIiLlMmuWwBPKQOEeoqUuzZviGUlfgDCtkKfeEFTBMXbBescCCMwmMWvfMmFVNnobKdYyTvgtoMmwjJzZXWBmzelCcHdGZCsdjDdJDSkRrPhKxXGEeYkNEFciwfPbBpNfFOMmxXEeyYRrjqxatDjJdPkRrMoZfFGbXxMEcJwyYIiZGgOonLlNqnJjmUuUmFfMSpxXPiaEegTtUuGRwRBrJepYyPGBvMLHhtTEeJjaHrcCOJmeXxVndJLljjejYydSsksbBKkInNjIhZbDdddDDBzHisSJMmiSKDJypPYMmYyEJDNvXxVvEMxXjokKRhAuUyZyYGgzYuUlmVdDbwWJjgEjRbZzrWrEeHhaAAIsuMNDdQOozWjDdCeaAmBgzOPpmTtkKKpTAXQJnZrRzNonFWICfecCnKFfygkqQHVvlaALpMmsSKczgDhCTEetuUcLtTExXZMbwxgGWSsOTGVtDkFfBeEOlLmrRcSExmbcdUuGFLugIVoOvVkSspbUfFwrRLLXxymcCdDnyjaKIfFQqBpcCScdNDdnDsSSLlPdAaDpslFhHleCcETfcWwmvJNeAaiIUCcXxcZnNyIBbsSyYTPZYgzZCSvuUVyuzuLzNivyAanpPBbnrzPNGgOolssJmLuvwDBIvcCUuVZzvhlznJjeiMmIQvLlVZvPFfpscQqPlKsSlLDdxgVvwBAaAabjJBbWGWenUKkHoRrRrOWwjJDVvlfFDMmrRlZzAWwaKUhHuszpsPEepoghZQSjpFDZzdfuUEvQbOAagJwCcOHDdqKfKkDcMmOoCYzrRcuUxHKkgGKJWwDtRrTMpPPTfoOYCcUtCcTQjvVzTeXxagFliIGpCcPgnNFwGqEPlJOWUPpBbebGtZvxyQSdDsquOozCcnNLYkNDXjJGgAsSacCGDdgcbBjqiIWTXnquUZZzdDdlSkSsnNfBSqQSsMtTnNtJjfsSESsyYeFjuRryYKfNFNuWwUxXmiIizZxKNnwwqQjeiCnRrOcBbgGfFecCEhHewxZvactmMLPXnaAEdDLKEJUnQyBmzCBMhHTOodDPpOobAgPaqOHgkKStTNnSHyiIeVMmhRrHxQEeqAAUyWMmmkKMuYZvVfcZzOlpwIBnWlLcCsIXIXCbBcGgxXYyDtPpTijvoVmKyYEeYyYyGuXxUCcgPVuPdZVLlvweBbkPwkSbICoOcTtihmOQbZpPlLWzpWmMwluUxvWuYyJjezghHGOoehroMEedSXxSZzsDdaDaFBIiRiIeoBuYBHzWKgIxXyynkqTnGoOYyKkjCqQWBbrRimpLlGhHKkRSWitXvfvwWJYhsSHydmBLMrTtsJjLlQnQdoSMmnEjuDcCOZUuzZOWOEPpfPYypbGghjJenFRzOoccdDoOQMmgTTGPpgWwGjJOothsDzZdSkKxOvJWETuUIdHWwhDZoAcCbEeAaxXcCBgqNnUuQaCcAGbRkFfrbWVAaNnJjFbHgdxXCpPVZzQnNpPdzZDAazZTtJjLEelysSdpCsSZahIbNhvcCVuUDdZWVAYLaKKdhjKeSsRzjyYQQTJzQoshHwVJVvflgGVvLgGmzJbqPYoBbBbDddDSsiiTRrrkfIBMmfMwIYkVvNhHTtWwbhLuUlQVvhBbHIkKApxXPbBiAbBLpPtTwoOcyYExpOxXEejKdnBpQFfaLGrRWVDdvDddcCLMbPpNnxDSHRrhCVaAvcrfdAXmnjJoDmMPAaHhHLlSsQmfFDZzNnVvdMLEBGHhlimMgEeXHhxGMRVviIyBBbOogiIGiIxuUJxXHMehIiHTfOfjJKkHhuUjOlQqvfMcZzwQSMmnHuURxXRVvIFGEGvQKBFdUuxfmMAqWwFAaByFfgTdEeDlLtRPpmVXieENHHhNEHLlhukLWwhkKHhHGRZatJwSsqQiIZIqQAEuSEHXxbrRzVgGBbqYMmWsjJkTtguUByZqVvxlVXxiPJjRTYcVLMVfFLteNQlDIYylueEUhxYtTyzZqhHisSaRDFOYbtRiADEesqceLXJvFfNMXBbltjDfBMqSXxPpMnNmSsRrKVFRvrwEIteETaAkYyFfCcSsDdURrGgoMCjpnCnNWwuUzMuUmpZzPZIgZeEVvHPvDdoOcoOtTxVXyOoYxtqPfkkCEcCxHZzhUVIZbOaxRemMtLtTlQqTHsSRrhtBVvBbcCkhlnNTBeJMUJxgGMmcCXEdOosSbUauXxSbrwMmuPNHhiIVvZNuUnnATLDrRdyYgtNnTwjfIFzZavVvxXVzSsXueEjmMSnNlLsdlKuzoOhHOUSFfOoDTsBsSbHSvpgGPRRrDdXIgVWwmqoGghHGSKkdrKkRfFoIiZXPGgnqpgGPPXSBYybyYfYtVujJWqobFuHhgGeEkvDfRrmlOsSsSJjZEXGgoMgGEzmLvjCTiGNMMeEaAFKTtzvxXUeabBfFBNWwkKbOkMgzcnJjyYLQSrlswJPptTMuQsNgqdAsrjzRrZaRtTNjsoOSJakKAnvNnqQVhBRrblLbBtecTsStIfFFePpEoNCWwcfFTkKtqQTKkSTBcYDLtiIOmsffTtggJGpHhRqlaALQrPiISIIhUBwWbaCcnDJNxmMHhhlzZLUufZzHhnNFPQqYzRrYtCcBRxnjpAMlAaFbYxXjJyBniBEeJvLwxzZkeGgPwaAYyWwkCUjJucPpeEOoolvVnhPSxwJcuUAMmncGaSEesAfdrRMmSexXNtTnDndDfFwAmMmMQqeAbpNlLmEjpsdDxzSpBbrqLnABbvVTLlIfkIwWfKkoNAojiWuVVvfRVfRrkZWxXwuOoULGefVvhUuQztIiPpziIQqYyZuZzLlYpvdDvTmKVvvSMmDmNnaApPMdcVNyYUuNcbkPzwBxbnANyYnzYpPhHRvWkKMyYmHhGOSOULlpPFfuTLdDltTROOjtktTLeWwCzyYclNDWPplmnAGgBwwTtFpmDdwGdDgFvVlHyYhLlhojqQJpPdAbBaRVvTCcMfBbFYyMsSmcUmMuUlLJPjJpuaLgsIiSGeESOosPpKKSzPdKGgUugGGaATEeXqQVLdoFfxCTBbfLbxXrTrAgGVvUvVulLwAWwaVvRBRkKCFWLzDzZcBQBbEcWwYFfjLbBgpSFIqQiSiAaIsyYYUbBgtkNnSsKxhHNlEbBeaAyYcCNqQnJqTfgGuUtpSsZmSEkxwdDWklYCsSXxWWiHhwWIioWteECcHhGPzdcZeoOAcYJjoGgvgbBuPpXPxXpRIeESsOoHhdkcCKmeEJYOSWpaYynfqWZDdFfwJGgjWBMWLlujsgaAGWwbvBuUutxwoLaxsvuEZzetlLHhKroSKPvJjVMqRrHnNcCDYyTohqxNfGgqUYReErbvaDXsVBMXxmocCNDaVvzILXqSMmaAnQqNnPqQRbpuTHbppHbAaBXsAHgavVAGWPButMEeqQHlvAabEVMjJmwzsSZWvnNiLFfZNnEcCeuUdbUuKkaYspOoPSsSywjuXeELJjcCgQqTlLtxXJObKsSWplfFLPBktTznxXEGfnNFeEuPpOMpPPvVpYyKmjNlLURNnvRrVEihHzZOXHqQAeERqEeuPYkMmRiISsxXNVvnAeESaAPenNMpGWdTmGTlQsSKbuhHZzJHhyYiWwrRyYpSSKAaDYVQrRiIFVKTNxxUtikJMmMmTIWweELqLCRGAuUCQtooxvVXOAaOJeMmCErRVkgGKiShqgVvzYclIiSQqsCcvmVvcCMAahWEIZRMmIiSyMmizaEAxhlWwLsZQpAapiCyYnFcUFqQOkzZKPfwBbFwnwHuUyYhXkAXaRuQqKkqhWwzOeEOxwQTtlCcLHxYmMypOoPqIiQYIWFehqJzZjFbpPNCbjrunNrYmiIyiIlLuyYJSWwQRrqJjswlfatlWxXwaMDFfWuVqQVbKJjlLKtTkzLQqEelLljfCcFJZhgGlSJdLqFJEetPWwLpPzZcAdquUnkKNQLlDaDdylRLlWwWwrLYJjCRrlpqQdIijmXGUugLDvuURDuUapiIvLZzjFkKypWcJQqjCnNDEedLehESsxOSsoXeIpFtlLmfCUujFtxAePoCzYHUcCCSsJGCcgjcuFgaAiYNOoxDoOEeaSspCcnlsVxBBBbbcCvmMHhVqNnWwQHgGNDfWNnwgGFAmeEoOMoOOsSjJTKnNkTNnfFdbzPpFfZSeEkKsgHSsWwLgGlzUGYhFZzsaASEQaAIThivVlaVOMQqJjmPcdYylLmMaofFjTjtTLliHwAaACEJjeMmchATviIsSsSYyCcVfnlNXgGyYLlxTaAUlZLxGhFSwWDiIdDeEWwtTvXAaxaNUqaAGcCmMJTsSbqrkgGMEAVyYuUYHhyQsSfFqGXxXRPIiFsoTQMYonNOQwSDkeqzZhPpAabKkKlCrHuAaUXxtbBsSTnYCGssAaNwWngETtnNeBNoOJCcPpCxAaUQqKkCPpXHhVpmHUuhLFTKmMaACiICcFjJffomGgFGrMEbkTzFjxXoOOoAjYyXxunffFTJaDzZxKvovrhnMmKkzxXZRVvnFXxobXMzocxTtqQcgYeEqRrnRrNtTNvVztqviuUBDkKyLleLlobdvnNwWVACYFjNRmqQtrCcRTMdDWnRrNoOushDddxaXxGuNnKmMOooOQcCUuNTtUulCTDMOeNnulDuvhHuAQMRrzZLhXUuhHxAaHcBhkKHLwzJlLysuLwWjreLsASIeQqKxMmywWEurREEeeUtpQoOqxlLXnNQjjJPhQvDdGhFBxXbfgVxXBbaERrofgjJqQhHSGOSyzEeARrNnyqQCCVvfUvpgGpPMmoWiGaAQqqvXxuUQdNZzfhxXrAYxjqQJzZzKZzkZXZzyaMhHNUuPpxKSsofAaSCcCfCQqCYmMsSMmhyOvVgGQWyUuLcClcCYJjJqQPfUrRDKEekVgGIiwWvPDREMmKpTMsdtTqaAGhJNnjHNngCcukKUZWDTtPKhOaYZfQqFCZzPBKkfFPNTtYOIiwGjUqQHhuaAukxFfXNMPqCDhHHeEhxXuxrFvyjdDTuCcoxqdjJcUkyHOTdUuDBbtbGgTkQAPVXbBzPIxXwBGJVvjeOobLltTmMBWFfgmdDHgaZLGgRrTtkDdKdoODgRhHfROYXqDdjbpsrJjRSxNPlLpmPpgGEXLtObuGgUsUfEqQZZzzEcCeQJhlLztbBNKFfRiIAwBwNZsNWBktrsswMmCcWWwSaUvRaAJjaAyNewWQSsOmtTMBXWzZkQDmMPjJIipkKkMmWMGFaAfwolLdBbWwPpbqycRcjuUnNdDJBhHDjvdlziptcmcePhvVDkEwtThlLbBgGHKnNkWRrhdMAYARwShzZtyYyYTvKcCkAOFfuZzJjFfmyDFfoVwZKARewifDJjBQqbvVDESsephWFIWfZmhtTHlrKkZmjDdJNPWwpnLuvyeEhEaCwBmWygGIjJbbBYqYmFJSNosSOvVPbcRrOoOohmZDnNhkRreEIgqlCNZzKrRyhbsweuKkTSDzzkKZZJGOSLhUjFUSsueWwEXBbxhHirTZyujrPpGzZgGPEPpQidDoOPtvVvpuZSPpyYIyDdVnNDdavTlTtoEeeuUEemSwWcQpPoWdhVHrwWwWTtyYswINnqwOocwWCQqWXxeQqEPpLlaTsaAntToWcCYyYyrIZJjRrWtApBbPUJnNIXxdnNDijrVPiLAzXxceIidDvVcdDvcCknNGgMilLjotZRrZnNctTOAdPYsSyTVOtyhHFBdroOrdDeEDdEenKQqQmdOoxfcCjJGWrRmaUKkuAMGgmdjrRqEtaSvVGgsuEfFXmgGEKpuAnNaUNnPGSsEskHGFfgsMmlLShtTgPNHqznNZQYyYvROiInoDDqEejWYRHHirDjJYyWInhvcYxsSdDEeXLlcCnNxGCVvOoAaVwyRrhfNmCcCcMYaFzWCDdcTtgGaADdAiMeoEMiylNnQQLHVRrkXittteHhxbUQscCnqqQXCdjxuFhHCcqDdfLUwXcBAaBsSbrQNZgxVzcCoOWnzOoRrXLlfBbxqKBnPdpPDpNIPsSmdVYFYyZuZURzZBOgGQQCaAxXlWqQoMDnVZGwWgzvdDMpGlTFFffQqtLgmMahHqoTOopPkGgineRrdhjCHcqQRrujJAjJUSYyswWgGDHNnoOhxxtTvVXXxXdcBbqSkKsDaYRyYkGpmMPgEeKuPgwzfWsrRtikKijlOoRAaPQWFYYfiOerREbBKkvKzZvVQnbByYZBXxQqrRbPpcaiIsScgGKWoeEOoJjwWmMjYypyeugqQDJjdmMGQExWzZWkjFWVpJjwMmUuoHhTBnxfFYyLbBDIHhGirYOoOIfDgijwyYUdDjJOwVvbBUzZuHcYCICeIireZzXxWZvlGgbGgBfMPaApKmcCYydiYpHhSJzZLmeJxEehkgGKZZzLOkKDMvmGwzZWeEJGgYqLSslaCcASswfKbCcqWobuUmQqqDdESOrciIHgGnNorsikrRKVvOSsFfoInWTGZhDdxeWwEXAoOGgWKyYAKQlJCVZrhRFkKIEjJehhHGgOdxZiJmtTMmcCPsSmMAiIahqkRUuYinNsSZzPpkjtVvTbKFYGKdxhHtTXLlDkYdDbJjdpPLTtlnuIiojTLyuvzFflGvLzqQIbEelJtkZzgMDdTIitvVhbXhkeEizIlSQdFfDzRrcoVvSsWkACbCcTHbxXuUSRePpWNntwpCFEelLIORrQyXHUspjiOaTtGyYcCcLmMlhgGiIxXPpHymbBGglLFfqiWwuQbPgHQMmLCivDJWwvSHOoUNgZzGNFfWwEUjwAKIiLhfEVvUcCRIaAlLhRjKOokxPSHhMThrcytUFfVYyoziIryqQEwxZxXzTbBZzAICDIObyjfmQhVJKsXxSkfFWwOpPjNbsrDdCUuhHdDitTIEDdVEpPVZQqCcJQPCcvHhOofjZzDdCcoxXmDMYAJEftIiYOomjJsBbUMORrCcvvFGsSnKkHPQDFwJjWozZOCcfgGXxdFcJHhTYywWZztWEenslLCcfFjxFWKPpDvnDIZoOiIIibBztTXmLlXiJLEkFfKIiKQUAQDfFjJYBboOmooOMtcCKvUwdEybtdiIDTCcmMYKbpPcCkOoKDKkSqJjUEDdeBkKqPLlDqaBcCWwjJiIdDECgGfFcSsJjhHMmsZzQNEehHEenqXxUpDqQdPVTtvEtTEevSqgZzGQskJjNAaBbblNDVfsToGTtiSmMLNnKtdMWoYdBDyChgsMcaApPBBCEeCqQcdRrIiaAzZaPpArRiQsSYxBKkbkKXUuyNBovqNAlLJeEIijaEIiuGgUeNPXIKtTOuujkMryMmYGdpuWuUeEujmfFzkKZCuHhckGlHhoOkbgGbbWZMlLCMSsWwmPaAoOpVvtToOPiIqQhhHHsVvhQqVLlzddPpbqKYFfuUjPdDrRuUppiroOtTRsbWmFfwRfFbljnmMJjYeEVrRvAavPHhHxFpEePrVvRzEnDdglfWSsliXxGAEpwWIiPfFVvdDNOkidyjDQqXxlzaxBheBPVveEHhiItjJDdyYlnITtlMmUuCcbNnBepPKJihHufgGQfFrMmDjnHvHhXxgRroORGAGioOBNnfKkQcCUBbeEvwQqWwoiiIiIIAlvVbBNxXnTtFfBhDvVsfROoLocYBAnkKpzZKHhmMEqTtVAanNMTvdDYDGhHgdearRAOSUFUeyFfPYyoViyYpPCqQcIvxUureEQyYOoIiDFTxIitAqjqsSCtTyYuUlLaMmACctFosRrNEenlmilLOaXxAosSAaiINFnaANCcfUunbBUuOyYRreEknuHJemmgGfeEEebBkKfOoteEkKotThPXaAEdDeUuLDdlqQAmIihhKfCwWsofKYykecCEDPTtPppEeeMcSIisDDddhyYHitSqQsgcHGKkGsSgGhuJKnKkeEnNWHAsiIviIVXnvVNjJGHCIQNnqYOBWPpxXZMoOmfeExXHhBtTPrDwWJjuhQawWAHjJhTtdDpcjrkLVdDrmRrMaZzAiIRGEQMTtvEBxLlXGgrEpWRnWLqvVQqpNnJnJjNShHzabyYVhObBooOHDrRQOdxnoJUuMmOoNgRAarOBPERreQnCcVkKutTaAVqQLlpuUsSXVjoPeVvdDOIiSIswqQBbfTsuEeJjPBSslfOEdKnNIpPkKyZzdXxNBbfFkcVKAMrVvPpRmciIQwWNXxbKkBHhZyQqYMmnNaAOozAvbiNXxEtuUICcCcHHhgGkCcmkbBFfEetPrpVDdafFqQQKgicCHhtTUoOcyYriIRUXdvdNnlLexXfoYqQbcCBSAasyxbjJhHPpGgKkBhHDCcIOoiaExXeBRpAaPJqxXcCQBQMXxvqwWtTmKEekMmPNtOoTwNmpPIuWpTsSAtzqWwcCQRrZjJKzlzSoIiOaUrRhHZtHhoOGgwhHSsGCNvWwVhHEeWvTtLmAafmxVQqeLRrlpnDZzdPYuUSdqQgGDsjJqQMmvpPtRMmWHhuhHHipFpPfPRrxElAOoubBacCIOogNifrrFfRRLlTNeEnPpKkROoLloOrBbrRrEhfKFoPnNVcuUCvDdUzZyfFJjJjbmFfMgRQqaxWdrgebTpjpqKkvCciIVQIizQGgStTsNnQqimMUgifFeEIGcKshHLtTlwWxvVgfHOosSlLNUEjuUyVKkdDvkRoOhCoOcebWAgGBbfFBboOOoDMmhJaEiIHQCciJjRCGiIgXeEjJWdsKnMmHzZTtlrPpWwokKunNyYyrREhjJAjeeOonNbhGgHYxVbNiWxZzqQPNneYySswWmbBuTkAaCHoOhcjQGgqJDdDGgdosDuVvUpPdrRYJjKeElYPrPpRtTBsPpgPYRuugGtNnkKaATVvUWwUYyLCHhdDsuUoOiIScSlHZyumMMzmMzZzMOouUslLPdDpYuAWMISQRGYaEymMJoOlLWwjFrwWsvnvLOoFflUOrRorrCmMcoORXlLxRuVrRzjJuyhYBbyHfIIiIyuRrrPiOWwyYIyHSskKqQlJgVEevYyWiIzZzZNfFnjqeHVIigCcsSpPTtXxaAbBMmTtLPpZcCqkKLvVfeEVlLvqOsBbSSsOzWwZjvlAuDgJjDdJqQcCcVvZhHVupIiziIOIOuUxPTcClmMLVIAveERveFGZzeIZzyNmJkTFyYfFbBmOoxNnkROoTtBbryoOyYZeLlSsaKknNpPRoGdZzlLOGgGgEoOeFmMWwLBaAlaUJkKvVjNnAIywWYijJGgaSLIicClbrwLlyadDdDIbBZfsSrzlLEQUkzQqPhTFKBbkOUOotTEzPJjpBZzVBTmlYFoQqOJHhjudqeIiMHpDHhdWwgUuFfeXUuKCcBJEenlmnjJNDvVkgGSlLEsSJjwDdWkKQqAbBEGgHhejJEGgfFsSRrReEXgGMTfFaAuIiUuFfpArYToOtrqleuyMmYQMpPeXLdDlTtxEQqsSqQhMmaaseZzExXSAhhHHAdLvVoOoOhXyYPfFeEfFkPgGckzBbSsZLjJVOvUEsrrOOHhrRBboEeVvnzQFFfpPfyYODXYDdyxtTKkpPCcuUzaAOpPOopnNPJuRgjOcCsSsxXfaAmTtMFcpPMGLlwWqOoPylonKkQqGXxwvRewCtFDFAdDauVvVXIrCcvKEeUpPuTdDtwKiIkoOnNmMoOTsKkUuSveeEFfoSWfFwhacCGZemkAaWwvVSsKMaWXCBbcUnNFflLuAaUuZdriIfFRyGgYJjDEOnNuIRLVltlLvwWRrVrjJIXuDdxFfInNzoKkIirRVfKkFNsyOLlCHAOxIiCcfdDtuUpPUveYyUMzZmlLfzJOLvmMwpKkJjgGPWiDzIcCiLloZzWpPeESmWwhvVjJHQdKQYUiNXxnHdDaRyYEjJeFfPpqjJvkpPNnWfoOFjvmMVPpRrJxXLlwKgGgwWgfbZNcCnZzIPpgGhHhYyHgXNnxeEkKhMarRvnNnOouUNyUuYgGVFRrSsCrRRqaAwWScveLlUuUuEVQxXqdDoJkKucNiIxXUuIFRpPLzuhHUwzEeZWTaSsSzZxXsetgGTMmDIiUnKkZzWWbpHsSDjHiWwhSpDdovVKuUNnktTueEJjQqLwukKUpPTxXzfXAHhqQaDdxXCcSltflPzZpPpMmPCgOuCWFfUuaABQqRrLlEeSkKxLGogeEGOfCEDdgGdPMbZzzZCcKkESsZzhAayMCcEsSeitSsTgJSsoOVvfFIiIiWWzZwwDuUdfRraAgGgGFXzwWZCCcotTOcxwCerRRrQyYqObBiIHlLSgMmeeEEYAPkhHLluUSDdeExXsaAKyYekvVzZhJBLlbDdWAawjHRIdDeEiQcCgGnqQeEMiINOoHhnmPXxmZzxCcXoOMPppatTSsCBkKvgKkrnQruURTgSWmMadpPDARTlpBlintTQqViIhHoLrRlFEeCJkKllFfpPChHipPOxXnSXxsGKkpWwHhmlFAaHplnbBPbBtTkOPXCGQqDdkKgHpPhcCdBbNiInnGeEwkGgIsSwWFlCcLPpaWwHqaaZxXzLCpPctQirRDdMkwqQCdDCEiXxIenNTtcFfZzxyYkKXVWwChHtdDfRrqQjvzWwXSzafVUNnuvXAaxtlGVvIiVmrYPgZzmMTtpsSRthBbHdWwGfFgZMUumkKztIQnZwWtTKCfFWGnAajTrXBNJjnBrRbBdDZzwWeduAPpUuaUqQqtbBXxRDdVvriITEeQIiPpYyJjAxXaaBbbBJPGgsNnSXrtqYfFyjuVWUuwXIFGgpPGuVvFFfmrRTBLcCuUpPVuPpmNiIuprRNnPjLShHQCEeGgRVdReEwWNnkfXNOVcCoOQIinXevVEUzAHOnoOUumMNfFQqdvMinokQqKwZHhzCfNnFJtpkKjJPTwCYMmtoDdOcCTItTMaAYLvVlLCYwWAaYesSEfFSszZdDFIpKkPdDByYcKTtHKECtTcgGEWweQsohZWgEesFySsESjJKZzlLQrhOieAaEgGmMlNnjosSKwXxbHxXFfxXksmKkMPeVvLlHvbBmMXWviIDdQjJchNfFjTWbQpZzPuYyQfUuxAkKTtWRrvEwxXEeLQicCIqLNbFfoOPpwrlHhLyNnuURruXtTBadUtevVKkExarszzZZJyYjMmdOosSykjJIrRYyNRYyauQMgEaARrQPpqBbEeeagGGFfBgGOOTtuLHuUFfhHKfMqQrRrUAgvrRVQqfmqQqtTQfFSdFbdDBfHIiPphUdDrRClYyLxdMhyVCcWwRrvhHXBlLbCyZzEexbwpPWHhscAsirtvoFfONnFfEcjJCgWwGIitTXYySsiIjNnATtPpPpdDaUuYyOoyYORsSVrRvRWQEjZpzDdMnNYyhTOosSPpMmvVtHyYinbBNfLzVvZYFTdDttnvVLeukdDoFodDdDfvlBbLiIYPKksIijJoRKkqQXJDdjjJxVvrhofFPMmGgpPSNnYyFiIfDfOATtUuTVvqQyYxXsSiwWaAIeCcsSjMmRmMuvoOUuVUrRrJknADdEoHhOJzZoMlLErqRAuvVvIXxicYysSRmaAPpMeEiXnkKNlAaLxXgVAuUavBbJjJseIiXKxXaEOoMFlLiavVANhIDrqqQRwWrQNOGgoQrLldYHWRzZreEDDdKkVvfFwWwWoUurRqfaAdDaAghhHCdBbUYXqiIQAFfVDRrdciIuUuqQUPhHpATpPtbhHxHMmhqPrRpQrOomyYSsItDdldDZKkzLIiHoOyYhCBrrRSROorsggrRgGGAaPeqJjaQIIiMWwmqbBnSsuUNUuTmMXxtnJjNUuhnbZSszzZiFnNfBbGZzLlghEePpfHRrhKkoORQXxqCczIinNwIMmikWwbBurLlRUopUQiYyMiIZzYUuQAKkfFqQBvVyBbkTAmfElzZDEblLBBbvRroOqQrqZrRNzPuUGgIWwTUuTmRrQfFGiRYyxnNXmMNnCmMVvbkKRrRCTtXwMmveEDjJRSAaaNpPNPpFzZRMmrboOBWPLLRroRreMmEdpPVIivKkvyYVpbvVBhHwcBbSZziVvfFjgGhHwEaUIjpaCcXgLMkKmXxdCcpeEPbHhBDvVFfpJRtTFfupPZlLAZSsBbkQKrRcCWwLlLDMhAxfmMjuUfHftTFJjRmaAzZmnJjiriIRUuFfjJYyuUfyYFyPqQpLoOmGgpMmMxXWRrGgRpPrwaAnovVOgDfFdLCzZpMmeEbBbrunvUuWwVGgWwkKFdWZppPDdmaAPpMPzZzhNbZCcOoeMuUljfSlsdGgKGHhMlPPpgGWwCcmFZzeETtJsTopHacCXEOopNQtHKkSshmHuUhLlWZzLzLlZvVdDEZzUuOxbBHhsjJrpgGBbORCcrUJjOoBBbIXxzMmZzMhHFJIijbfFxnxXNOaAUueEwNfJDOHgGhodrNKkvVojJcMRrblfUuerRJzLRrlyElLeYwaAWwnNPzgGZcCAvVoOBRaAVjJHIihmMCzZNnhCxXcpPmFPGTqQHCczjJZAWwQEewWFfNfVvafFAFnVaGgGqVvAjJdQOoAvuUtTVZzcBlAaLbgGHFfAailLnZzLldwWrJjSObyYccCCtTxsfFSXLyYljXxJnjpNXFMeNnPpXkKLBtSlEbdtDdTGgRtTrDwWpJSsiIlLCnxLJZWPpwzmMSWiIlLaAmxHzZyEemMgGYhaAfaPpzKnNqJDdjyYXzZxmMmmCIsSPpiDoOdEOwaoIiAHhcuUKCchtuUesuOKdIigurNnRUItTbuUfFSPpsfdYGJMmUqWwRrmMdDQmcxHhNSylLYZaRMGgHIihfFmnNOsbhnNDKkEedjJKoODSmlavsSVPVvVRrUEHhqQeEtTEeyYVyYYyvgGZBwWvVqQZEeFKkfZsQqSXYUuCXlLxsiNnBUlLqxXNGFfGEegzZDvfzKiIkCcZFPgFAaoOfwWDLlcCXxdMyXxRrYyoOsSyEeyYAfFIuUimMamMQqwbmMoctloOzZieyYDdAmhXxXxZzXMmGskKSgoOTiAaVAMNPeTTQIhbBHpURrucCPkKRriXKkgUbBuRXKkxycCYbfFqQYyEdBruJdHhXxDkKjfuUxXZzCQDiIYxKkHhtzDzyYKvVkAWHfFhwYyzzZdDsSZZznAaChHVcXXxxuDyzYyZUufLlJODSsfXxSsFjwWfOoivmMdRrZfGgFQqeEcCnOoshHSnMmNRWObXxYxXAayBmMFQqTOoiXOHmMlLyYjJsSVFviIKkVLkaFcCmhcCQqhPyYVTlLmyYiXxcpeDnQmCcMYUhHrJGAIilSswWoOPpugGULagHhwzZWjSsSSsyYobVvlLPSspAagxXQQSQqsqWwvgGnNXKkxOZrRKkgGQdfFFmDUuGrpPnNyYyYNniInYyNnTtNHhDdYyTWwJjzZFapguUGcCPVlLzZSsVHhjXDAadgGxVvNnpPPrZGguUEesSSdDDcFJWRZlmMKkOBfBbgNkLlKnGWPAaWwBpPoBrUEQZzAJjbFfhHuUIemMEiBIRriaJvvfEHiDOoddDXKkwWxkbtlEGZzZzYycCFGgeLMdDJjPXxaekxXWKwOoFfWkEewRrWjWmuGvaAAaJjNnFfVhHckKCcCyYwvkKVWTfejJEocCOrRhwWhHHVroOwClLOldDKkAumJeEeERcSMPWzGgkKeEwWJjQcrRPpFfCMmqeEcCZdIisOHhNBbXxnAHhuUavVwqQimQWwYyzZajFbrRBbVvJjkKhHdDAazZrRnYBhZBbTJvgGRrgmbfFCcZzkOobBmMytOFfouBFfzZTternPcCFfpFbBVhwWsJNmrRUOopaydDYqfNoyYTJFfjtCcrRZZbkZSsdDzwWjGgJFyYusSUkrRAkjtTJSsaAkjXEeWwpPxTrpPRtJjPZzAaiwEeWPsSpPEUzKHhkSElEepPbvpHYyCeEFfEeXxmMlpoxXLlOtTTtXxwMmbuUQdDHhFGCvkMmmFgGfMKSsGgrYyzSsOgGKkEPZzpDjJZzhRrqQveeEEXxVjJKkpPHJAvdUuZeEAuUagGpGgQqsmFpPdsSdfFrRpPDDGgtSsPmUeDdoOmMEwKRrdvtTVUuvYqyPSqZzWiIwhHOeEoQPpmMLGgJeEXRQOUuPLXTtFcCNnfHhxfFRvSsgyWfFwYyWXsSQGQehHEHldDLhlPtTpLqkYTtRdDrYyyiIVyUHbBvVlLvxXPZmHhiIOoNnKkNnjJMzpFcZzCiINUuMiYfFyIlLiiIGguDbBxXdMmUfhnNXRrIiGgwWHhQqFBfFbdXxmMDZBlbYyVSkdBbYRvVrnNyUuLlDKsurRcCiItTxDREeWYMmyhHJjZJaAjzmxCeDmiIMYFfydwWwRWEOKkoiIvGgVzaAZIierRNKkfFnMQDdyecjGSsqQTtgJCEDSQqErReSsgGuHVELNQqanXyYLgDdGPLlDdphnVRQqnAtTGgReESsDdCgGEeXeExpFfAaPgmlLMGcrGgzEnNaAeaksAVvabbBWwjJBblLQClLAaWwJSsjmIbQfpsuIiIirQqRxLbBlhHRTtZzsTCcegGivVIyOFsvLlHbBYyAahVCcZaAOBWwWwlpdQgmzfFvVEeeEMoOhHqQmHanNAfFZvQqJjEeWwcCOottTKNNsSoxMHbzZuUdDBVwDdWvXEmMkgvVwvSkKxXyYaPpAffFFvVTtRRrZjJzsSoORbRrBEerWQdkKAaDGgZLlzqZkHLlhPpwWfFHyDLlzPpFfZGguUdazZAmhHhyYYyYytORrjHhdcCDAaJoZIJjoSLfFVvpPVBbvcCqQMWwQHhZuUzVvoLRsSrltTPpzEgAhHactTnkwlLWDdKNClLkKGDdNniIpPMAFfrGUkKkKDdYyyhHYuNnHwWhEegxxmejJEqQyUPCBbuUcZzyYMiIrRRBbfGedDvAaVABoObEeaIiyMmSsYcgGCcRrUuciniINNQqEciWwxXAMmYqQyJRrfFMOdXxyYDMmfFogJjGDdtTQfFJlLLlxXoOBmHhhHMRZQAaqVvfFVvztTGgEPpIBLvVlLsuPpAasVjJzZjJVMOcCLloVZzeYyNjJnlqMNnhAaUutYYyympPmdDMbBvSsVMvVjjJpPJnYMmyHhlcKpyYJjPkPQqavVuUDdASseEzZQqZwGgKfFkWjPXxpQaARWQqwrgQqNcCnFfGnkKNYyxUodDQqGZzjScCdvuDhHRrdQqNWwyYzZvSsPLvVlfYyoeUuEHyYhWcCwRrBbzwWZNnTdMmpfFPDtOoOxmqQMlLOoYHoBgzOoZGkKoOTxPpTZXxztDyYdkhzZrOokKLAVvPpPcewHhWEQqCmMcKkbBKzJjZeELlJoWwOjzZOokWwYyalXxLEedDQydfFDYquMZzmfWwqQFURrctXbyYBwTtOowUaAuUppMmvOoQqvCchtTiPLCclpIiOoIHhAaHXeERrKkoOFfxqQoNneTtEhHHhOgVmMxXfmMIwWTtiAabBAaguUGzvVeQmMLlbtVNWwNnJjkYyRKkyYfFeLlcAzZaCEzZRZZzzTyYVvEdUpcrqcChQhHcCzZMmqIiDFIDdPpiCcfFiXNSsVcmwWNubBUtqQOoDMkKmcCdnoONVWwIijJvozZUmaDKkcLlCcCdXbqjgGMmWwapPAzoxXZnNPNNnxXYQOoEeuMgtTWwzZpPsMCEecCYgrREMmeOoZzdvVvVDfIDdiiIheEEeFfZzHzQYyqfFcKkfpZzFfcDRTtoOoOOoZhNphHoOGgPnkdVvDKbvrRTCctTtVJeEfpPFvVjLJjlnNIpKDeEXxYJjTbeEsFfSAaSsAaJBbSsjKkBMDvVmMruUBbwWPpSKkVvaAJHIiWeOoESejrRJlLAacCyFoOFKkVoxXqOoPpIiUuBfFNPpnOobJBhHbmUzCclVRrvLoOuhHUzaAMHhmdmAaQqSsOEyYeooDdbBRIidDorRrROSpEePsyYurSsRbqQROCcoSMfKriRrDpPfFyYYktTtdDHsShGCMbQWwjqQZsSNsSnSsjcSsiIaAbBClLxAaXNoKkgswcCBxXpPVvbOolLSsEhaSIiUpPArAuUaRBgGbAaaTowWZziIlWwcifFBbMnHOomJHirQrqQRwWCkKTtNDdoOsPpSAwnIAhkhHkKdDKDrvDdAanNVgGRdHYyCwWLYzRcCIzZirbfHTDdgSsIiHhgkFfVFdDZnOMIimFfocXxrOhHpBbpPPGgKkxXgWwGWwokKRCNBHhCcaAKtrRfLlFcnAaNwWCtTMcCyYTBbRRrCsXTWxoEyDdYoFJjKlLNuUDdnJhqjeEJQHjkJwWKcPpPpClMyYFfmLkXNnPUxXaAupwfFWIimMwBbjJcCcwWsTtyfFYWyYBbnvVtTJjdDcCNOUOouwWHhlrRLyYdDkKOgwhHpPWfFGGgoorKkPpeEkjIEiFfrMmRaxXOoKkADLlddDBmMLlbIvVeEKkeEUelLEJjRfsSdfFDhHlXxMvVmVvKkoOOhzqxXlXFIifcwpPWGgDdCnMuRDdrUyYmnhHkzZVCcqZzQMmTQqtHZzhzZQquHhaAqQGvVgWoJjbBmDqQCyYckKmuUMsOoHiIBbwWMSsuUJjmsHVvJjsSOoRDdPIiIhpPfFHlLqQqQiLlpGguMmhHUQNXxuUnHyYRrDncCvVNZSkKveETtgKkWiFfgLgrWwacrsaLlQaAkKJjBnNspykKTdrTtMmSRrQOaQzZsSeEfnNFZzzZTtfFAaqzgFfmAaAaMzZOFflLotTtpLVvlghHFgGfGUfEeFuUuoOzZllIyMmLAaQIiqFfScCkKVvvUuxXFfKkVaAszFfUuNnsSGgYyNOoiPoOVvnNQiuIxuyTtYHHhhqCHhcQjPnNMmiJjlPpLgGRqLFfRWwrwWjUkLlJjvEeuUoQlLNnwWvVzZIizvdDVZTtpPUCcFhqMmylLUuKDdtTkuUYiGwKkIifFdDyfnNzOovVkKtfFEeTZfFsSkKhnArRlLaFyYfjJHVvUuETcCSjJkqQwWDqPXxFWwfpVTtVvHpPRrEeEecuUUubBvVeQqCcsZzXxSiIGwWgKnzJrRqbBYlhHZzhHBbLjJOoNnmMmMTYCQFfqKkthwWajJAPpdDHsSNnAaAEKkZwSsWzgGgqQIHVZzcCvpdTtZzpPkKLlJjeRHhrEhHfCcqQtUNUKkunoEeOHZzhHhDXxNnNzZEenDdNKkHyYhoDdLlNWwnrsnNSluUpPbAfFYyyYTtaiIrpLlSsPfFRgGZYyzcCBvVaucCUARrGgrPpXbrRYBtZMmzyYfFbFPpfdDOoBPpWJxXZhHBblLjJzwDEeOlLpPSstKRrdDkbBbBbPpdSsrRDBXUuxZzXOdfaAIipQqsSfFUvVuYyFMWOowapdDPkNnMmeIijJEykKMQqNlNUuxXbsBbStKkgoOGoOeEcpcCEiZBGgbBUubUlLuuUIFbBjJTtQqPpsSaJQqxgGXJjmFfMOofFjvIiFfBbgTtlrRwWwKkDdOENCcMmhHeEneLlmbBoDdOJjMoOghrIirzZRNnThHoOtgGjAfFcCkKpCXRcCrzAaZDduUkYyKkJjDdNOoQYyJQtTzZUuSUJjipzYNbBCccwxXWhHPpwgcCGYiIcpPYrsSRwWyCyzZHhCcjpIEeiPcCGCSscXxgcjHUEeuEeuUSshbBZzgJjVvGvVJaYEpPqvVQeyyJbSseOoEKDduUSIcKkCiBboOxXyDdTlqQLLlhHHhSKklLGgVvPpetZzIHhLoVoOvxXnrRGgNOlabBqgGxXybBlKkTYytNlIiaALnRrLZzHVWwfFvbjiIJBtTnNiINmMIimkKMnwWbdMmDcoOxXFftTRrzZCcCgGAaKKXIixrFfRonNOqsSBbwSsWSsXLlyYgGhHgGdDxEdhnNwjvVCcJtTYyTtsSZzBbWruIzZiKpPAaaAHhkCxXfaEeAFqHhxXTvVxXtTYGgJjvsSqQpYyPgGnNvlLJjLlYlEeSLuUlatHmMhkwWKTAshHLaAdnbBNpPWwVvrRDPpsSRrHhyIiaAaAWwcCkKbjsSwWvnNwWOrJjJjfKCcwWAauUEegwARraAtIioaAxcCXRrOThHqgGSsQPpVvEeKFfkCHhblLZzCNnZwWzqQcHdbBJpPEWvIiwWVweaRrATJTtjtjXeNnBcKkvEeaAVCMmcCKhHpPYyFzCaAcdnNbEecCyHhgGrRwWNinbOlLoBNZzdZzDnpsqQLaASLlsYOocCsSZOvVZNnzvVxwWuUNlkKBbabBfFAjJzaAAuZjRrJkuUKzjJULlxtAayyDjYIibwWByiPpHBfFsDdSuwSsWpLKklPhHUYyBbReEyOcClmMLjcCsLlShHHwLKkQqcqQCmMVvSseEuUwWlfFxUurRWwZAaDdDhHdzZzAmMxXaclLCuYyvDcCbBdVvVUWKkWwSswvVLlADuUdKkxXnNBaAborRHrRhOeEMmMdAarQqRDHKzCcXxwySsYGggSswWGWlLZDdJEKkaaAqIpRrKkPXjJiIbucCEeUoCoOcXxOyYRrjJkGgKOfFouOoJjUyYAiSxXsIYrRlLyadBnNyZzVsSJjwDdSsCRrcHsShWsSwAcdDqQOfFoCZzGgfnNFLdNnWgGvVzZhNsSnHmRrOFQXxkKCcTMmLltqjBPhFfpPHAacCpTgGYystTcCTjJpPvVBbBHGghbTtxXoNntVzqQnNPpptTPZsKfFUuBLlbJFuUpPUufjgGkyYnqQOoNiIvVSpPJjeEUubuUZzWMZzxRrIBbiPcCpdDFpPIfFaALCrytTiIbBSsxXYRAaLSslZzqeESsNYyrqQOortlLSsTeEvVwntpYjgGiIMmJsSbIiWwJGgTtpmMPVRrvLgGZzuUzZWwnsSqnaAjJWwWCkKcyUumLlMmMZzEeCqQSeEDdXxstbcvTiItJUujVrQSSNnsPpsioOIrixXIjSsJKMmqQkfFzMeEkKcAzVvZghfFJIijHxXDWSLlUuYyWwsUueEhHtntTJjqyYQnNNJjYyWgjTJjkKgGOouCcUCctxXqsHhHvfFBbVhSCcQPAJjERreRraKkIiKkJjYynNTtSvVAawEeWLlTttQjJtuBbUsPpsSFffOyYhHSsueEqQqQfFUPpuIiMmmMcCmMyYFsGnNgMmzrqLlQRmMSsYZnNsSnNpPbBGgnNpJPpnNMmEeEzZiIzvEenNnpeERTtrnMEevVmwNOonWNvlPGgQqQqpLWCcOokKwRdDrwWaATUBaAVvmcCYyMEebiIrySsbBYnNxnNTXxtXJjsSONKkXxCcwuUYMmyWQybJxXFfezZmvVMJjXbBKkpPxJGgyYYyDfmMrRrRFxnrRIZzIirfBVvbMXtekKEgGAzZxNxrZMmyYzvVSegyYdaAVvRmPBblLpeEuUsxKkFfnmeEMNUuXcCyYmMnvVhHgCcGRXxrNtTgGevAaGgYyvEelLZmEeMoaAOzNnVFfAxXobQkKyYqBIKkiQeEWwsSNnkKqOSsBbNnMmavVAWwlLYqQtKkTTtXxyRrkNnCdDIklLKiJLyQvVRXxaArqYyYleELiQsSqmMIxYyOobfFqQBhHMmyoOYbTWEeGgljAslLBbrYzZQrRrRqfFeTtsSkKDNndDdHhsHhSZCcVvycCYIjBbVpjOopPOjJFflLKkmCcKxXkDdMXxweEWtTnNDdSDaAgSsGVMRrcCkIJuUqQrYRrywlLUuyjcRrCJACcarOoypbBuUPYcCDdpPWwRYhHIfFiGknKEekaAqQNKrkhHKmMRFIibJTmMtofWwrSUuOosWwRcCgQqOoQqQEkKtAsSaTrDdwIiGgfkKFCcCcRzaALlZrWxOLWwsSDdJqQyYIkfFKLGglHdNKkxbIOozZerRCcXhHrQqGeEvVgSwWQqimgGMIGgsnNdDgIiOgGBwWscCFfMmBPphHNOeEcCotTnHQhOkKCKkzZiIuUpPjWUfzcCPdDAaXxWwYyIpqQtTPmJjMmMUJjkZWwzliILQmMBbqRpuUfFPeixwjJxaAqQXjJWwtIiJjpPMmTmcCtTSsMWqQrZiIwRrWzRKqQkMfFmVYyvGLYyPNnpAaluUWdDEeHhCcjJwgXnYyixHhXgGIxXVvNVpPvkKKvVgGKCgUuGNOoAXcqfoOFDcCYPprRXxyRroxAaSsvVqQzZwWXcCTJjtGgspkbBIiKPVvJXxnmMAzZalLNwWpEePMICcdEeAavVQqDNuUzZCcUuFflxAZzaYyXLyYlNAIiHhZzEssysSYSSssrRJjhHyYqQEepPOaEfFRreAokKduUcqQCDYYzcCZyrRfFpPNvVnYyIcNXxnxXqQydDYYvVyJjqQEeCfUfWCHhcCcNDtTycmSskKuloOVMmkKvUucCfwWFBDFfdwWzZLlNnBNMmnbbcCmMOqQoZzoOeFWrCIinpPNOoJkKxXjJjwKkHhWwVvEPTcCtBOoHhbXHDdYyOoAbBahEPpezaAxXcCXxcwuFfUWirxXRIwwWWqUuCwWcCcnlLsSNKkVvgGuFmMtTdDqQfcCSYylmBxhHLfWwFlXWwuSaAsxXidDhLljJHtOKxrRoOXwWDdkGTFCcfaAdPpHhDtgmCCccMmMQqqQUuOoIivVUKkuCcKHDdsShDdkMmoTLsSlRrZsSzfJjFhLlHiCcIZmZfaAFMmxkKOoXYLlyjjJWwkKsbByYSIiSRDdVEeDdvrsJzpPyaMMmmAUmrRMuOoqQPpZzWsiHhUBbuIioyYkfFKOwBDffFFdTtarRzZAhHAaylLYSvggGbBGjJjJrRrhHaAFfdhHDRcCVoOiIkKsdDlLzdqlLWfFwqQbBbUXxuHhkhHKcBWwWwSuRwWrVMnxDdXpkKPIiwWIiiwWImhHmMqaAcsOnAFhiIHfaJCcOoeXxsStoMmOTziIvVJjZuSsoOUTtUZzuUueLlETtzZfQqzZFWIhHiKkaABbzZkKwboOBiCcFfIOoPMmpQqKqQkEzsxcClkboOUuBRrKLXmMSfNnFZmMMFJjfmFfVvjlLtMlLILlirIihHRTtxXfvVaAFpPsSwxKkNnXiItGzZMmcCFzZwWfuUsStjCckKJTOLlonqQRrSsUaFfAfbBnaANUueOoEXxlSsBbdFfoOaAVvCcCcfpPbBdDSYylLsVtTGgGvDdcwWkKCBamMkpPKpQFfqjDdzZXjxZGOoBbuUgyBbWwxXBbkKOoYeETtDnNHbBjJvEevvRrVkKVuUcfFVviICJMmeRrEjOocEeHPphXiQsSNnqCxXqQqQuUcPpMLkKMmlmeEaAXOoNnxXuUvVKwVvWxXRAlJjLTDvVdZcCyFfSsFJjPpaAgVDdvGzQUuXdDxXKkxqQuRmMWwrUqDdfFuUMeESsqrRQKkxXaWNnDdAMZzmCcnNeEpKHXxhSBbdDsjJkNnhNnWwHfFBbPNhHbBwWnbBYOoTtZzBbSsaAZzmMJDkZzKbkKBdnEpPeNjyeEgGpPohHOfFNnigYSsvPqQbBppPPpoGaABbTtZzgXtcCTTtbBRFfqQrwotTOsSWzZrRXXxYWwyxFfeLleMFIFfXxifmEEAawtrRTWCcGAaGgRFfdDUurIDdyYivXAaeECHhmMrDjJdRevDWwDXxddeEyIizZxYyXFcCfYVBNnyYiUuUuIyfFEeiIYUDxXduJjmMaAaoOiIgGAbQqNnHhuUuKoOjJpPCgGckuPpOqZzQosFCcfYyMAIiSpPsNniIaiImPpXxSBblLQdDnNuUSsLOoluDdjCCcckKJEefFHvwWoDJKRkKrxXkigfxXFGIMUumiuUmMIoXxORrmsStTMjrRSdjtTJyYMmiIqQbBNnPfFpuUGsYTHhtysSSEgGokKMPpcCmNGgnnNOjJTtdDYysSBYyXzZjeszVXxvhHhHzZdyWwYDNhOohqWHhwcCcCOLliiIIoWwXxwLlLlWtUwGgWjRriIJuafFosSpPpPfFbuUUuGghHGgkFZPpSDdscHhRPpiIsSruUzZlLCtTcYyCMmyYRrzXfeZzEceECNdDXxndDdDFfbZQqTtqQuUupPUzSsaAGUuRrgVtxXTmMmNWEewoOnMvUuBlqSsQLOoLnZzLZYyjqQJzYTyYtgGNnMmyXxezZEWMEemtDdNnOorRuNnhDeEdmFOokKyYffZzUcCuFTLlRFfrkKtVaAuUVvvcCyVvXEexYwRrjdYyDzRrZJkAVvabBwkKWSsWnNwFrRMmpQqPfQqKWDCgGcCcxSsXhHEegIiHFfhpOOooEeJuUjPGgCcsSkKABgGGvaAVwTtWgbXxfFiIUpPieEHhCcuMmAaUIVLlBbrOqQeQqLlEbdDBFfouUdkKDUuFHhvLlVuUiNGZNnzfFgniIRlLAnNuyYbBiIUiIcCunqQNHoOJjhPpsWQqoOgGPjJpiIyYLlfweEKaAkWLlBbIiZzKnNkFMmykKdMmDhHYwDMmdfFdrReEDYFBYylkdTtzZbBPzZGgpplLOoVwWvoNuxZikKAaIKkpPaAwlErRexiIXLWzUHhuztTZjJsOIioSptTPVWwdOoDvWwuyYeEPptdeEyYDTUnNpBSssSpPeEbOoPSsXCccYjZzqQWwJyIeEiEKkTyYteIjJzZFGgfiEeKkCDdaMmPpYhHfFyYkKcCyiIAdDsxXSPpZzAkBbFmYyqQRrnNZzVvMEbBnNezHheEWWtJqrRQjDrSsRlLdsSGAajKkJbBPpgLlgDdZZzbBzGTEebBcCeEVvwOoOoVsljJoOCYycLAqQWwaqHhQQqcCCCcdoFVQquRrCyYcUvfObBsSoOpqQPKWyYwwWWlLIodDOitDTfFtjLlJuoMmTFfTWwbjXcIiRTtzZrTtcmMrRCrRmMIiPRXxeEXxrnNFfDdpbzdDOqQokKouYyxXOoUuUOeEmMlLlLbBbBZzUuvwWMmQqfYOoyFfFLlTSsvlLwWCcVhHgGtYyVQRroQqbBOsgGSkKrhHSsIQqiSsgGMmRqQdkKFvVfjJzmDdMZCcUuNnqQNUunDqRruUqQbYyEeYyBzuAanHhvFhkKHfSszZLlOLuUlnvVqBZzbQmMLzZyYloRrAOozZUuXxaSTtyYsVnNSskKpKxXYUuCSscykfFvVPmYthHTyMvHhylLSqQLFflWmMKkXxBCcAaPpZLlYvVUuqQHAKkahYyykcCOoKcCSszTJjtfFhkjIiJKTtkaAVvKKfFkPxWwpwiIJjWPaAMvViILlFgGfDdmgGIFfSsQqiTtdDspPHhSQRrKkFZHAfFahzLAallLfqnqQNIiIdDiXGgiNnIiIdxMmXDpZFLNnlflUqQJjuBboOZTNneEGgtdsuFodDPpoOBbkURruAaKXxzRrZnNOVbBjJoNqQnNSrRslLOojNnBSsbsScCTtJKknJjMmOXZzxfFqQzZoOtTcCZeEHlLhyOoYpPkKJjPpwuUQquuUUwyrRFiIlLfdQqDYpPpPtTouUOSsKkWIitTZzfQPpIipPpPqeRrGBbMvVtrZTXxiItzDdRVvHuUdrRDJJjmMDdFfatjAhHaWwJHhsIiSdbgGBtTDTAuLlhdDHerOoRGgEUTtMZzmuZzlRrLHhZzPpamJKkaAjMfFdDAWwHioOzZqQbBVvcCIJjYUuyhUMmPqQCHhviIzZVDdKkczZdDKpPXxaLlJdDnNjaVvAZTtztTsTdDtSEeFfMIimAtrSsRTZzxXyZznNgMogGOmGYywWkbBvVOoBagGAhHwWRrxXSiIsVEojJfFOFlUuFfpPCcwWuULQIiqBbUuKjJcCkZrRdDfFQJjqzzZQEnNeEzZfFDpPdcCemMqEXxZzNnxXeoOYyQhHqoeywWYEekKCrRcrRfFBbmIifkKFAaeoeEOGgZzWpXxPRrwZLgGxXlLlzDdZzsfFSEgGsSCxXbBUucLlMpnNigqQWwMHhiICUrRuiIQqzZzPpZcDCcdlLaAmRrreERFVvfyXMmeEeExsSsTtSdPOopKkBbDnKIikCclLIitTLPplLlNHbBRcCrtThYGyYGUTtZzcCvJjLlVuHoOhSswWRfFrggGZKasSAkWPprRzZrNnDdwWyqzZsSQwWYWnBbTZztNFmMfwsSRQuUHjJhqrRjJgkKGqQcWwYyZzPpTtehsYySHlRryFfYLEkiSOohuUHDdnZzYyTteENYCcyzZShHDdsOdDogGNnoOsEMmeYpPyYKaJjAVvRrkCMmTxXtcfFyFfVvmMrFiIffMmFPpoKkOEeMmRIRJjrUuvVrReENPpWwWwnKSsePpzZEMAamkNDdnQLlqwOoWfLlGgFkuUKiEeNnIAaBNnbpPEvVLiIlebkKBJjmMVJjFfgZzwWSYwWyrRXxsoyhHYTtOIixXxXxXnNivNnYyVISkDRRrrOWwdDodvVZcCvVzCcBbVvKmWwMPDdHhAaYypKkPpPFnKkEeEeNfvVYyBbOoBbpPGBbtTgrRpRrZDdzsiIZeEvVqQBbpPqIimsSMmMXxaAQChHchHaAHiIhOoaqQAwWJGgjbfFWwxXnpfFEePEeNwWBkKBbXkeEKysXxSrRUuYQqxuUZJjXxZmMzepPnNkKTtmYyMBoObSsmLlMEecCEJZzjPpqQlLNntVeEvmMdrBbROUuokZzKDduUDJjLlyYJaxRzZrXtTAUZzunJjxXpPNjXxwWlfFzqQLlTtZcCXdDRrxXvVxaAqQtTSsJjvVJjvXxpjJPFfhHVLlYyvVUujpPqunNaAqQcCAazZPpdRrDsSdDdhgNnGHofFONZzQqnIjFfJTtfFiVvDJjUCcgGjBbJQyYJTtdDNIIiSspTtPiRrPpnKOoBbUyYzKkZbaAeEBZIizGWwgLliaAIiIaAxXOounNPpdVvDNnVvHrhkSQqLlsOnNwGgWuUsSoyqQYzZqQyYbLlBPHdDhpPtvVYyTJLsSljEwWepJVvfEUupyYiIEehHwWPGqQqiIQxXgeLSslLWwlhFfAaHFzmMVvcCIYySQqsRriDdIiZnNNnHhnNjyYLlLpPmMnHhNyYSwWovlLVbBEWwtTpPejJnNHhjJiIeLlEcCOhFfjuUeuUEJWVvwaAJjwWzZpsdDSPHLsSfFlhtTHeVvSsIidGgDZzEFUufJjLmfFMlnQqNsBIiZzbMkKxMmXmWwQlutyYTyYKkULTtmgGMxYyuUXqymZYyBbzGgMNnrRCnNcsSYyYrwWRWYywtTlEeLxXsqQScCWwTtiIUCcuvVI";
function part1(input) {
return input
.split("")
.reduce((a,c) => (Math.abs(a.codePointAt(a.length -1) - c.codePointAt(0)) == 32 ? a.substring(0, a.length -1) : a + c ))
.length;
}
function part2(input) {
return input
.toLowerCase()
.split("")
.uniq()
.reduce((a,c) => {
var base = c.codePointAt(0);
var upper = String.fromCodePoint(base - 32)
a.push(input.replace(new RegExp(String.fromCodePoint(base) + "|" + upper, 'g'), ''))
return a;
}, [])
.map((a) => part1(a))
.sort((a,b) => a-b)[0]
}
advent.test(part1, 'dabAcCaCBAcCcaDA', 10);
advent.run(part1, input);
advent.test(part2, 'dabAcCaCBAcCcaDA', 4);
advent.run(part2, input);